Вопрос или проблема
После установки nvidia-375
Steam не работал, поэтому я переустановил его, но это не дало результата. Когда я пытаюсь открыть Steam, я получаю следующую ошибку (с LIBGL_DEBUG=verbose
):
Запуск Steam на ubuntu 16.04 64-bit
STEAM_RUNTIME автоматически включен
Установка обработчика исключений breakpad для
appid(steam)/version(1493162727)
libGL: экран 0 не поддерживает DRI2
libGL: OpenDriver: пытаюсь /usr/lib/i386-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: пытаюсь /usr/lib/i386-linux-gnu/dri/swrast_dri.so
libGL: Не удается открыть конфигурационный файл /home/benedict/.drirc: Нет такого
файла или каталога.
libGL: Не удается открыть конфигурационный файл /home/benedict/.drirc: Нет такого
файла или каталога.
libGL ошибка: Не найдены совпадающие fbConfigs или visual'ы
libGL ошибка: не удалось загрузить драйвер: swrast
В других ответах предлагали удалить libstdc++.so.6
, что я и сделал, так что теперь мой ~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
содержит следующие файлы:
libfreetype.so.6 libxcb.so.1 libXinerama.so.1.0.0
libfreetype.so.6.8.0 libxcb.so.1.1.0 libXrandr.so.2
libstdc++.so.6.0.21 libXdmcp.so.6 libXrandr.so.2.2.0
libX11.so.6 libXdmcp.so.6.0.0 libXrender.so.1
libX11.so.6.3.0 libXext.so.6 libXrender.so.1.3.0
libXau.so.6 libXext.so.6.4.0
libXau.so.6.0.0 libXinerama.so.1
У меня Nvidia Geforce 820M.
Попробуйте, запустите это в контейнере Docker, основанном на моем Dockerfile
https://github.com/allenyllee/server_setup/blob/master/nvidia_docker/Dockerfile_cuda80
Этот Dockerfile основан на официальном образе cuda, модифицирован для запуска всех примеров CUDA с OpenGL, вам нужно использовать nvidia-docker для сборки и запуска.
Это решает мою аналогичную проблему при запуске программы Windows через WINE.
Ответ или решение
Решение проблемы с ошибкой "libGL error: failed to load driver: swrast" в Ubuntu 16.04 при запуске Steam
Если вы столкнулись с ошибкой "libGL error: failed to load driver: swrast" при запуске Steam на Ubuntu 16.04, то, вероятно, это связано с некорректной настройкой графических драйверов и библиотек OpenGL. Давайте подробно разберем возможные причины и решения данной проблемы.
Причина проблемы
Ошибка указывает на то, что Steam не может найти или загрузить необходимые драйверы для работы с графической картой. В вашем случае установлены драйверы nvidia-375
, однако Steam все равно не может правильно инициализировать графическое окружение. Рассматриваем следующие основные причины:
-
Несоответствующая версия драйверов: Возможно, драйверы не совместимы с вашей видеокартой GeForce 820M или необходимо использовать другую версию драйверов.
-
Отсутствие необходимых библиотек: Похоже, что некоторые компоненты OpenGL отсутствуют или не могут быть загружены.
-
Конфликт библиотек: Ручное удаление библиотеки
libstdc++.so.6
могло вызвать дополнительные конфликты.
Рекомендации по исправлению
-
Переустановка драйвера NVIDIA:
- В первую очередь, рекомендую полностью удалить текущую версию драйвера NVIDIA:
sudo apt-get remove --purge '^nvidia-.*'
- Затем установите рекомендованную или более новую версию драйверов. Вы можете использовать
Additional Drivers
в Ubuntu для установки подходящей версии, или установить через командную строку:sudo apt-get install nvidia-driver-450
- Убедитесь, что версия драйвера подходит для вашей видеокарты.
- В первую очередь, рекомендую полностью удалить текущую версию драйвера NVIDIA:
-
Проверка OpenGL:
- После установки драйвера выполните команду для проверки работы OpenGL:
glxinfo | grep "OpenGL version"
- Если команда не выполнится, возможно, потребуется установить
mesa-utils
:sudo apt-get install mesa-utils
- После установки драйвера выполните команду для проверки работы OpenGL:
-
Проверка системных библиотек:
- Убедитесь, что библиотеки OpenGL установлены и обновлены. Выполните:
sudo apt-get install libgl1-mesa-glx libgl1-mesa-dri
- Убедитесь, что библиотеки OpenGL установлены и обновлены. Выполните:
-
Обновление Steam:
- Попробуйте удалить и переустановить Steam:
sudo apt-get remove --purge steam sudo apt-get install steam
- Попробуйте удалить и переустановить Steam:
-
Создание файла конфигурации:
- Если у вас отсутствует файл конфигурации
.drirc
, вы можете создать его вручную. Убедитесь, что ваш пользователь имеет необходимые права доступа.
- Если у вас отсутствует файл конфигурации
-
Использование Steam с вручную заданным состоянием:
- Попробуйте запустить Steam с заданным переменным окружением:
STEAM_RUNTIME=0 steam
- Попробуйте запустить Steam с заданным переменным окружением:
-
Запуск через Docker:
- Если ни одно из предложенных решений не помогло, рассмотрите возможность использования Docker. Это может помочь изолировать среду и уменьшить количество конфликтов. Вы можете использовать следующий подход:
Создайте контейнер
sudo docker run --gpus all -it --rm nvidia/cuda:10.0-runtime-ubuntu18.04 /bin/bash
И установите туда необходимые библиотеки и Steam.
Заключение
Ошибка "libGL error: failed to load driver: swrast" требует комплексного подхода к устранению, который включает переустановку драйверов, обновление библиотек и возможное использование Docker-контейнеров. Надеюсь, предложенные шаги помогут вам решить проблему. Не забывайте проверять совместимость драйверов с вашей системой и более конкретно подбирать версии программного обеспечения. Если после выполнения всех вышеперечисленных шагов проблема остается, возможно, стоит обратиться за поддержкой на форумы или к специалистам.