Steam: libGL-Fehler: Keine passenden fbConfigs oder Visuals gefunden libGL-Fehler: Fehler beim Laden von Treiber: swrast

37

Wenn ich auf die Desktop-App von "Steam" klicke, passiert nichts.

Das Ausführen steamim Terminal führt zu folgenden Ergebnissen:

STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(1474415843)
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast

Interessant ist, dass wenn ich meinen GPU-Treiber auf ändere xorg, es perfekt funktioniert.

Was kann ich tun, damit es funktioniert? Nach dem letzten Steam-Update (vor 36 Stunden) hat es aufgehört zu funktionieren.

Ich habe versucht, nvidia zu deinstallieren - sudo apt-get remove nvidia*und den Treiber erneut zu installieren, aber ohne Glück.

cbll
quelle

Antworten:

52

Ubuntu 16.04+ Wenn immer noch derselbe Fehler auftritt und Sie den nvidia-Treiber verwenden, werden Sie manchmal feststellen, dass libGL.so.1 auf mehrdeutiges libGL verweist, das sowohl von mesa als auch von nvidia bereitgestellt wird. Um dies zu testen, können Sie diesen Befehl ausführen

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

Die Ausgabe war ungefähr so:

    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

Jetzt musste ich nur noch die von mesa bereitgestellte Bibliothek entfernen und alles funktionierte perfekt.

$ sudo rm /usr/lib/i386-linux-gnu/mesa/libGL.so.1

Update: Dieses Problem existiert ab Ubuntu 18.04 LTS nicht mehr.

Zobayer Hasan
quelle
11
Mann, du verdienst einen riesigen Keks.
Aritz Lopez
2
Dies ist die richtige Antwort
Colonder
2
auf debian 9 habe ich dieses entfernt und gearbeitet, aber "mesa" nicht erwähnt, aber "dpkg-libGL.so.1" gibt einen tipp, den man entfernen sollte. Also: rm /usr/lib/i386-linux-gnu/libGL.so.1 Und genießen Sie Ihren Cookie :)
FabricioFCarv
4
Dieses Problem tritt weiterhin am 18.10.
QkiZ 10.11.18
4
Nach dem Update von Linux Mint von 18 auf 19 hatte ich dieses Problem. Ich musste /usr/lib/i386-linux-gnu/libGL.so.1 entfernen. Vielen Dank Zobayer Hasan für Ihre Hilfe!
Kayo
7

Windows-Subsystem für Linux (WSL) weist denselben Fehler auf

In Windows Subsystem für Linux (WSL) unter Windows 10 ist die Datei /usr/lib/i386-linux-gnu/mesa/libGL.so.1dort nicht vorhanden. Stattdessen /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1scheint dort die Datei diese zu ersetzen. Wenn Sie jedoch die Ersatzdatei löschen, funktioniert die Bibliothek überhaupt nicht.

Bibliothek umbenennen und dann wieder umbenennen behebt das Problem

Wenn Sie die Datei umbenennen und dann wieder umbenennen, verschwinden die Fehler und es funktioniert viel schneller:

───────────────────────────────────────────────────────────────────────────────
rick@alien:/mnt/e/etc$ lock-screen-timer
Linux version 4.4.0-43-Microsoft ([email protected]) (gcc version 5.4.0 (GCC) ) #1-Microsoft Wed Dec 31 14:42:53 PST 2014
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
───────────────────────────────────────────────────────────────────────────────
rick@alien:/mnt/e/etc$ sudo ldconfig -p | grep -i gl.so
        libwayland-egl.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1
        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
        libGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
        libEGL.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/mesa-egl/libEGL.so.1
