Qual è il comando terminale che può mostrare la versione OpenGL?


96

Quindi voglio scoprire qual è la mia versione di OpenGL. Ho accesso a Ubuntu tramite SSH. Quale comando devo eseguire?

Risposte:


123

Per verificare la versione OpenGL,

glxinfo | grep "OpenGL version"

Otterrai l'output come segue,

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

Modificare:

Potresti avere più fortuna con il moderno OpenGL che cerca semplicemente "versione" anziché "Versione OpenGL" date le differenze tra i profili core e compat, nonché le varie versioni GLSL e 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

Si noti che la versione attuale è presentata dalla "versione del profilo principale" (4.1), mentre la "versione OpenGL" è presentata come 3.0.


6
Attento! glxinfo ti sta dicendo la versione di OpenGL utilizzata dal tuo DISPLAY, non dalla macchina remota! Tuttavia, ti dirà la versione GLX della macchina remota (i bit "client").
Ricco

E se stai ottenendo la scheda giusta ma la versione OpenGL sbagliata, probabilmente è il driver nouveau / open source - li metti nella blacklist o li disinstalli.
Ingegnere

1
Ho apportato alcune modifiche in modo che sia possibile trovare informazioni migliori con le moderne versioni OpenGL che presentano più profili, soprattutto dato che questo è il risultato migliore in una ricerca su Google per "Linux open check version".
Taywee,

5
Nota: in Ubuntu 16.04, glxinfonon è disponibile per impostazione predefinita. Per poterlo utilizzare, è necessario installare il mesa-utilspacchetto.
starleaf1

1
@frank Guarda la risposta qui sotto, di thomasmichaelwallace nella sezione Librerie di sviluppo. Quando esegui un client openGL su un computer remoto, il client remoto utilizza le librerie remote, ma viene visualizzato sul tuo server, quindi a volte è un po 'confuso
Rich

19

a seconda di cosa stai cercando:

Implementazione Open GL

Puoi usare glxinfo, dal pacchetto mesa-utils:

sudo apt-get install mesa-utils

glxinfo | grep "OpenGL version"

Librerie di sviluppo

questo dipende un po ',

dpkg -s [package name]

ti dirà le informazioni sulla versione, ecc. di qualsiasi pacchetto.

ma dovrai sapere quale parte / implementazione specifica, ecc. di Opengl ti interessa. Sospetto, per te, sarà:

dpkg -s libglu1-mesa

14

Nota: ho aggiunto questa risposta in un secondo momento, perché nessuna delle risposte esistenti affronta aspetti cruciali riguardanti ssh e darà valori fuorvianti a coloro che seguono le istruzioni sopra.

  1. Usa X-forwarding quando ssh-ing. Questo è abilitato con ssh -X.

    Senza x-forwarding:

    $ ssh MYCOMP
    $ glxinfo
    Error: unable to open display
    

    Con 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:
    

    Dovrei notare qui che questa è sia la scheda grafica sbagliata , sia i numeri di versione sbagliati . ("Sbagliato" in termini di ciò che ti aspetteresti).

  2. Impostare la DISPLAYvariabile su:0 , per consentire l'accesso al driver della scheda grafica dalla sessione remota.

    $ 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:
    

    Questo elenca la scheda grafica corretta (quella sul computer remoto), nonché i numeri di versione corretti.


Per me, localhost:10.0sfortunatamente , è stato il risultato X Error of failed request: GLXBadContext.
phil294

4

Per coloro che desiderano solo il numero di versione, ad esempio per fornirlo nell'argomento di un programma, è possibile utilizzare

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

Nota: optirun glxinfo | awk '/OpenGL version/ {print $4}'se stai usando il calabrone


1

È possibile ottenere le informazioni eseguendo il comando seguente:

DISPLAY=:0 glxgears -info | grep GL_VERSION

Questo ecos qualcosa come:

GL_VERSION    = 3.3.0 NVIDIA 340.93

Prova anche senza DISPLAY=:0problemi. Il comando glxgearsè nel mesa-utilspacchetto che può essere installato con:

sudo apt-get install mesa-utils

Questo lavoro per me. Freescale iMX6 Yocto poky 1.6.2.
Jiu,

0

Se si dispone dell'accesso root a un computer remoto con Ubuntu 16.04, è possibile eseguire

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, terminale aperto e tipo;

glxinfo | grep "OpenGL version"

Riceverai qualcosa del genere;

OpenGL version string: 3.0 Mesa 17.2.2

Se ricevi un errore per cui il programma glxinfo non è disponibile, dovrai inserire il comando

sudo apt install mesa-utils
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.