OpenGL sürümünü gösterebilen terminal komutu nedir?


95

Bu yüzden hangisinin OpenGL versiyonum olduğunu bulmak istiyorum. Ubuntu'ya SSH ile erişebiliyorum. Hangi komutu yerine getirmeliyim?

Yanıtlar:


122

OpenGL Sürümünü Kontrol Etmek İçin,

glxinfo | grep "OpenGL version"

Çıktıyı aşağıdaki gibi alacaksınız,

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

Düzenle:

Çekirdek ve uyumluluk profilleri ile çeşitli GLSL ve GLES sürümleri arasındaki farklılıklar göz önüne alındığında, "OpenGL sürümü" yerine "sürüm" için modern bir OpenGL ile iyi şanslar elde edebilirsiniz:

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

Asıl versiyonun "temel profil versiyonu" (4.1) tarafından sunulduğuna, "OpenGL versiyonu" 3.0 olarak sunulduğuna dikkat edin.


6
Dikkatli! glxinfo, DISPLAY'iniz tarafından kullanılan uzak makineye değil OpenGL sürümünü size anlatıyor! Bununla birlikte, uzak makinenin GLX sürümünü ("istemci" bitleri) söyleyecektir.
Zengin

Doğru kartı alıyorsanız, ancak yanlış OpenGL sürümüne sahipseniz, muhtemelen nouveau / açık kaynak sürücüleridir - ya kara listeye alın ya da kaldırın.
Mühendis

1
Bazı düzenlemeler yaptım, bu yüzden birden fazla profil sunan modern OpenGL sürümleriyle daha iyi bilgi bulabilmek için, özellikle de "Linux check opengl sürümü" için bir google aramasında en iyi sonuç olduğu göz önüne alındığında, bazı düzenlemeler yaptım.
Taywee,

5
Not: Ubuntu 16.04’te glxinfovarsayılan olarak mevcut değildir. Kullanabilmek için mesa-utilspaketi yüklemeniz gerekir .
starleaf1

1
@frank Geliştirme Kitaplıkları bölümündeki thomasmichaelwallace tarafından aşağıdaki cevaba bakınız. Bir uzak makinede bir openGL istemcisi çalıştırdığınızda, uzak istemci uzak kütüphaneleri kullanır, ancak sunucunuzda görüntüler, bu yüzden zaman zaman biraz kafa karıştırıcıdır
Zengin

19

ne aradığına bağlı olarak:

Açık GL Uygulaması

Mesa-utils paketinden glxinfo kullanabilirsiniz:

sudo apt-get install mesa-utils

glxinfo | grep "OpenGL version"

Geliştirme Kütüphaneleri

bu biraz bağlıdır,

dpkg -s [package name]

Herhangi bir paketin sürüm bilgisini vb.

ancak ilgilendiğiniz opengl'in hangi özel bir kısmını / uygulamasını vb. bilmeniz gerekir. Sanırım, sizin için:

dpkg -s libglu1-mesa

14

Not: Bu cevabı daha sonraki bir tarihte ekledim, çünkü mevcut cevapların hiçbiri ssh ile ilgili önemli bir konuya değinmiyor ve yukarıdaki talimatları izleyenlere yanıltıcı değerler veriyor.

  1. Sürerken X-iletmeyi kullanın . Bu etkindir ssh -X.

    X-forward olmadan:

    $ ssh MYCOMP
    $ glxinfo
    Error: unable to open display
    

    X iletme ile:

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

    Bunun hem olduğuna burada dikkat etmelidir yanlış grafik kartı ve yanlış sürüm numaraları . (Beklediğiniz gibi açısından 'Yanlış').

  2. DISPLAY:0Grafik kartı sürücüsüne uzak oturumdan erişime izin vermek için değişkeni ayarlayın .

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

    Bu, doğru grafik kartlarını (uzak bilgisayardaki kart) ve doğru sürüm numaralarını listeler.


Benim için localhost:10.0maalesef sonuçlandı X Error of failed request: GLXBadContext.
phil294,

4

Sadece sürüm numarasını isteyenler için, örneğin, bir programın argümanında vermek için,

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

Not: optirun glxinfo | awk '/OpenGL version/ {print $4}'Yabanarısı kullanıyorsanız


1

Aşağıdaki komutu çalıştırarak bilgileri alabilirsiniz:

DISPLAY=:0 glxgears -info | grep GL_VERSION

Bu yankı gibi bir şey:

GL_VERSION    = 3.3.0 NVIDIA 340.93

Ayrıca DISPLAY=:0problem durumunda da deneyin . Komut glxgearsiçindedir mesa-utilsile kurulabilir pakette:

sudo apt-get install mesa-utils

Bu benim için çalışıyor. Freescale iMX6 Yocto poky 1.6.2.
Jiu

0

Ubuntu 16.04 çalıştıran uzak bir bilgisayara kök erişiminiz varsa,

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, açık terminal ve tip;

glxinfo | grep "OpenGL version"

Böyle bir şey alacaksınız;

OpenGL version string: 3.0 Mesa 17.2.2

Program glxinfo'nun mevcut olmadığı konusunda bir hata alırsanız, komutu girmeniz gerekecektir.

sudo apt install mesa-utils
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.