没有监视器的OpenGL上下文

3
我想创建一个OpenGL上下文,但该上下文必须在没有连接到系统的显示器的情况下创建。我需要这样做的原因是因为该程序应该在Linux Ubuntu服务器上运行。具体来说,是在Docker镜像中。我正在使用许多OpenGL库,包括现代OpenGL(GLSL)、GLFW、glad和glm。我找到了这个问题,但我不确定其中的方法是否有效,而且它可能有点过时。我还看到有人在一个过时的网站上使用类似这样的东西,但我不知道如何实现它:
glXMakeContextCurrent(display,None,None,context);

我认为它仍需要一个窗口作为display,如果没有,那么displaycontext变量的类型是什么,在哪里可以下载glX?

编辑:我只在本地机器上使用GLFW进行窗口/上下文创建,因此可以将其排除在外。


1
我有点确定你可以通过一些Linux命令模拟显示器的存在。 - Alexey Larionov
@AlexeyLarionov 我该如何模拟一个?你能给我指点一下吗? - Turgut
@AlexeyLarionov 我尝试运行 apt-get install xserver-xorg-video-dummy,但它卡在“选择键盘布局的国家”问题上,我回答了它,但当我按下回车键时没有任何反应。我该怎么办? - Turgut
1
我自己从未使用过,但是有xvfb。应该可以通过sudo apt-get install xvfb进行安装,并通过xvfb-run -a "your command"为您的应用程序可执行文件使用。 - Alexey Larionov
可以把它作为答案发布,这样我就可以接受了吗? - Turgut
2
您还可以看看 EGL,它是为此目的设计的,而且出于这个原因,它很可能会在未来取代 GLX(例如,Wayland 使用 EGL)。 - user253751
1个回答

2
你可以使用X虚拟帧缓冲器在Linux中模拟物理显示器的存在。
它可以通过安装来实现。
apt-get install xvfb

并被用作

xvfb-run -a "your command"

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