web-dev-qa-db-fra.com

Problème d'installation de Steam sur Ubuntu 15.04+

En fait, j'ai installé le nouvel Ubuntu 15.04 64 bits, et lorsque j'essaie d'installer Steam dessus, il y a un problème. En fait, j'ai téléchargé le paquet deb depuis le site web de Steam, je l'ai installé et quand je le lance rien ne se passe. J'ai essayé de le démarrer depuis le terminal et ce que j'ai

$ Steam
Running Steam on ubuntu 15.04 64-bit
Steam_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(Steam)/version(0_client)
libGL error: unable to load driver: r600_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: r600
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
102
saber hammami

C'était à l'origine un problème avec Steam sur Ubuntu 15.04/15.10. Steam regroupe les anciennes bibliothèques et entre en conflit avec les pilotes mesa, c’est aussi pourquoi les pilotes fermés ne voient pas ce problème. Mise à jour: Il se peut également que vous manquiez certaines choses. Voir la réponse de mchid.

Il y a un bogue ouvert dans le github de Steam .

La solution actuelle consiste à supprimer l'ancienne version de lib, au moins jusqu'à ce que Valve résolve le problème dans son script de démarrage ou quelque chose du genre.

Donc, entrez ces dossiers et faites ceci (ignorez le x86_64 si vous n’avez qu’un système 32 bits):

cd $HOME/.Steam/steam/ubuntu12_32/Steam-runtime/i386/usr/lib/i386-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
cd $HOME/.Steam/steam/ubuntu12_32/Steam-runtime/AMD64/usr/lib/x86_64-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak

Si vous avez un problème avec le répertoire ci-dessus, essayez ceci:

Certaines personnes ont le .Steam/steam/ubuntu12_32, d’autres n’ont que .Steam/ubuntu12_32. Si vous n'avez pas ces dossiers, trouvez le bon emplacement en vérifiant où votre Steam recherche le profil de l'utilisateur:

$ fgrep config=  /usr/games/Steam
config=$HOME/.Steam

Utilisez cela pour trouver votre emplacement lib:

[config value] + /ubuntu12_32/Steam-runtime/i386/usr/lib/i386-linux-gnu
   |
   \-> $HOME/.Steam/ubuntu12_32/Steam-runtime/i386/usr/lib/i386-linux-gnu

Cela a fonctionné pour moi ... mais s'il vous plaît, notez que si un jeu nécessite cette ancienne lib de l'environnement d'exécution de Steam, il risque de planter (c'est pourquoi Valve devrait résoudre ce problème)

Edit 2015-08-22:

Comme Steam a maintenant un lien dans le $HOME/.Steam/root qui pointe toujours vers le bon répertoire d’installation de Steam, cette commande devrait fonctionner pour tout le monde et plus simple pour une solution rapide:

find $HOME/.Steam/root/ubuntu12_32/Steam-runtime/*/usr/lib/ -name "libstdc++.so.6" -exec mv "{}" "{}.bak" \; -print

De plus, n'oubliez pas que sur chaque mise à jour d'exécution de Steam, vous devrez probablement l'exécuter.

Edit 2016-02-16:

Voir aussi la réponse mchid ci-dessous, simplement:

Sudo apt-get install libgl1-mesa-dri libgl1-mesa-dri:i386

pourrait être suffisant pour résoudre ce problème.

Modifiez le 2016-10-23:

Pour ubuntu 16.10 , la commande a été mise à jour pour supprimer davantage de fichiers brisant les pilotes mesa. Cette nouvelle commande devrait donc fonctionner:

find $HOME/.Steam/root/ubuntu12_32/Steam-runtime/*/usr/lib/ \( -name "libstdc++.so.6" -o -name "libgpg-error.so.0"  -o -name "libxcb.so.1" -o -name "libgcc_s.so.1" \) -exec mv "{}" "{}.bak" \; -print

Pour les pilotes sources fermés de NVIDIA , voir la réponse de Vincent ci-dessous.

Modifier le 2017-01-08:

