什么是可以显示 OpenGL 版本的终端命令?

Kab*_*bus 125 xorg opengl mesa

所以我想知道哪个是我的 OpenGL 版本。我可以通过 SSH 访问 Ubuntu。我应该执行哪个命令?

kar*_*k87 154

要检查 OpenGL 版本,

glxinfo | grep "OpenGL version"

您将获得如下输出,

glxinfo | grep "OpenGL version"
OpenGL version string: 1.4 (2.1 Mesa 7.7.1)
Run Code Online (Sandbox Code Playgroud)

编辑:

鉴于核心和兼容配置文件以及各种 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
Run Code Online (Sandbox Code Playgroud)

请注意,实际版本显示为“核心配置文件版本”(4.1),而“OpenGL 版本”显示为 3.0。

  • 小心!glxinfo 告诉您 DISPLAY 使用的 OpenGL 版本,而不是远程机器!但是,它会告诉您远程机器的 GLX 版本(“客户端”位)。 (6认同)
  • 注意:在 Ubuntu 16.04 中,`glxinfo` 默认不可用。为了能够使用它,你需要安装 `mesa-utils` 包。 (5认同)

tho*_*ace 24

取决于您要查找的内容:

Open GL 实现

您可以使用 mesa-utils 包中的 glxinfo:

sudo apt-get install mesa-utils

glxinfo | grep "OpenGL version"
Run Code Online (Sandbox Code Playgroud)

开发库

这有点取决于,

dpkg -s [package name]
Run Code Online (Sandbox Code Playgroud)

会告诉你任何包的版本信息等。

但是您需要知道您对 opengl 的哪些特定部分/实现等感兴趣。我怀疑,对您来说,它将是:

dpkg -s libglu1-mesa
Run Code Online (Sandbox Code Playgroud)


swa*_*log 18

注意:我稍后添加了这个答案,因为现有的答案都没有解决有关 ssh 的关键方面,并且会给遵循上述说明的人提供误导性的值

  1. ssh-ing 时使用 X-forwarding。这是启用的ssh -X

    没有 x 转发:

    $ ssh MYCOMP
    $ glxinfo
    Error: unable to open display
    
    Run Code Online (Sandbox Code Playgroud)

    使用 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:
    
    Run Code Online (Sandbox Code Playgroud)

    我应该在这里注意,这既是错误的显卡,也是错误的版本号。(就您的期望而言,“错误”)。

  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:
    
    Run Code Online (Sandbox Code Playgroud)

    这会列出正确的图形卡(远程计算机上的图形卡)以及正确的版本号。


yak*_*dbz 5

对于那些只想要版本号的人,例如在程序的参数中给出它,你可以使用

$ glxinfo | awk '/OpenGL version/ {print $4}'
3.0
Run Code Online (Sandbox Code Playgroud)

注意:optirun glxinfo | awk '/OpenGL version/ {print $4}'如果您使用的是大黄蜂


小智 5

您可以通过运行以下命令来获取信息:

DISPLAY=:0 glxgears -info | grep GL_VERSION
Run Code Online (Sandbox Code Playgroud)

这回响了类似的内容:

GL_VERSION    = 3.3.0 NVIDIA 340.93
Run Code Online (Sandbox Code Playgroud)

DISPLAY=:0如果出现问题也可以尝试不使用。该命令glxgears位于mesa-utils可以通过以下命令安装的包中:

sudo apt-get install mesa-utils
Run Code Online (Sandbox Code Playgroud)