web-dev-qa-db-fra.com

Steam ne démarre pas sous Ubuntu 16.04

Après la réinstallation, les mises à jour téléchargées ne démarrent même pas à partir du terminal. C'est le message d'erreur que cela donne:

Running Steam on ubuntu 16.04 32-bit  
Steam_RUNTIME is enabled automatically  
[2016-04-25 09:12:35] Startup - updater built Mar 31 2016 19:10:48  
SteamUpdateUI: An X Error occurred  
X Error of failed request:  BadValue (integer parameter out of range for operation)
19
Henry Wayat

J'ai eu le même problème, que j'ai pu résoudre en suivant les instructions de http://ubuntuforums.org/showthread.php?t=2275526 :

C'est un problème avec Steam et Ubuntu 15.04. 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.

Il existe un bogue ouvert dans Steam github. La solution de contournement 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 similaire. Alors entrez ces dossiers et faites ceci

Code:

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

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

Edit: Les étapes du fil de discussion ont déjà été citées de Problème lors de l’installation de Steam sur Ubuntu 15.04 + , vous pouvez donc y accéder pour plus de détails, au cas où ces instructions ne suffiraient pas à résoudre votre problème.

43
balver

La réponse ci-dessus était correcte pour moi bien que le chemin d'accès aux fichiers ne soit pas tout à fait le même lorsque j'essayais de faire fonctionner Steam le 16.04, le chemin dont j'avais besoin était

~/.Steam/bin/Steam-runtime/i386/usr/lib/i386-linux-gnu

De plus, après la première mise à jour, je devais le refaire sinon, la mise à jour ne serait toujours pas effectuée.

5
Nick

Au lieu de supprimer libstdc ++, commencez par rechercher si cette erreur est provoquée par des liens symboliques ambigus libGL.

Reportez-vous à mon autre réponse qui a également fonctionné pour moi résoudre ce problème https://askubuntu.com/a/903488/364084

Je vais coller le contenu ici:

Si vous utilisez le pilote nvidia, vous verrez parfois que libGL.so.1 pointe sur libGL ambigu fourni par mesa et nvidia. Pour tester cela, vous pouvez exécuter cette commande

$ Sudo ldconfig -p | grep -i gl.so

La sortie était quelque chose comme:

    libwayland-egl.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1
    libftgl.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libftgl.so.2
    libcogl.so.20 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcogl.so.20
    libQt5OpenGL.so.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
    libQtOpenGL.so.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4
    libQtOpenGL.so.4 (libc6) => /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
    libOpenGL.so.0 (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so.0
    libOpenGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so
    libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so.1
    libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1
    libGL.so.1 (libc6) => /usr/lib32/nvidia-378/libGL.so.1
    libGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so
    libGL.so (libc6) => /usr/lib32/nvidia-378/libGL.so
    libEGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so.1
    libEGL.so.1 (libc6) => /usr/lib32/nvidia-378/libEGL.so.1
    libEGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so
    libEGL.so (libc6) => /usr/lib32/nvidia-378/libEGL.so

Maintenant, je devais simplement retirer la bibliothèque fournie par mesa et tout fonctionnait parfaitement.

$ Sudo rm /usr/lib/i386-linux-gnu/mesa/libGL.so.1
3
Zobayer Hasan

la résolution de balver a fonctionné, cependant, le répertoire est légèrement différent de ce qui a été posté. Voici la séquence de commande telle que je l'ai tapée:

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
0
Skotizo