Google Compute 上的无头 OpenGL 渲染

Google Compute 上的无头 OpenGL 渲染

我在 Google Compute Engine 上创建了一个 GPU 实例,并连接了 NVIDIA Tesla K80。我已在此基础上安装了 GPU 驱动程序和 CUDA指导

nvidia-smi 检查 -好的。

nvcc-V 检查-好的

现在我正在尝试确保我可以使用 OpenGL 运行无头渲染。

我尝试过这个:

sudo nvidia-xconfig -a --use-display-device=none

配置 xconfig。

然后:

export DISPLAY=:0

最后,运行glxgears:

glxinfo | grep OpenGL

我收到此错误:

未指定协议错误:无法打开显示:0

我的 xorg.conf 文件如下所示:

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 390.30  (buildmeister@swio-display-x64-rhel04-14)  Wed Jan 31 22:46:17 PST 2018
Section "ServerFlags"
     Option "IgnoreABI" "True"
     Option "nolisten" "True"
     Option "AutoAddDevices" "False"
EndSection
Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "nvidia" 0 0
EndSection
Section "Files"
EndSection
Section "Device"
    Identifier     "nvidia"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "Tesla K80"
    BusID          "PCI:0:4:0"
EndSection
Section "Screen"
    Identifier     "nvidia"
    Device         "nvidia"
    Option         "UseDisplayDevice" "none"
EndSection

我的配置缺少什么?

我的操作系统:Ubuntu 16.04

答案1

我不确定同样的事情是否适用于您完全无头运行的情况,但我最近为 VNC 设置了一个云计算实例,并且为了使 OpenGL 正常工作,我必须遵循本指南并安装 VirtualGL。 https://virtualgl.org/Documentation/HeadlessNV

对于您来说,您可能只需要执行以下操作:

sudo nvidia-xconfig -a --allow-empty-initial-configuration --virtual=1920x1200 --busid PCI:0:4:0

相关内容