使用Xvfb运行OpenGL特效版本吗?

3
我正在尝试在无头Ubuntu服务器上运行OpenGL。
GPU /驱动程序:NVIDIA Geforce GTX 1080Ti /版本418.67
使用freeglut(通过运行apt install freeglut3-dev安装)
使用Xvfb(因为这是一个无头服务器)
当我运行glxinfo | grep "OpenGL version"时,它显示OpenGL version string: 3.1 Mesa 19.2.8。因此,我无法运行需要OpenGL 3.3的代码。
由于驱动程序418.67不是最新的,我可以考虑更新驱动程序,但我想确保这是否会对Xvfb产生影响。当我使用Xvfb运行gl上下文时,它是否会影响驱动程序和它支持的OpenGL版本?还是唯一能做的就是更新驱动程序?
1个回答

3

Xvfb是一种X服务器,其主要目的是提供X11服务而无需专用图形硬件(即GPU)。因此,它恰恰与您想要的相反。

要么完全不使用X11并创建一个无头EGL OpenGL上下文:https://devblogs.nvidia.com/egl-eye-opengl-visualization-without-x-server/

要么在GPU上使用“常规”的Xorg服务器,而没有连接显示和输入设备(您实际上可能希望在配置中禁用自动输入设备附加)。

就个人来说,我会选择无头EGL。


2
我想要运行的代码使用了glut(Python OpenGL.GLUT)。是否可以轻松地在使用glut编写的代码中使用无头EGL上下文?或者你能否为我指出更多关于第二个选项(常规Xorg服务器,没有显示和输入设备)的信息?谢谢您的回复! - tink
如果我没有游戏所需的GPU,我该怎么办? - bjcullinan
@bjcullinan 我觉得我没有完全理解你的问题。通常情况下,你会希望在屏幕上运行游戏,而不是在Xvfb创建的无头环境中运行。如果你的评论是关于在没有GPU的情况下运行游戏,那么这个问题就是错误的。Xvfb的目的是为那些没有显示器连接的系统提供图形环境(比如服务器、云虚拟机等)。 - datenwolf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接