На моем Ubuntu Server 16.04 был установлен драйвер nvidia . Мне нужно запустить какое-то приложение, для которого нужен OpenGL, но поскольку машина «без головы», необходимо создать виртуальный экран.
Я пытался сделать это с Xvfb , но приложение не работает с ... невозможно ... GLX ... ошибка. Интернет в ~ 50 местах говорит, что совершенно невозможно создать виртуальный экран с установленными драйверами nvidia.
Поэтому я удалил драйверы с apt remove --purge nvidia * Это не решило проблему, поэтому я удалил файлы .so nvidia, имеющиеся в ldd / usr / bin / glxinfo to каким-то образом force Xvfb использует драйверы mesa , так что теперь у меня есть:
# ldd /usr/bin/glxinfo
libGL.so.1 => /usr/lib/libGL.so.1 (0x00007f37f7f50000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f37f7c16000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f37f784b000)
libnvidia-tls.so.340.102 => not found
libnvidia-glcore.so.340.102 => not found
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f37f7638000)
сейчас xvfb и glxinfo завершаются с ошибкой при загрузке общих библиотек: libnvidia-tls.so.340.102: не удается открыть файл общего объекта: такого файла или каталога нет ошибка :(
ldconfig не помогает так же хорошо, как apt install --reinstall libgl1-mesa-dri xvfb mesa-utils
Есть ли способ избавиться от остатков драйверов nvidia? или заставить xvfb работать вместе с наличием драйверов nvidia OpenCL?
удаление Nvidia sudo было лучшим способом удалить драйвер, чем склонный, удаляют - производят чистку nvidia*. (драйвер был установлен с sudo./NVIDIA-Linux-x86_64-340.102.run),
После этого ни один из glxinfo, Xvfb, и т.д. не работал из-за:
ldd /usr/lib/Xvfb
...
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd51461c000)
libGL.so.1 => not found
libpixman-1.so.0 => /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007fd514374000)
...
Попытка состояла в том, чтобы зафиксировать, она с другой способной установкой libgl1-mesa-dri... пытается, но кажется, что ldconfig автоволшебно зафиксировал это.
Теперь я могу успешно запустить любое приложение OpenGL только с Xvfb-управляемым-s "-экран 0 640x480x24" appname без... никакого расширения GLX... проблемы!:)
Надежда это будет полезно кому-то пытающемуся запускать приложение OpenGL на бездисплейном сервере Ubuntu с драйверами Nvidia, ранее установленными.