Apa perintah terminal yang dapat menampilkan versi OpenGL?


95

Jadi saya ingin mencari tahu yang merupakan versi OpenGL saya. Saya memiliki akses ke Ubuntu melalui SSH. Perintah mana yang harus saya jalankan?

Jawaban:


122

Untuk Memeriksa Versi OpenGL,

glxinfo | grep "OpenGL version"

Anda akan mendapatkan output sebagai berikut,

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

Sunting:

Anda mungkin lebih beruntung dengan OpenGL modern yang hanya menangkap "versi" daripada "versi OpenGL" mengingat perbedaan antara profil inti dan profil, serta berbagai versi GLSL dan 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

Perhatikan bahwa versi aktual disajikan oleh "versi profil inti" (4.1), sedangkan "versi OpenGL" disajikan sebagai 3.0.


6
Cermat! glxinfo memberi tahu Anda versi OpenGL yang digunakan oleh DISPLAY Anda, bukan mesin jarak jauh! Namun, ia akan memberi tahu Anda versi GLX dari mesin jarak jauh ("klien" bit).
Kaya

Dan jika Anda mendapatkan kartu yang benar tetapi salah versi OpenGL, itu mungkin driver nouveau / open source - baik daftar hitam mereka atau uninstall mereka.
Insinyur

1
Saya telah membuat beberapa pengeditan sehingga informasi yang lebih baik dapat ditemukan dengan versi OpenGL modern yang menampilkan banyak profil, terutama mengingat ini adalah hasil teratas pada pencarian google untuk "Linux check opengl version".
Taywee

5
Catatan: Di Ubuntu 16.04, glxinfotidak tersedia secara default. Untuk dapat menggunakannya, Anda harus menginstal mesa-utilspaket.
starleaf1

1
@ jujur ​​Lihatlah jawaban di bawah ini, oleh thomasmichaelwallace di bagian Perpustakaan Pengembangan. Saat Anda menjalankan klien openGL pada mesin jarak jauh, klien jarak jauh menggunakan pustaka jarak jauh, tetapi ditampilkan ke server Anda, jadi kadang
Kaya

19

tergantung pada apa yang Anda cari:

Buka Implementasi GL

Anda dapat menggunakan glxinfo, dari paket mesa-utils:

sudo apt-get install mesa-utils

glxinfo | grep "OpenGL version"

Perpustakaan Pengembangan

ini tergantung sedikit,

dpkg -s [package name]

akan memberi tahu Anda informasi versi, dll. dari paket apa pun.

tetapi Anda harus tahu bagian / implementasi spesifik apa, dll. dari opengl yang Anda minati. Saya curiga, untuk Anda, itu akan menjadi:

dpkg -s libglu1-mesa

14

Catatan: Saya telah menambahkan jawaban ini di kemudian hari, karena tidak ada jawaban yang ada membahas aspek penting mengenai ssh, dan akan memberikan nilai yang menyesatkan bagi mereka yang mengikuti petunjuk di atas.

  1. Gunakan penerusan X saat melakukan ssh. Ini diaktifkan dengan ssh -X.

    Tanpa penerusan x:

    $ ssh MYCOMP
    $ glxinfo
    Error: unable to open display
    

    Dengan penerusan x:

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

    Saya harus mencatat di sini bahwa ini adalah kartu grafis yang salah , dan nomor versi yang salah . ('Salah' dalam hal apa yang Anda harapkan).

  2. Setel DISPLAYvariabel menjadi:0 , untuk memungkinkan akses ke driver kartu grafis dari sesi jarak jauh.

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

    Ini mencantumkan kartu grafis yang benar (yang ada di komputer jarak jauh), serta nomor versi yang benar.


Bagi saya, itu localhost:10.0, sayangnya menghasilkan X Error of failed request: GLXBadContext.
phil294

4

Bagi mereka yang hanya menginginkan nomor versi, misalnya memberikannya dalam argumen suatu program, Anda dapat menggunakannya

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

Catatan: optirun glxinfo | awk '/OpenGL version/ {print $4}'jika Anda menggunakan lebah


1

Anda dapat memperoleh informasi dengan menjalankan perintah berikut:

DISPLAY=:0 glxgears -info | grep GL_VERSION

Ini menggemakan sesuatu seperti:

GL_VERSION    = 3.3.0 NVIDIA 340.93

Coba juga DISPLAY=:0jika ada masalah. Perintah glxgearsini dalam mesa-utilspaket yang dapat diinstal dengan:

sudo apt-get install mesa-utils

Ini bekerja untuk saya. Freescale iMX6 Yocto poky 1.6.2.
Jiu

0

Jika Anda memiliki akses root ke komputer jarak jauh yang menjalankan Ubuntu 16.04, Anda bisa menjalankannya

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 terbuka dan ketik;

glxinfo | grep "OpenGL version"

Anda akan menerima sesuatu seperti ini;

OpenGL version string: 3.0 Mesa 17.2.2

Jika Anda menerima kesalahan bahwa program glxinfo tidak tersedia, Anda harus memasukkan perintah

sudo apt install mesa-utils
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.