web-dev-qa-db-fra.com

Pourquoi le fournisseur OpenGL est-il «Mesa Project»?

J'essaie de développer du code pour OpenGL 2, sur la carte Nvidia, mais pour une raison quelconque, ma version d'OpenGL est 1.4 et le fournisseur est Mesa Project au lieu de Nvidia.

OpenGL vendor string: Mesa Project
OpenGL renderer string: Software Rasterizer
OpenGL version string: 1.4 (2.1 Mesa 9.2.0-devel)

J'ai installé et réinstallé les derniers pilotes nvidia ( http://www.nvidia.com/download/driverResults.aspx/132546/en-us ).

Lancer ldd $(which glxinfo) donne:

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)

Il semble donc utiliser les bonnes bibliothèques nvidia.

Quelques informations supplémentaires:

  • J'utilise Ubuntu 16.04.
  • Cela pourrait être important - Je suis connecté au serveur par VNC à une station de passerelle et ssh -X de la station de passerelle au serveur.

Avez-vous une idée de la raison pour laquelle Nvidia OpenGL n'est pas utilisé?

1
Elad Weiss

En effet, le GPU n'est pas utilisé pour le rendu dans votre cas d'utilisation. Comme le montre la sortie glxinfo que vous avez publiée, le Software Rasterizer est utilisé pour le rendu de GL vers X DISPLAY en question (vraisemblablement l'affichage renvoyé via ssh, ce qui signifie glxinfo interroge le serveur X sur la passerelle pour obtenir des informations GL).

1
dobey