运行多个 xserver 显示“offscreen”或“headless”

运行多个 xserver 显示“offscreen”或“headless”

我想运行两个或更多显示器,但我只有一个 GPU 和一台显示器。第二个显示器不必在监视器上显示任何内容,虚拟输出将是理想的选择。

我使用 startx 启动新的显示:

startx -- :1

到目前为止一切顺利,我可以使用 Ctrl+Alt+Fx 在计算机上的两个显示器之间切换(其中 x 是一个数字,在我的计算机上它是 7 或 8)。

问题是,当两个显示器都可用并且我当前在显示器 0 上并且我尝试录制显示器 1 时,录制的视频中出现黑屏。主要问题似乎是当 tty 不活动时 xserver 不刷新。

我已经通过确认录音。 ffmpg 的 x11grab 或使用 VLC 按预期工作。

除此之外,我还尝试过 Xephyr、Xnest 和 Xvfb,虽然它们满足了我的需要,但我无法使用它们,因为我在显示器 1 中运行的图形要求非常高(OpenGL),而且我还要在此基础上进行录制。

我还尝试使用 xserver-xorg-video-dummy 与 Xdummy 脚本一起启动显示,它可以工作,但不适用于 OpenGL 应用程序。

非常感谢对此问题的任何帮助!

答案1

我使用 Xephyr 找到了一个不错的解决方法虚拟GL

安装 Xephyr 和虚拟GL,然后使用您喜欢的设置启动 Xephyr:

Xephyr -screen 1024x768 :1

如果一切顺利,您现在可以在 Xephyr 中启动具有 OpenGL 加速功能的可执行文件!

DISPLAY=:1 vglrun -- glxgears

相关内容