我正在为BioMesh3D开发一个远程可视化项目,利用增强的服务器进行处理和渲染。如果我们将用户设置为自动登录到图形桌面,那么很容易让它工作,因为这样我们就有了一个正在运行的 xserver。我们希望完全无头地运行它,而不必进行自动登录。
如果我们想完全无头地运行服务器,似乎我们唯一的选择就是依赖像 Xvfb 这样的东西。但是当我们进行一些相当复杂的渲染时,我们想利用独立显卡。
是否可以让 Xvfb 使用视频卡?如果没有,我们可以使用其他方法吗?
如果您想在 linux 上使用硬件 OpenGL 渲染,那么您的选择是:
NVIDIA 二进制 blob 支持运行无头 X 服务器(甚至多个)。查看http://vizstack.sourceforge.net/项目以获取详细信息。
至于VirtualGL,它会让你在不修改你的应用程序的情况下实现透明的远程渲染(我不明白你的“它有点太侵入性”或“重写应用程序”的评论,你能扩展吗?),但它仍然需要X服务器运行。(更新:VirtualGL 3 支持 EGL 后端,并且不需要 X 服务器。)