问题描述
所以我想知道哪一个是我的OpenGL版本。我可以通过SSH访问Ubuntu。我应该执行哪个命令?
最佳解决办法
检查OpenGL版本,
glxinfo | grep "OpenGL version"
你会得到如下输出,
glxinfo | grep "OpenGL version"
OpenGL version string: 1.4 (2.1 Mesa 7.7.1)
编辑:
您可能有现代的OpenGL只是grepping为”version”代替”OpenGL version”给出的核心和compat的概况,以及各种GLSL和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
请注意,实际版本由“核心配置文件版本”(4.1)表示,而”OpenGL version”表示为3.0。
次佳解决办法
取决于你在找什么:
开放GL实施
您可以使用mesa-utils包中的glxinfo:
sudo apt-get install mesa-utils
glxinfo | grep "OpenGL version"
开发 Library
这取决于一点,
dpkg -s [package name]
会告诉你任何软件包的版本信息等。
但你需要知道你感兴趣的opengl的具体部分/实现等。我怀疑,对你来说,它会是:
dpkg -s libglu1-mesa
第三种解决办法
注意:我在以后的日子里添加了这个答案,因为现有的答案都没有解决关于ssh的关键问题,并且会给遵循上述说明的人提供误导性的价值。
-
ssh-ing时使用X-forwarding。这是用
ssh -X
启用的。没有x-forwarding:
$ ssh MYCOMP $ glxinfo Error: unable to open display
使用x-forwarding:
$ 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:
我在这里应该注意到,这是错误的图形卡和错误的版本号。 (‘Wrong’根据你的期望)。
-
将
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:
这列出了正确的图形卡(远程计算机上的图形卡)以及正确的版本号。
第四种办法
对于那些只想要版本号的人,例如在程序参数中给出它,你可以使用
$ glxinfo | awk '/OpenGL version/ {print $4}'
3.0
注意:如果您使用大黄蜂,则为optirun glxinfo | awk '/OpenGL version/ {print $4}'