Steam: ошибка libGL: нет соответствующих fbConfigs или визуальных образов найдено ошибка libGL: не удалось загрузить драйвер:

Если я нажму приложение «Steam» на рабочем столе, ничего не произойдет.

Запуск steam в терминале дает следующее:

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

Интересно, что если я xorg свой драйвер GPU на xorg , он отлично работает.

Что я могу сделать, чтобы он работал? Он прекратил работу после последнего обновления пара (36 часов назад).

Я попытался удалить nvidiasudo apt-get remove nvidia* и переустановить драйвер, но не повезло.

Для тех, кто все еще получает ту же ошибку, если вы используете драйвер nvidia, иногда вы увидите, что libGL.so.1 указывает на двусмысленный libGL, предоставляемый как mesa, так и nvidia. Чтобы проверить это, вы можете запустить эту команду

 $ sudo ldconfig -p | grep -i gl.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 

Теперь мне просто нужно было удалить библиотеку, предоставленную mesa, и все сработало отлично.

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

Подсистема Windows для Linux (WSL) имеет такую ​​же ошибку

В Windows Subsystem для Linux (WSL) в Windows 10 файл /usr/lib/i386-linux-gnu/mesa/libGL.so.1 не существует. Вместо этого есть файл /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 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$ 

Я подтвердил, что изменение является постоянным, т. Е. Закрыть окно терминала WSL и открыть новое окно.

Что такое библиотека?

Библиотека используется yad в скрипте bash с блокировкой экрана, обновленном с гибридной поддержкой WSL в дополнение к Ubuntu. Яд является развилкой Zenity поэтому вы видите ссылку Gtk-Message: Zenity-like в третьем сообщении об ошибке выше.

Вот как выглядит окно yad в Ubuntu (в WSL он немного отличается):

Блокировать таймер экрана

Я нашел это сообщение в поисках решения Steam, которое не запускалось в PlayOnLinux. Как только я обнаружил недостающие пакеты, и больше не было ошибок отладки, кроме одного. Эта следующая команда привела Steam к Perk и работает. Мне нужно понять некоторую медлительность на этом новом компьютере, но у другой системы не было этой проблемы с медлительностью.

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