Quelle est la commande de terminal qui peut montrer la version OpenGL?


96

Je veux donc savoir quelle est ma version OpenGL. J'ai accès à Ubuntu via SSH. Quelle commande dois-je exécuter?

Réponses:


123

Pour vérifier la version OpenGL,

glxinfo | grep "OpenGL version"

Vous obtiendrez la sortie comme suit,

glxinfo | grep "OpenGL version"
OpenGL version string: 1.4 (2.1 Mesa 7.7.1)

Modifier:

Vous avez peut-être plus de chance avec OpenGL moderne, juste pour "version" au lieu de "version OpenGL", étant donné les différences entre les profils core et compat, ainsi que les différentes versions de GLSL et GLES:

glxinfo | grep 'version'
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
    Max core profile version: 4.1
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL core profile version string: 4.1 (Core Profile) Mesa 11.1.2
OpenGL core profile shading language version string: 4.10
OpenGL version string: 3.0 Mesa 11.1.2
OpenGL shading language version string: 1.30
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 11.1.2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

Notez que la version actuelle est présentée par la "version de profil principale" (4.1), tandis que la "version OpenGL" est présentée en tant que 3.0.


6
Prudent! glxinfo vous indique la version d'OpenGL utilisée par votre DISPLAY, pas la machine distante! Cependant, il vous indiquera la version GLX de la machine distante (les bits "client").
Rich

Et si vous avez la bonne carte mais la mauvaise version d'OpenGL, ce sont probablement les pilotes nouveau / open source - soit en les mettant sur liste noire, soit en les désinstallant.
Ingénieur

1
J'ai apporté quelques modifications afin de pouvoir obtenir de meilleures informations avec les versions OpenGL modernes présentant plusieurs profils, d'autant plus qu'il s'agit du premier résultat d'une recherche Google sur "Linux check open version".
Taywee

5
Note: Dans Ubuntu 16.04, glxinfon'est pas disponible par défaut. Pour pouvoir l'utiliser, vous devez installer le mesa-utilspackage.
starleaf1

1
@frank Regardez la réponse ci-dessous, par thomasmichaelwallace, dans la section Bibliothèques de développement. Lorsque vous exécutez un client OpenGL sur une machine distante, le client distant utilise les bibliothèques distantes, mais s'affiche sur votre serveur, ce qui est parfois un peu déroutant
Rich le

19

en fonction de ce que vous recherchez:

Open GL Implementation

Vous pouvez utiliser glxinfo, à partir du paquet mesa-utils:

sudo apt-get install mesa-utils

glxinfo | grep "OpenGL version"

Bibliothèques de développement

cela dépend un peu,

dpkg -s [package name]

vous dira les informations de version, etc. de n'importe quel paquet.

mais vous aurez besoin de savoir quelle partie / implémentation, etc. d'Opengl vous intéresse. Je suppose que pour vous, ce sera:

dpkg -s libglu1-mesa

14

Remarque: j'ai ajouté cette réponse ultérieurement, car aucune des réponses existantes ne traite d'aspects cruciaux concernant ssh et ne donnera des valeurs trompeuses à ceux qui suivent les instructions ci-dessus.

  1. Utilisez X-forwarding quand ssh-ing. Ceci est activé avec ssh -X.

    Sans x-forwarding:

    $ ssh MYCOMP
    $ glxinfo
    Error: unable to open display
    

    Avec x-forwarding:

    $ ssh -X MYCOMP
    $ glxinfo | grep -i opengl
    OpenGL vendor string: NVIDIA Corporation
    OpenGL renderer string: GeForce 8800 GT/PCIe/SSE2
    OpenGL version string: 2.1.2 NVIDIA 310.44
    OpenGL shading language version string: 1.20 NVIDIA via Cg compiler
    OpenGL extensions:
    

    Je dois noter ici qu’il s’agit d’une mauvaise carte graphique et d’un mauvais numéro de version . ('Mauvais' en termes de ce que vous attendez).

  2. Définissez DISPLAYvariable sur:0 , pour autoriser l'accès au pilote de la carte graphique à partir de la session distante.

    $ ssh -X MYCOMP
    $ DISPLAY=:0
    $ glxinfo | grep -i opengl
     OpenGL vendor string: NVIDIA Corporation
     OpenGL renderer string: GeForce GTX 550 Ti/PCIe/SSE2
     OpenGL version string: 4.3.0 NVIDIA 310.14
     OpenGL shading language version string: 4.30 NVIDIA via Cg compiler
     OpenGL extensions:
    

    Ceci répertorie la carte graphique correcte (celle de l'ordinateur distant), ainsi que les numéros de version corrects.


Pour moi, cela a localhost:10.0malheureusement abouti X Error of failed request: GLXBadContext.
phil294

4

Pour ceux qui ne veulent que le numéro de version, par exemple pour le donner en argument d'un programme, vous pouvez utiliser

$ glxinfo | awk '/OpenGL version/ {print $4}'
3.0

Remarque: optirun glxinfo | awk '/OpenGL version/ {print $4}'si vous utilisez bourdon


1

Vous pouvez obtenir les informations en exécutant la commande suivante:

DISPLAY=:0 glxgears -info | grep GL_VERSION

Cela rappelle quelque chose comme:

GL_VERSION    = 3.3.0 NVIDIA 340.93

Essayez également sans DISPLAY=:0en cas de problèmes. La commande glxgearsest dans un mesa-utilspackage qui peut être installé avec:

sudo apt-get install mesa-utils

Ce travail pour moi. Freescale iMX6 Yocto poky 1.6.2.
Jiu

0

Si vous avez un accès root à un ordinateur distant exécutant Ubuntu 16.04, vous pouvez exécuter

user@local_computer:~$ ssh root@remote.example.com
root@remote:~# export DISPLAY=:0
root@remote:~# export XAUTHORITY=/var/lib/lightdm/.Xauthority
root@remote:~# glxinfo | grep -i "OpenGL version"
OpenGL version string: 3.0 Mesa 11.2.0

0

Ubuntu 17.10, terminal ouvert et type;

glxinfo | grep "OpenGL version"

Vous recevrez quelque chose comme ça;

OpenGL version string: 3.0 Mesa 17.2.2

Si vous recevez une erreur indiquant que le programme glxinfo n'est pas disponible, vous devrez entrer la commande

sudo apt install mesa-utils
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.