OpenGL 버전을 표시 할 수있는 터미널 명령은 무엇입니까?


94

어떤 OpenGL 버전인지 확인하고 싶습니다. SSH를 통해 우분투에 액세스 할 수 있습니다. 어떤 명령을 실행해야합니까?

답변:


121

OpenGL 버전을 확인하려면

glxinfo | grep "OpenGL version"

다음과 같이 출력됩니다.

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

편집하다:

코어 및 컴 패트 프로파일과 다양한 GLSL 및 GLES 버전의 차이점을 고려할 때 "OpenGL 버전"대신 "버전"을 사용하여 최신 OpenGL을 사용하는 것이 더 좋습니다.

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)으로 표시되는 반면 "OpenGL 버전"은 3.0으로 표시됩니다.


6
꼼꼼한! glxinfo는 원격 컴퓨터가 아닌 DISPLAY에서 사용하는 OpenGL 버전을 알려줍니다! 그러나 원격 시스템의 GLX 버전 ( "클라이언트"비트)을 알려줍니다.
Rich

그리고 올바른 카드이지만 잘못된 OpenGL 버전을 얻는다면 이는 아마도 nouveau / 오픈 소스 드라이버 일 것입니다. 블랙리스트에 올리거나 제거하는 것입니다.
엔지니어

1
여러 프로필을 제공하는 최신 OpenGL 버전에서 더 나은 정보를 찾을 수 있도록 몇 가지 사항을 수정했습니다. 특히 Google에서 "Linux check opengl version"을 검색했을 때 가장 좋은 결과라는 점을 감안할 때 더욱 그렇습니다.
Taywee

5
참고 : Ubuntu 16.04에서는 glxinfo기본적으로 사용할 수 없습니다. 사용하려면 mesa-utils패키지 를 설치해야 합니다.
starleaf1

1
@frank 개발 라이브러리 섹션에서 thomasmichaelwallace의 아래 답변을보십시오. 원격 시스템에서 OpenGL 클라이언트를 실행하면 원격 클라이언트는 원격 라이브러리를 사용하지만 서버에 표시되므로 때때로 약간 혼란스러워합니다.
Rich

19

찾고있는 내용에 따라

오픈 GL 구현

mesa-utils 패키지에서 glxinfo를 사용할 수 있습니다 :

sudo apt-get install mesa-utils

glxinfo | grep "OpenGL version"

개발 라이브러리

이것은 약간 다릅니다.

dpkg -s [package name]

모든 패키지의 버전 정보 등을 알려줍니다.

그러나 당신은 당신이 관심있는 OpenGL의 특정 부분 / 구현 등을 알아야합니다.

dpkg -s libglu1-mesa

14

참고 : 기존 답변이 ssh와 관련하여 중요한 측면을 다루지 않으므로 위의 지침을 따르는 사람들 에게 오해의 가치 를 줄 것이기 때문에 나중에이 답변을 추가했습니다 .

  1. ssh-ing 할 때 X-forwarding을 사용하십시오 . 로 활성화되어 ssh -X있습니다.

    x 전달없이 :

    $ ssh MYCOMP
    $ glxinfo
    Error: unable to open display
    

    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:
    

    나는 이것이 잘못된 그래픽 카드 이고 잘못된 버전 번호 임을 주목해야한다 . (당신이 예상 할 수있는 측면에서 '잘못된').

  2. DISPLAY:0원격 세션에서 그래픽 카드 드라이버에 액세스 할 수 있도록 variable을로 설정하십시오 .

    $ 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}'Bumblebee를 사용중인 경우


1

다음 명령을 실행하여 정보를 얻을 수 있습니다.

DISPLAY=:0 glxgears -info | grep GL_VERSION

이것은 다음과 같은 반향을 일으 킵니다.

GL_VERSION    = 3.3.0 NVIDIA 340.93

DISPLAY=:0문제가 없는 경우 에도 시도하십시오 . 이 명령 glxgearsmesa-utils패키지로 제공되며 다음과 함께 설치할 수 있습니다.

sudo apt-get install mesa-utils

이것은 나를 위해 일합니다. 프리 스케일 iMX6 Yocto poky 1.6.2.
Jiu

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

우분투 17.10, 개방형 터미널 및 유형;

glxinfo | grep "OpenGL version"

당신은 이와 같은 것을받을 것입니다;

OpenGL version string: 3.0 Mesa 17.2.2

glxinfo 프로그램을 사용할 수 없다는 오류가 표시되면 명령을 입력해야합니다.

sudo apt install mesa-utils
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.