agung@agung-K43SJ:~$ steam
Running Steam on ubuntu 15.04 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(0)
libGL error: unable to load driver: nouveau_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: nouveau
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
Zuvor habe ich auch versucht, Steam über das Terminal zu installieren, aber es startete nicht, nachdem ich das Update heruntergeladen hatte.
Kann mir jemand helfen, eine Lösung zur Installation von Steam zu finden?
Antwort1
Kurzfassung:
Starten Sie Steam im Terminal mit:
LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam
statt nursteam
Lange Version:
nouveau_dri.so
Steam kann die gemeinsam genutzte Bibliothek, die für die Kommunikation mit dem Grafiktreiber zuständig ist, nicht öffnen . Um zu prüfen, ob der Treiber OpenGL-fähig ist, führen Sie Folgendes aus:
DISPLAY=:0 glxinfo | grep -i direct
Die Ausgabe sollte sein:
direct rendering: Yes
Steam im Debugmodus ausführen:
DISPLAY=:0 LIBGL_DEBUG=verbose steam
Gibt uns die Ausgabe, wobei die folgenden Zeilen uns einen Hinweis geben:
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))
Es scheint, dass Steam eine andere Version von verwendet libstdc++.so.6
. Schauen wir mal nach, welche Version Steam verwendet:
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
Daher hat Steam LibC6 mit der ABI-Version 18 geladen, obwohl der Treiber die Version 20 erwartet. Die Lösung besteht darin, dem Betriebssystem mithilfe der Variablen mitzuteilen, dass es die richtige LibC6-Version vorab laden soll
LD_PRELOAD
:
LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 steam
Der etwas nicht intuitive Parameter $LIB wird in ld.so basierend auf der Plattform des gestarteten Prozesses auf den richtigen Pfad erweitert (man 8 ld.so für Details).
Sie können ein Skript mit dem folgenden Inhalt erstellen, um es stattdessen auszuführen 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
Ein besseres Skript könnte prüfen, ob die globale LibC6-Version neuer ist als die in STEAM_RUNTIME
und erst dann LD_PRELOAD
's.
Weitere Einzelheiten finden Sie aufHier. Beachten Sie, dass ich es unter Debian getestet habe und es jetzt unter Ubuntu Vivid 15.04 getestet wurde und einwandfrei funktioniert.
Antwort2
Eine andere Lösung, die mir beim Starten des Steam-Clients geholfen hat, wurde hier gefunden -
https://wiki.archlinux.org/index.php/Steam/Troubleshooting
Ich habe diesen Befehl ausgeführt -
find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" -o -name "libgpg-error.so*" \) -print -delete
und jetzt startet Steam ohne zusätzliche Vorinstallationen. Ich hoffe, das hilft allen, die das gleiche Problem unter Ubuntu 16.04 haben
Antwort3
Möglicherweise gcc
sind die Bibliotheken in der Steam-Laufzeitumgebung nicht mit Ihren mesa
Treibern kompatibel.Sichern Sie Ihren Home-Ordner, versuchen Sie dann, diese Bibliotheksdateien zu löschen:
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6
rm ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1
Antwort4
Anscheinend tritt dieser Fehler auf, wenn man versucht, Steam in einem64 BitUbuntu 15.04.
Ich habe auf meinem Rechner eine Neuinstallation von Ubuntu 15.04 durchgeführt. Außerdem habe ich die proprietären Grafiktreiber von NVIDIA installiert.
Ich habe diesen Fehler erhalten, aber nachdem ich genau hingesehen habe, ist mir aufgefallen, dass Steam eine 32-Bit-Anwendung ist. Also habe ich einige 32-Bit-Bibliotheken installiert und den NVIDIA-Treiber neu installiert.Dampfkonnte starten.
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
sudo ./NVIDIA-Linux-x86_64-352.63.run
Wobei der letzte Befehl Ihr Treiberinstallationsprogramm sein sollte.
Wenn das Treiberinstallationsprogramm Sie auffordert, 32-Bit-Bibliotheken zu installieren, klicken Sie auf „Ja“.