Steam: errore libGL: nessun fbConfigs o elementi visivi corrispondenti trovato errore libGL: impossibile caricare il driver: swrast


37

Se faccio clic sull'app desktop di "Steam", non succede nulla.

L'esecuzione steamnel terminale produce quanto segue:

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

La cosa interessante è che se cambio il mio driver GPU su xorg, funziona perfettamente.

Cosa posso fare per farlo funzionare? Ha smesso di funzionare dopo l'ultimo aggiornamento di Steam (36 ore fa).

Ho provato a disinstallare nvidia sudo apt-get remove nvidia*e a reinstallare il driver, ma senza fortuna.

Risposte:


52

Ubuntu 16.04+ Per chiunque abbia ancora lo stesso errore, se stai usando il driver nvidia, a volte vedrai che libGL.so.1 punta a libGL ambiguo fornito sia da mesa che da nvidia. Per verificarlo, puoi eseguire questo comando

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

L'output era qualcosa del tipo:

    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

Ora dovevo solo rimuovere la libreria fornita da MESA e tutto ha funzionato perfettamente.

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

Aggiornamento: questo problema non esiste più da Ubuntu 18.04 LTS.


11
Amico, ti meriti un biscotto enorme.
Aritz Lopez,

2
Questa è la risposta corretta
Colonder

2
su debian 9, ho rimosso questo e ha funzionato, ma nessuna menzione di "mesa", tuttavia, "dpkg -S libGL.so.1" fornisce un suggerimento su quale rimuovere. Quindi: rm /usr/lib/i386-linux-gnu/libGL.so.1 E goditi il ​​tuo cookie :)
FabricioFCarv

4
Questo problema persiste il 18.10
QkiZ il

4
Dopo aver aggiornato Linux Mint dalle 18 alle 19 ho avuto questo problema. Ho dovuto rimuovere /usr/lib/i386-linux-gnu/libGL.so.1 Grazie Zobayer Hasan per il tuo aiuto!
Kayo,

7

Il sottosistema Windows per Linux (WSL) presenta lo stesso errore

Nel sottosistema Windows per Linux (WSL) in Windows 10 il file /usr/lib/i386-linux-gnu/mesa/libGL.so.1non esiste. Invece c'è il file /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1sembra sostituirlo. Tuttavia, se si elimina il file sostitutivo, la libreria non funziona affatto.

Rinomina libreria quindi ridenominazione risolve il problema

Se rinomini il file e poi lo rinomini, gli errori scompaiono e funziona molto più velocemente:

───────────────────────────────────────────────────────────────────────────────
rick@alien:/mnt/e/etc$ lock-screen-timer
Linux version 4.4.0-43-Microsoft (Microsoft@Microsoft.com) (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 (Microsoft@Microsoft.com) (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 (Microsoft@Microsoft.com) (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$

Ho verificato che la modifica è persistente, ovvero chiudere la finestra del terminale WSL e aprire una nuova finestra.

Cosa sta usando la libreria?

La libreria è utilizzata dai yadnella lock-screen-timer script bash aggiornato con il supporto ibrido per il WSL, oltre a Ubuntu. Yad è un fork del Zenitymotivo per cui vedi il Gtk-Message:riferimento simile allo Zenity nel terzo messaggio di errore sopra.

Ecco yadcome appare la finestra in Ubuntu (in WSL è leggermente diversa):

Blocco schermo timer


Questo non ha funzionato per me - anche se non sto usando il blocco schermo-timer
Eric

lock-screen-timerè solo un esempio di uno script che chiama la GUI. Puoi usare gedit.
WinEunuuchs2Unix

Certo, me ne rendo conto. Il mio punto è che la mia applicazione ( rqt) potrebbe invocare la GUI in un modo diverso, il che potrebbe essere il motivo per cui non riesce ancora dopo aver provato la correzione
Eric

Hm. Per me gnome-terminal genera lo stesso avviso, ma anche senza rinominare nulla, l'avviso scompare quando si avvia una seconda istanza di gnome-terminal. Non è forse il caso anche della tua "soluzione"?
Jan-Glx,

Questo non ha funzionato anche per me
Tropilio il

2

Questo potrebbe essere un problema del driver NVIDIA, secondo un problema di Steam per Linux .

Nel mio caso, ho installato SuperTuxKart tramite flapak, quando l'ho eseguito, ho riscontrato i seguenti errori:

..:: 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

La mia soluzione è:

  1. Controlla il driver nvidia sul mio sistema

ubuntu-drivers devices

Si è nvidia-driver-430già installato.

  1. In base al problema di Steam for Linux , installare nvidia-driver-418per sostituirenvidia-driver-430

sudo apt install libnvidia-gl-418

Ha richiesto la mancanza di dipendenza libnvidia-compute-418, quindi installa libnvidia-compute-418prima.

sudo apt install libnvidia-compute-418

poi

sudo apt install libnvidia-gl-418

  1. Riavvio del sistema.

Quindi ho eseguito SuperTuxKart , ha funzionato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.