我在远程无头 ubuntu 服务器中有一个显卡。我已将 nvidia-xconfig 设置为进行虚拟显示。我需要虚拟 x 服务器,而不是 xvfb,以无头运行统一游戏,但录制游戏渲染视频。xvfb 确实可以正常工作,但它不使用显卡,这使得渲染非常慢。
如果我运行单个游戏,这适用于 xinit。
xinit ./game.x86_64
开始游戏并毫无问题地渲染游戏。
但是,当我尝试使用不同的 x 服务器同时启动多个游戏时:
xinit ./game1.x86_64 -- :0
xinit ./game2.x86_64 -- :1
这不能正确渲染。其中一个游戏(最先开始的那个)没有渲染。(查看录制的视频)据我所知,这是因为单个显卡只能运行单个x-server。
然后,我通过调整 xorg.conf 设置多个屏幕并尝试
xinit ./game1.x86_64 -- :0.0
xinit ./game2.x86_64 -- :0.1
然而,由于 xinit 试图启动一个新服务器,后者不起作用,告诉已经有一个 x-server 在 X:0 运行
如果我搜索多显示器 x-server 设置,我只能找到真实的显示器设置,但我需要的是虚拟显示器设置。
有没有办法在无头服务器中启动多个需要屏幕的应用程序?
我想我需要知道的是
一种启动具有多个屏幕的 x-server 并告诉应用程序使用哪个屏幕或
一种在控制台上远程使用 Windows 管理器的方法
如果有更好的解决方案,或者我错过了一些东西,那也会很有帮助。