为什么 VirtualGL 在主机重启后会引发 *无法打开显示:0* 错误

为什么 VirtualGL 在主机重启后会引发 *无法打开显示:0* 错误

我正在使用 vncserver 连接到网络中的 CentOS7 机器。为了利用 3D 图形加速,我使用虚拟GL. 因此,任何 OpenGL 程序都需要使用运行利用 OpenGL。

这很有效,但前提是我先在 DISPLAY 0 上登录并启动至少一个 OpenGL 应用程序。换句话说:

如果我

  • 重启机器,
  • 直接启动 vncserver 并
  • 通过客户端连接它,

没有 OpenGL 应用程序运行,我收到错误

[VGL] ERROR: Could not open display :0.

当我登录 DISPLAY 0 并启动 OpenGL 应用程序时,错误就不会再发生,直到机器再次重新启动。

我的问题:
如何使用运行 OpenGL 应用程序运行重新启动机器后,如果不先在 DISPLAY 0 上运行 OpenGL 应用程序?

答案1

正如在这个问题中所说:设置 vnc 服务器且无物理显示:Ubuntu 16.04 LTS

解决这个问题的方法是添加以下几行/etc/X11/xorg.conf

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    Option         "AllowEmptyInitialConfiguration" "True" # <-- This line is new
    EndSubSection
EndSection

答案2

就我而言,我重新安装了 VirtualGL,这次我将gdm用户添加到vglusers组中:

sudo adduser gdm vglusers

相关内容