Steam: Ошибка libGL: Не найдено подходящих fbConfigs или визуальных элементов Ошибка libGL: не удалось загрузить драйвер: swrast

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

Бегущий steam в терминале выдает следующее:

STEAM_RUNTIME is enabled automaticallyInstalling breakpad exception handler for appid(steam)/version(1474415843)libGL error: No matching fbConfigs or visuals foundlibGL error: failed to load driver: swrast

Что интересно, так это то, что если я изменю свой драйвер графического процессора на xorg, это работает отлично.

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

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

Ubuntu 16.04+Для тех, кто все еще получает ту же ошибку, если вы используете драйвер 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

Обновление:Эта проблема больше не существует в Ubuntu 18.04 LTS.

В моей ситуации мне пришлось установить драйверы NVIDIA i386. После этого это сработало.

sudo apt устанавливает libnvidia-gl-440:i386

Хорошего вам дня!

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

В подсистеме Windows для 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-timerLinux version 4.4.0-43-Microsoft (Microsoft@Microsoft.com) (gcc version 5.4.0 (GCC) ) #1-Microsoft Wed Dec 31 14:42:53 PST 2014libGL error: No matching fbConfigs or visuals foundlibGL error: failed to load driver: swrastGtk-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.1rm: 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-timerLinux 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-timerLinux version 4.4.0-43-Microsoft (Microsoft@Microsoft.com) (gcc version 5.4.0 (GCC) ) #1-Microsoft Wed Dec 31 14:42:53 PST 2014Gtk-Message: GtkDialog mapped without a transient parent. This is discouraged.───────────────────────────────────────────────────────────────────────────────rick@alien:/mnt/e/etc$

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

Что использует библиотеку?

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

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

Lock Screen Timer

Это может быть проблема с драйвером nvidia, согласно проблема steam-for-linux.

В моем случае я установил Супертукскарт через flapak, когда я запустил его, я столкнулся со следующими ошибками:

..:: Antarctica Rendering Engine 2.0 ::..Linux 4.15.0-52-generic #56-Ubuntu SMP Tue Jun 4 22:49:08 UTC 2019 x86_64libGL error: No matching fbConfigs or visuals foundlibGL error: failed to load driver: swrast

Мое решение таково:

  1. Проверьте драйвер nvidia в моей системе

ubuntu-drivers devices

Оно имеет nvidia-driver-430 уже установлен.

  1. Согласно проблема steam-for-linux проблема, установите nvidia-driver-418 для замены nvidia-driver-430

sudo apt install libnvidia-gl-418

Это подсказало, что у него отсутствует зависимость от libnvidia-compute-418, так что просто установите libnvidia-compute-418 первый.

sudo apt install libnvidia-compute-418

затем

sudo apt install libnvidia-gl-418

  1. Перезагрузить систему.

Затем я побежал Супертукскарт, это сработало.

В моем случае проблема заключалась в том, что я включил некоторые источники CUDA apt, которые установили драйвер и инструменты 440 nvidia. Как только я отключил это и установил последнюю на тот момент версию драйвера nvidia (435), он установил все остальное необходимое, и ошибка исчезла.