it-swarm.com.de

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

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

Wenn Sie Steam im Terminal ausführen, erhalten Sie Folgendes:

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 xorg ändere, es perfekt funktioniert.

Was kann ich tun, damit es funktioniert? Nach dem letzten Steam-Update (vor 36 Stunden) funktionierte es nicht mehr.

Ich habe versucht, nvidia - Sudo apt-get remove nvidia* zu deinstallieren und den Treiber erneut zu installieren, aber ohne Erfolg.

34
cbll

buntu 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

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

50
Zobayer Hasan

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

In Windows Subsystem für Linux (WSL) unter Windows 10 ist dort die Datei /usr/lib/i386-linux-gnu/mesa/libGL.so.1 nicht vorhanden. Stattdessen scheint die Datei /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 sie 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:

───────────────────────────────────────────────────────────────────────────────
[email protected]:/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.
───────────────────────────────────────────────────────────────────────────────
[email protected]:/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
───────────────────────────────────────────────────────────────────────────────
[email protected]:/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
───────────────────────────────────────────────────────────────────────────────
[email protected]:/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
───────────────────────────────────────────────────────────────────────────────
[email protected]:/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
───────────────────────────────────────────────────────────────────────────────
[email protected]:/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
───────────────────────────────────────────────────────────────────────────────
[email protected]:/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.
───────────────────────────────────────────────────────────────────────────────
[email protected]:/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 yad im Bash-Skript Lock-Screen-Timer verwendet, das zusätzlich zu Ubuntu mit Hybrid-Unterstützung für WSL aktualisiert wurde. Yad ist eine Abzweigung von Zenity, weshalb Sie die Zenity-ähnliche Gtk-Message: Referenz in der dritten Fehlermeldung oben sehen.

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

Lock Screen Timer

7

Dies könnte ein Problem mit dem nvidia-Treiber sein, das sich aus einem Steam-for-Linux-Problem ergibt.

In meinem Fall habe ich SuperTuxKart über flapak installiert. Als ich es ausgeführt habe, bin ich auf folgende Fehler gestoßen:

..:: 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 ist bereits nvidia-driver-430 installiert.

  1. Installieren Sie gemäß dem Steam-for-Linux-Problemnvidia-driver-418, um nvidia-driver-430 zu ersetzen

Sudo apt install libnvidia-gl-418

Es wurde darauf hingewiesen, dass es keine Abhängigkeit von libnvidia-compute-418 gibt. Installieren Sie daher zuerst libnvidia-compute-418.

Sudo apt install libnvidia-compute-418

dann

Sudo apt install libnvidia-gl-418

  1. System neu starten.

Dann lief ich SuperTuxKart , es hat funktioniert.

1
Yong Yang