───────────────────────────────────────────────────────────────────────────────
rick@alien:/mnt/e/etc$ sudo rm /usr/lib/i386-linux-gnu/mesa/libGL.so.1
rm: cannot remove '/usr/lib/i386-linux-gnu/mesa/libGL.so.1': No such file or directory
───────────────────────────────────────────────────────────────────────────────
rick@alien:/mnt/e/etc$ sudo mv /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.ORIGINAL
───────────────────────────────────────────────────────────────────────────────
rick@alien:/mnt/e/etc$ lock-screen-timer
Linux version 4.4.0-43-Microsoft ([email protected]) (gcc version 5.4.0 (GCC) ) #1-Microsoft Wed Dec 31 14:42:53 PST 2014
/usr/bin/zenity: error while loading shared libraries: libGL.so.1: cannot open shared object file: No such file or directory
───────────────────────────────────────────────────────────────────────────────
rick@alien:/mnt/e/etc$ sudo mv /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.ORIGINAL /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
───────────────────────────────────────────────────────────────────────────────
rick@alien:/mnt/e/etc$ lock-screen-timer
Linux version 4.4.0-43-Microsoft ([email protected]) (gcc version 5.4.0 (GCC) ) #1-Microsoft Wed Dec 31 14:42:53 PST 2014
Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.
───────────────────────────────────────────────────────────────────────────────
rick@alien:/mnt/e/etc$

Ich habe überprüft, ob die Änderung dauerhaft ist, dh, ich schließe das WSL-Terminalfenster und öffne ein neues Fenster.

Was nutzt die Bibliothek?

Die Bibliothek wird von yaddem Sperrbildschirm-Timer- Bash-Skript verwendet, das zusätzlich zu Ubuntu mit Hybrid-Unterstützung für WSL aktualisiert wurde. Yad ist eine Abzweigung Zenity, weshalb Sie die Zenity-ähnliche Gtk-Message:Referenz in der dritten Fehlermeldung oben sehen.

So yadsieht das Fenster in Ubuntu aus (in der WSL ist es etwas anders):

Bildschirm-Timer sperren

WinEunuuchs2Unix
quelle
Das hat bei mir nicht funktioniert - obwohl ich keinen Sperrbildschirm-Timer verwende
Eric
lock-screen-timerist nur ein Beispiel für ein Skript, das die GUI aufruft. Du könntest es gebrauchen gedit.
WinEunuuchs2Unix
Klar, mir ist klar. Mein Punkt ist, dass meine Anwendung ( rqt) die GUI möglicherweise auf eine andere Weise aufruft, weshalb sie möglicherweise immer noch fehlschlägt, nachdem Sie Ihr Update versucht haben
Eric
Hm. Für mich gibt gnome-terminal die gleiche Warnung aus, aber auch ohne irgendetwas umzubenennen, geht die Warnung verloren, wenn eine zweite Instanz von gnome-terminal gestartet wird. Ist das nicht auch für Ihre "Lösung" der Fall?
Jan-Glx
Das hat auch bei mir nicht
Francesco Boccardo
2

Dies könnte laut einem Steam-for-Linux-Problem ein NVIDIA-Treiberproblem sein .

In meinem Fall habe ich SuperTuxKart über installiert flapak. Als ich es ausgeführt habe, habe ich folgende Fehler festgestellt:

..:: Antarctica Rendering Engine 2.0 ::..
Linux 4.15.0-52-generic #56-Ubuntu SMP Tue Jun 4 22:49:08 UTC 2019 x86_64
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast

Meine Lösung lautet:

  1. Überprüfen Sie den NVIDIA-Treiber auf meinem System

ubuntu-drivers devices

Es wurde nvidia-driver-430bereits installiert.

  1. Nach dem Dampf-for-Linux - Problem Problem, installieren nvidia-driver-418zu ersetzennvidia-driver-430

sudo apt install libnvidia-gl-418

Es hat dazu geführt, dass es an Abhängigkeit mangelt libnvidia-compute-418, also einfach libnvidia-compute-418zuerst installieren .

sudo apt install libnvidia-compute-418

dann

sudo apt install libnvidia-gl-418

  1. System neu starten.

Dann habe ich SuperTuxKart gestartet , es hat funktioniert.

Yong Yang
quelle