web-dev-qa-db-ja.com

OpenGLベンダーが「Mesa Project」である理由

NvidiaカードでOpenGL 2のコードを開発しようとしていますが、何らかの理由でOpenGLバージョンが1.4で、ベンダーがNvidiaではなくMesa Projectです。

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
Elad Weiss

これは、ユースケースのレンダリングにGPUが使用されていないためです。投稿したglxinfo出力が示すように、Software Rasterizerは、問題のX DISPLAY(おそらくsshを介した転送されたディスプレイ)へのGLレンダリングに使用されています。 glxinfoは、GL情報についてゲートウェイ上のXサーバーを照会しています)。

1
dobey