У меня проблемы при компиляции SFML-проекта (не вижу графики):
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Эта ошибка может быть решена простой переустановкой nvidia-драйверов через этот учебник: https://askubuntu.com/a/451248/341889
... но когда я получаю новые обновления - эта ошибка возвращается; (Что мне делать? Это не решение - не использовать обновление системы ...
PS и да, я сохранил все изменения после установки nvidia-драйверов
libGL.so
:LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/mesa ./glprogram
. По умолчанию мой Ubuntu 16.04 использует/usr/lib/nvidia-361/libGL.so
из-за/etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf
и все работает нормально.Ответы:
swrast
Дело в том , программное обеспечение визуализации. Это означает, что он не находит аппаратный драйвер для вашей видеокарты. Установлено несколько библиотек libGL и несколько символических ссылок на эти библиотеки. Чтобы увидеть это запустите это из оболочки:Теперь вероятная причина вашей проблемы в том, что установка графических драйверов иногда нарушает эти символические ссылки. (В частности,
/usr/local/lib/libGL.so.1.2.0
это может быть либо неправильная библиотека, либо sym-ссылка на неправильную ссылку).Чтобы выяснить, какую библиотеку пытаются запустить программы OpenGL, вы можете включить многословие и запустить простую программу OpenGL. Вы можете проверить это с помощью стандартной тестовой программы OpenGL:
Надеюсь, что это не так, как SFML. С
LIBGL_DEBUG
его помощью вы должны узнать, какую библиотеку OpenGL она пытается загрузить. Более того,/usr/local/lib/libGL.so.1.2.0
библиотека, которую он будет пытаться загрузить, почти наверняка будет (Редактировать: это была стандартная библиотека OpenGL на моей машине, когда я отвечал на это. Возможно, сейчас это какая-то другая версия на вашей машине).Поэтому решение (в данном случае) состоит в том, чтобы убедиться, что
/usr/local/lib/libGL.so.1.2.0
это символическая ссылка, указывающая на правую библиотеку OpenGL. В моем случае у меня есть драйвер Nvidia 3.40, поэтому я запустил:Но вы захотите указать на подходящую для вас библиотеку OpenGL (указанную в первой команде поиска).
Итак, установка (проприетарных) графических драйверов может нарушить символические ссылки, используемые для библиотек OpenGL. Для решения этой проблемы вручную исправьте символические ссылки (исправьте в
/usr/local/lib/libGL.so.1.2.0
первую очередь).источник
У меня была та же проблема на Ubuntu 16.10 с
nvidia-340
драйверами, и ни одно из решений здесь не помогло мне.Оказывается, 32-битные библиотеки не были на пути к библиотеке.
Этот лайнер работал на меня:
источник
У меня были проблемы с получением правильной символической ссылки, указывающей на драйвер nVidia, и я нашел другой способ, который работает для меня.
Это изложено здесь .
И это перечисляет, как установить драйвер nVidia через PPA, который доступен для 349.16, последней версии.
Сначала удалите все установленные драйверы nVidia, открыв окно терминала ( Ctrl+ ALT+ T) и напечатав
Перезагрузите вашу систему
Затем откройте другой терминал и введите следующее
Затем перезагрузите снова
Я попробовал это после того, как заблудился с символическими ссылками, и steam работал нормально сразу после установки драйвера, и снова он все еще работал после того, как у меня было 400 с лишним обновлений системы.
источник
В качестве альтернативы ответу Адриана: если вы предпочитаете использовать проприетарные драйверы, поставляемые напрямую от NVIDIA, а не те, которые есть в PPA, установка (или в моем случае переустановка) последней проприетарной версии драйвера может помочь устранить ошибку swrast.
Если у вас еще нет драйвера NVIDIA, загрузите драйвер с веб-сайта NVIDIA . Далее, переключитесь на tty (
ctrl
+alt
+F1
) и выключите ваш менеджер входа в систему:Если вы используете lightdm,
$ sudo service lightdm stop
Если использовать GDM,
$ sudo service gdm stop
Перейдите к сценарию установки, запустите его и следуйте инструкциям. Не беспокойтесь, если предустановочный скрипт завершится неудачно. Я всегда принимаю регистрацию DKMS и 32-битных библиотек совместимости. После установки драйвера перезагрузите компьютер:
Если у вас уже есть скрипт установки из более старого драйвера NVIDIA, просто запустите скрипт установки драйвера NVIDIA, как указано выше, но с опцией «--update»:
Это даст вам самую последнюю версию драйвера.
Это исправило мою
libGL error: failed to load driver: swrast
ошибку.источник
На Ubuntu 18 возникла та же проблема. Это произошло в основном только с 32-битными приложениями. Поэтому моя идея заключалась в том, чтобы установить 32-битную nvidia, поскольку моя папка / usr / lib / i386-linux-gnu / была подозрительно пустой.
После очень немногих попыток это решило мою проблему с паром и вином, не начинающимся:
(и измените 418 на ту версию, которая у вас есть)
Интересно, что приложения не жаловались на отсутствие зависимостей при установке.
источник
Я должен признать, я не уверен, почему это работает для меня, но это сработало. В этом конкретном случае «исправление» записей ld.so.conf.d путем добавления новой записи работает следующим образом:
Это имеет смысл, пока вы не запустите следующее
find
:Почему иметь одинаковые записи в трех экземплярах, но не в двух экземплярах, я понятия не имею!
источник
Вот
apt
единственное решение, которое сработало для меня, без каких-либо ссылок или шутокld.so.conf.d
:источник
Я просто использую эту строку:
и это работает.
Потому что я вижу такой ввод, когда я выполняю
sudo ldconfig -p | grep -i gl.so
:источник
Просто запустите это:
Версия вашего драйвера указана в nvidia-settings.
источник
В моем случае решение этой проблемы состояло в продолжении сообщения об ошибке
Paraview 5.7.0 сообщил мне, что:
Сообщение
был ключевым. Я запускаю 'glxgears', чтобы проверить, что графические библиотеки работают нормально - см. Также
man glxgears
- показ этой анимации:Тогда мое решение было просто установить переменную среды
Принять к сведению:
locate libGL.so
, я нахожу другого кандидата/usr/lib/i386-linux-gnu/libGL.so
. Однако установка этого параметра в LD_PRELOAD не устранила проблему;locate libGLEW.so
Я в долгу перед https://github.com/openai/mujoco-py/issues/44 за подсказки
источник
Я столкнулся с этой странной проблемой, когда я подключился к своей Ubuntu VM с моего Macbook Pro, но установка приведенного ниже драйвера Nvidia на мою Ubuntu 16.04 устранила проблему. Надеюсь, что это работает для вас.
sudo apt-get установить nvidia-331
источник