टर्मिनल कमांड क्या है जो ओपनजीएल संस्करण दिखा सकता है?


94

इसलिए मैं यह जानना चाहता हूं कि मेरा ओपनजीएल संस्करण कौन सा है। मेरे पास एसएसएच के माध्यम से उबंटू तक पहुंच है। मुझे किस आदेश पर अमल करना चाहिए?

जवाबों:


121

OpenGL संस्करण की जांच करने के लिए,

glxinfo | grep "OpenGL version"

आपको आउटपुट इस प्रकार मिलेगा,

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

संपादित करें:

आपके पास आधुनिक ओपनगेल के साथ बेहतर भाग्य हो सकता है, "ओपनजीएल संस्करण" के बजाय "संस्करण" के लिए जीआरपींग करना, कोर और कॉम्पिटिटर प्रोफाइल के साथ-साथ विभिन्न जीएलएसएल और जीएलईएस संस्करणों के बीच अंतर को देखते हुए:

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

ध्यान दें कि वास्तविक संस्करण "कोर प्रोफाइल संस्करण" (4.1) द्वारा प्रस्तुत किया गया है, जबकि "ओपनजीएल संस्करण" 3.0 के रूप में प्रस्तुत किया गया है।


6
सावधान! glxinfo आपको अपने DISPLAY द्वारा उपयोग किए गए OpenGL का संस्करण बता रहा है, रिमोट मशीन नहीं! हालांकि, यह आपको दूरस्थ मशीन ("क्लाइंट" बिट्स) का GLX संस्करण बताएगा।
रिच

और अगर आपको सही कार्ड, लेकिन गलत ओपन संस्करण मिल रहा है, तो शायद यह नोव्यू / ओपन सोर्स ड्राइवर है - या तो उन्हें ब्लैकलिस्ट करें या उन्हें अनइंस्टॉल करें।
इंजीनियर

1
मैंने कुछ संपादन किए हैं ताकि बेहतर जानकारी आधुनिक ओपनजीएल संस्करणों के साथ मिल सके जो कई प्रोफाइल प्रस्तुत करते हैं, विशेष रूप से यह देखते हुए कि यह "लिनक्स चेक ओपेंगल संस्करण" के लिए एक Google खोज पर शीर्ष परिणाम है।
तैवे

5
नोट: उबंटू में 16.04, glxinfoडिफ़ॉल्ट रूप से उपलब्ध नहीं है। इसका उपयोग करने में सक्षम होने के लिए, आपको mesa-utilsपैकेज स्थापित करने की आवश्यकता है ।
स्टारलीफ़ 1

1
@frank विकास पुस्तकालयों अनुभाग में thomasmichaelwallace द्वारा नीचे दिए गए उत्तर को देखें। जब आप किसी दूरस्थ मशीन पर एक ओपेनलाइन क्लाइंट चलाते हैं, तो दूरस्थ क्लाइंट दूरस्थ पुस्तकालयों का उपयोग करता है, लेकिन आपके सर्वर पर प्रदर्शित होता है, इसलिए यह कई बार थोड़ा भ्रमित होता है
रिच

19

आप जो खोज रहे हैं उसके आधार पर:

खुला जीएल कार्यान्वयन

आप glxinfo का उपयोग कर सकते हैं, मेसा-बर्तन पैकेज से:

sudo apt-get install mesa-utils

glxinfo | grep "OpenGL version"

विकास पुस्तकालय

यह थोड़ा निर्भर करता है,

dpkg -s [package name]

आपको किसी भी पैकेज के संस्करण की जानकारी आदि बताएंगे।

लेकिन आपको यह जानना होगा कि आप जिस ओपेंग्ल में रुचि रखते हैं, उसके विशिष्ट भाग / कार्यान्वयन आदि के लिए मुझे संदेह है, आपके लिए यह होगा:

dpkg -s libglu1-mesa

14

नोट: मैंने इस उत्तर को बाद की तारीख में जोड़ा है, क्योंकि मौजूदा उत्तरों में से कोई भी ssh के बारे में महत्वपूर्ण पहलुओं को संबोधित नहीं करता है, और उपरोक्त निर्देशों का पालन करने वालों को भ्रामक मूल्य देगा ।

  1. Ssh-ing जब X- फ़ॉरवर्डिंग का उपयोग करें । इसके साथ सक्षम है ssh -X

    बिना x- अग्रेषण:

    $ ssh MYCOMP
    $ glxinfo
    Error: unable to open display
    

    एक्स-फ़ॉरवर्डिंग के साथ:

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

    मुझे यहां ध्यान देना चाहिए कि यह गलत ग्राफिक्स कार्ड और गलत संस्करण संख्या दोनों है । ('गलत' आप क्या उम्मीद करेंगे के संदर्भ में)।

  2. DISPLAY:0दूरस्थ सत्र से ग्राफिक कार्ड के ड्राइवर तक पहुंच की अनुमति देने के लिए , चर सेट करें

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

    यह सही ग्राफिक्स कार्ड (दूरस्थ कंप्यूटर पर एक), साथ ही सही संस्करण संख्याओं को सूचीबद्ध करता है।


मेरे लिए, यह localhost:10.0दुर्भाग्य से, जिसके परिणामस्वरूप था X Error of failed request: GLXBadContext
phil294

4

उन लोगों के लिए जो केवल संस्करण संख्या चाहते हैं, उदाहरण के लिए इसे किसी कार्यक्रम के तर्क में देने के लिए, आप उपयोग कर सकते हैं

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

नोट: optirun glxinfo | awk '/OpenGL version/ {print $4}'यदि आप भौंरा का उपयोग कर रहे हैं


1

आप निम्न आदेश चलाकर जानकारी प्राप्त कर सकते हैं:

DISPLAY=:0 glxgears -info | grep GL_VERSION

यह कुछ इस तरह है:

GL_VERSION    = 3.3.0 NVIDIA 340.93

DISPLAY=:0समस्याओं के मामले में भी बिना प्रयास करें । कमांड पैकेज glxgearsमें mesa-utilsहै जिसे इसके साथ स्थापित किया जा सकता है:

sudo apt-get install mesa-utils

यह काम मेरे लिए। फ्रीस्केल iMX6 Yocto पोकी 1.6.2।
जिउ

0

यदि आपके पास Ubuntu 16.04 पर चलने वाले दूरस्थ कंप्यूटर तक रूट एक्सेस है, तो आप चला सकते हैं

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, खुला टर्मिनल और प्रकार;

glxinfo | grep "OpenGL version"

आप इस तरह से कुछ प्राप्त करेंगे;

OpenGL version string: 3.0 Mesa 17.2.2

यदि आपको कोई त्रुटि मिलती है कि प्रोग्राम glxinfo उपलब्ध नहीं है, तो आपको कमांड दर्ज करने की आवश्यकता होगी

sudo apt install mesa-utils
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.