Steam: error de libGL: no se encontraron fbConfigs o imágenes coincidentes Error de libGL: error al cargar el controlador: swrast

37

Si hago clic en la aplicación de escritorio de "Steam", no pasa nada.

Ejecutar steamen terminal produce lo siguiente:

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

Lo interesante es que si cambio mi controlador de GPU xorg, funciona perfectamente.

¿Qué puedo hacer para que funcione? Dejó de funcionar después de la última actualización de Steam (hace 36 horas).

Intenté desinstalar nvidia sudo apt-get remove nvidia*y reinstalar el controlador, pero sin suerte.

cbll
fuente

Respuestas:

52

Ubuntu 16.04+ Para cualquiera que siga recibiendo el mismo error, si está usando el controlador nvidia, a veces verá que libGL.so.1 apunta a libGL ambiguo proporcionado por mesa y nvidia. Para probar esto, puede ejecutar este comando

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

El resultado fue algo así como:

    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

Ahora solo necesitaba eliminar la biblioteca proporcionada por mesa y todo funcionó perfectamente.

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

Actualización: Este problema ya no existe en Ubuntu 18.04 LTS.

Zobayer Hasan
fuente
11
Hombre, te mereces una gran galleta.
Aritz Lopez
2
Esta es la respuesta correcta
Colonder
2
en Debian 9, eliminé este y funcionó, pero sin mencionar "mesa", sin embargo, "dpkg -S libGL.so.1" da una sugerencia sobre cuál debería eliminar. Entonces: rm /usr/lib/i386-linux-gnu/libGL.so.1 Y disfruta tu cookie :)
FabricioFCarv
44
Este problema persiste el 18.10
QkiZ
44
Después de actualizar Linux Mint de 18 a 19 tuve este problema. Tuve que eliminar /usr/lib/i386-linux-gnu/libGL.so.1 ¡Gracias Zobayer Hasan por su ayuda!
kayo
7

El subsistema de Windows para Linux (WSL) tiene el mismo error

En Windows Subsystem for Linux (WSL) en Windows 10, el archivo /usr/lib/i386-linux-gnu/mesa/libGL.so.1no existe. En cambio, está el archivo /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1parece reemplazarlo. Sin embargo, si elimina el archivo de reemplazo, la biblioteca no funciona en absoluto.

Cambiar el nombre de la biblioteca y cambiar el nombre de nuevo resuelve el problema

Si cambia el nombre del archivo y luego lo cambia, los errores desaparecen y funciona mucho más rápido:

───────────────────────────────────────────────────────────────────────────────
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$

Verifiqué que el cambio es persistente, es decir, cierre la ventana del terminal WSL y abra una nueva ventana.

¿Qué está usando la biblioteca?

La biblioteca se usa yaden el script bash de bloqueo de pantalla-temporizador actualizado con soporte híbrido para WSL además de Ubuntu. Yad es una bifurcación, por Zenitylo que ves la Gtk-Message:referencia similar a Zenity en el tercer mensaje de error anterior.

Así yades como se ve la ventana en Ubuntu (en WSL es ligeramente diferente):

Temporizador de pantalla de bloqueo

WinEunuuchs2Unix
fuente
Esto no funcionó para mí, aunque no estoy usando el temporizador de bloqueo de pantalla
Eric
lock-screen-timeres solo un ejemplo de un script que llama a la GUI. Podrías usar gedit.
WinEunuuchs2Unix
Claro, me doy cuenta. Mi punto es que mi aplicación ( rqt) podría estar invocando la GUI de una manera diferente, lo que podría ser la razón por la que todavía falla después de intentar su solución
Eric
Hm. Para mí, gnome-terminal arroja la misma advertencia, pero incluso sin renombrar nada, la advertencia desaparece al iniciar una segunda instancia de gnome-terminal. ¿No es ese el caso quizás para su "solución" también?
enero-glx
Esto tampoco funcionó para mí
Tropilio
2

Esto podría ser un problema del controlador nvidia, de acuerdo con un problema de steam-for-linux .

En mi caso, he instalado SuperTuxKart través flapak, cuando me encontré con él, me encontré siguientes errores:

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

Mi solución es:

  1. Verifique el controlador de nvidia en mi sistema

ubuntu-drivers devices

Ya se ha nvidia-driver-430instalado.

  1. De acuerdo con el problema de steam-for-linux , instale nvidia-driver-418para reemplazarnvidia-driver-430

sudo apt install libnvidia-gl-418

Indicó que carece de dependencia de libnvidia-compute-418, así que solo instale libnvidia-compute-418primero.

sudo apt install libnvidia-compute-418

luego

sudo apt install libnvidia-gl-418

  1. Reiniciar el sistema.

Luego ejecuté SuperTuxKart , funcionó.

Yong Yang
fuente