Почему поставщик OpenGL 'Mesa Project'
Я пытаюсь разработать код для OpenGL 2, на карте Nvidia, но по какой-то причине у меня версия OpenGL 1.4, а поставщик Mesa Project
вместо Nvidia
,
OpenGL vendor string: Mesa Project
OpenGL renderer string: Software Rasterizer
OpenGL version string: 1.4 (2.1 Mesa 9.2.0-devel)
Я установил и переустановил последние версии драйверов nvidia ( http://www.nvidia.com/download/driverResults.aspx/132546/en-us).
Бег ldd $(which glxinfo)
дает:
linux-vdso.so.1 => (0x00007fff53533000)
libGL.so.1 => /usr/lib/nvidia-390/libGL.so.1 (0x00007f99e8020000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f99e7ce6000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f99e791c000)
libnvidia-tls.so.390.46 => /usr/lib/nvidia-390/tls/libnvidia-tls.so.390.46 (0x00007f99e7718000)
libnvidia-glcore.so.390.46 => /usr/lib/nvidia-390/libnvidia-glcore.so.390.46 (0x00007f99e5918000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f99e5706000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f99e5502000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f99e52e0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f99e835d000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f99e4fd7000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f99e4dd3000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f99e4bcd000)
Похоже, что он использует правильные библиотеки nvidia.
Еще немного информации:
- Я использую Ubuntu 16.04.
- Может быть важно - я подключен к серверу через VNC к шлюзу, и
ssh -X
от шлюзовой станции к серверу.
Есть идеи, почему Nvidia OpenGL не используется?
1 ответ
Это потому, что графический процессор не используется для рендеринга в вашем случае использования. Как glxinfo
Вывод, который вы опубликовали, показывает, что Software Rasterizer используется для рендеринга GL на рассматриваемый X DISPLAY (предположительно, перенаправленное отображение через ssh, что означает, что glxinfo запрашивает у X-сервера на шлюзе информацию GL).