Probablement l'édition finale, la dernière mise à jour de Steam linux devrait résoudre la plupart des problèmes, si ce n'est tous les problèmes! enfin! :RÉ

Edit 2017-08-03:

Malheureusement, en revenant de vacances, il a été constaté que certaines mises à jour récentes avaient à nouveau éclaté dans Steam. Donc, si vous obtenez cela au démarrage, juste après le téléchargement de la mise à jour:

process 23148: arguments to dbus_connection_ref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file dbus-connection.c line 2688.

et puis le crash de Steam, alors vous frappez thisbug , rapporté comme non fatal, mais il bloque Steam sur les mêmes distributions. La solution de contournement est la suivante:

ln -s ${HOME}/.local/share/Steam/ubuntu12_32/Steam-runtime/i386/lib/i386-linux-gnu/libdbus-1.so.3 ${HOME}/.local/share/Steam/ubuntu12_32/Steam-runtime/pinned_libs_32/libdbus-1.so.3

bonne chance

115
higuita

Fastfix (testé sur Ubuntu 15.04)

mv ~/.local/share/Steam/ubuntu12_32/Steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1{,.disable}
mv ~/.local/share/Steam/ubuntu12_32/Steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6{,.disable}
20
itsnikolay

Ce qui suit est tiré de Erreur lors de l’installation de Steam sur ubuntu 15.04 et est de loin la réponse la plus facile à cette question (comme indiqué plus haut par tahtisilma ). J'ajouterais que si vous voulez éviter d'avoir à utiliser le terminal de commande à chaque fois, vous pouvez éditer le fichier du bureau sur votre bureau, en cliquant avec le bouton droit de la souris sur et en sélectionnant les propriétés, puis en remplaçant la commande dans le fichier Suivant:

sh -c "LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 Steam"  

Version courte:

Démarrez Steam dans le terminal en utilisant:

LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 Steam

au lieu de simplement vapeur

Version longue:

Steam ne peut pas ouvrir nouveau_dri.so, la bibliothèque partagée chargée de communiquer avec le pilote graphique. Pour vérifier si le pilote est compatible OpenGL, exécutez:

DISPLAY=:0 glxinfo | grep -i direct

Le résultat devrait être:

rendu direct: Oui Lancer Steam en mode débogage:

DISPLAY=:0 LIBGL_DEBUG=verbose Steam

Nous donne la sortie où les lignes suivantes nous donnent un indice:

libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/nouveau_dri.so
libGL: dlopen /usr/lib/i386-linux-gnu/dri/nouveau_dri.so failed     (/home/user/.local/share/Steam/ubuntu12_32/Steam-   runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6: version `    GLIBCXX_3.4.20' not found (required by /usr/lib/i386-linux-  gnu/dri/nouveau_dri.so))

Il semble que Steam utilise une version différente de libstdc ++. So.6. Permet de vérifier quelle version de Steam utilise:

ls -l ~/.local/share/Steam/ubuntu12_32/Steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6  

 lrwxrwxrwx 1 user user 19 Jul 18  2014  /home/user/.local/share/Steam/ubuntu12_32/Steam-runtime/i386/usr/lib/i386- linux-gnu/libstdc++.so.6 -> libstdc++.so.6.0.18

Donc, Steam a chargé LibC6 avec la version 18 d'ABI, où le pilote s'attend à la version 20. La solution consiste à indiquer au système d'exploitation de précharger la version appropriée de LibC6 à l'aide de la variable LD_PRELOAD:

LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 Steam

Le paramètre $ LIB, quelque peu non intuitif, est étendu dans ld.so au bon chemin en fonction de la plate-forme du processus en cours de démarrage (man 8 ld.so pour plus de détails).

Vous pouvez créer un script avec le contenu suivant pour l'exécuter à la place de Steam:

#!/bin/bash
# Export so all child processes are affected as well
  export LD_PRELOAD='/usr/$LIB/libstdc++.so.6'
  export DISPLAY=:0
#export LIBGL_DEBUG=verbose
Steam

Un meilleur script pourrait vérifier si la version globale de LibC6 est plus récente que celle de Steam_RUNTIME et seulement ensuite LD_PRELOAD.

Plus de détails peuvent être trouvés sur ici . Notez que je l’ai testé sur Debian et maintenant, il a été testé sur Ubuntu vivid 15.04 et fonctionne très bien.

17
miller the gorilla

Cela fonctionne très bien pour moi sous Ubuntu 15.04 64bits avec le pilote propriétaire NVIDIA version 346:

LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib32/nvidia-346/:/usr/lib/nvidia-346/" Steam
8
Vincent

Ceci est une solution simple.

Selon le message d'erreur, il vous manque les fichiers suivants: r600_dri.so et swrast_dri.so

Exécutez les commandes suivantes pour installer ces fichiers manquants:

Sudo apt-get update
Sudo apt-get install libgl1-mesa-dri libgl1-mesa-dri:i386

Le problème devrait maintenant être résolu.

S'il vous plaît poster des erreurs supplémentaires.

7
mchid

Ces deux lignes de le commentaire de menasheh sur le problème de github fonctionnent avec Ubuntu 15.10:

export LD_PRELOAD='/usr/$LIB/libstdc++.so.6'
export DISPLAY=:0

Notez que si Steam se met à jour, vous devrez peut-être entrer à nouveau ces lignes.

1
Chris McFarland

Correctif pour Ubuntu 16.04, Xenial Xerus, 64 bits

Je n'ai que ce problème avec Steam depuis la mise à niveau vers 16.04, il a bien fonctionné le 14.04. J'ai essayé tous les correctifs ci-dessus pour les anciennes versions d'Ubuntu.

La deuxième partie de cette solution a fonctionné pour moi.

$ Sudo dpkg --add-architecture i386
$ Sudo apt-get update
$ Sudo apt-get install wget gdebi libgl1-mesa-dri:i386 libgl1-mesa-glx:i386 libc6:i386
$ wget http://media.steampowered.com/client/installer/Steam.deb
$ Sudo gdebi Steam.deb

Maintenant, je lance à nouveau L4D2 dans Ubuntu - excellent!

1
James Bradbury

16.04 et plus tard

IMG:  Steam peut être installé en tant que paquet flatpak dans toutes les versions actuellement prises en charge d’Ubuntu. Ouvrez le terminal et tapez:

Sudo add-apt-repository ppa: alexlarsson/flatpak # required in 16.04 seulement, pas dans les versions ultérieures 
 Sudo apt update 
 Sudo apt installer flatpak 
 flatpak remote-add --if-not-n'existe pas flathub https://flathub.org/repo/ flathub.flatpakrepo 
 flatpak installer flathub com.valvesoftware.Steam

La première commande permettant d'ajouter ppa: alexlarsson/flatpak n'est pas requise dans 18.04 et les versions ultérieures, car le package flatpak se trouve dans les référentiels par défaut.

Steam peut être lancé en cliquant sur son icône dans le tableau de bord ou lancé depuis le terminal à l’aide de la commande suivante:

flatpak run com.valvesoftware.Steam   

De nombreux jeux nécessitent un achat en ligne, mais certains jeux populaires, tels que Team Fortress 2, sont gratuits. Lorsque vous effectuez une recherche dans le magasin, veillez à limiter les résultats en fonction du système d'exploitation SteamOS/Linux. Tous les jeux Linux ne sont pas compatibles avec votre système. Assurez-vous donc de bien connaître la configuration requise avant d'acheter des jeux.

0
karel

Je viens de rencontrer ce problème lors d’une nouvelle installation d’Ubuntu 18.04 LTS. Il s'avère que la version d'exécution de libgcc_s.so.1 sous Steam était la cause. Renommer le fichier a résolu le problème pour moi:

$ cd ~/.Steam/root/ubuntu12_32/Steam-runtime/i386/lib/i386-linux-gnu/
$ mv libgcc_s.so.1 libgcc_s.so.1.bak
0
BrianD