70 votes

Steam : erreur libGL : Aucun fbConfigs ou visuel correspondant n'a été trouvé erreur libGL : échec du chargement du pilote : swrast

Si je clique sur l'application de bureau de "Steam", rien ne se passe.

Running steam dans le terminal donne le résultat suivant :

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

Ce qui est intéressant, c'est que si je change le pilote de mon GPU pour xorg il fonctionne parfaitement.

Que puis-je faire pour que ça marche ? Il a cessé de fonctionner après la dernière mise à jour de Steam (il y a 36 heures).

J'ai essayé de désinstaller nvidia - sudo apt-get remove nvidia* et réinstaller le pilote, mais sans succès.

68voto

umbersar Points 549

Ubuntu 16.04+. Pour ceux qui obtiennent toujours la même erreur, si vous utilisez le pilote nvidia, vous verrez parfois que libGL.so.1 pointe vers une libGL ambiguë fournie par tabla et nvidia. Pour tester cela, vous pouvez exécuter cette commande

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

Le résultat était quelque chose comme :

    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

Il ne me restait plus qu'à supprimer la bibliothèque fournie par tabla et tout fonctionnait parfaitement.

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

Mise à jour : Ce problème n'existe plus depuis Ubuntu 18.04 LTS.

29voto

Stan S. Points 447

Dans mon cas, j'ai dû installer les pilotes NVIDIA i386. Cela a fonctionné par la suite.

sudo apt install libnvidia-gl-440:i386

Passez une excellente journée !

15voto

WinEunuuchs2Unix Points 91128

Le sous-système Windows pour Linux (WSL) présente la même erreur

Dans le sous-système Windows pour Linux (WSL) sous Windows 10, il y a le fichier /usr/lib/i386-linux-gnu/mesa/libGL.so.1 n'existe pas. A la place, il y a le fichier /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 semble le remplacer. Cependant, si vous supprimez le fichier de remplacement, la bibliothèque ne fonctionne pas du tout.

Renommer la bibliothèque puis la renommer à nouveau résout le problème

Si vous renommez le fichier, puis le renommez à nouveau, les erreurs disparaissent et le système fonctionne beaucoup plus rapidement :

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$

J'ai vérifié que le changement est persistant, c'est-à-dire que je ferme la fenêtre du terminal WSL et ouvre une nouvelle fenêtre.

Qu'est-ce qui utilise la bibliothèque ?

La bibliothèque est utilisée par yad dans le verrouiller-écran-timer bash script mis à jour avec un support hybride pour WSL en plus d'Ubuntu. Yad est un fork de Zenity c'est pourquoi vous voyez le style Zenity Gtk-Message: dans le troisième message d'erreur ci-dessus.

Voici ce que le yad ressemble à celle d'Ubuntu (dans WSL, c'est légèrement différent) :

Lock Screen Timer

5voto

Yong Yang Points 81

Il pourrait s'agir d'un problème de pilote nvidia. problème de la vapeur pour Linux .

Dans mon cas, j'ai installé SuperTuxKart par le biais de flapak Lorsque je l'ai exécuté, j'ai rencontré les erreurs suivantes :

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

Ma solution est la suivante :

  1. Vérifier le pilote nvidia sur mon système

ubuntu-drivers devices

Il a nvidia-driver-430 déjà installé.

  1. Selon le problème de la vapeur pour Linux problème, installation nvidia-driver-418 pour remplacer nvidia-driver-430

sudo apt install libnvidia-gl-418

Il a incité qu'il manque la dépendance de libnvidia-compute-418 alors il suffit d'installer libnvidia-compute-418 d'abord.

sudo apt install libnvidia-compute-418

puis

sudo apt install libnvidia-gl-418

  1. Redémarrer le système.

Puis j'ai couru SuperTuxKart ça a marché.

2voto

Christian Fritz Points 272

Dans mon cas, le problème était que j'avais activé certaines sources CUDA apt qui avaient installé le pilote 440 nvidia et les outils. Une fois que j'ai désactivé cela et installé la dernière version du pilote nvidia (435), tout le reste a été installé et l'erreur a disparu.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X