VirtualGL 和 TurboVNC:显示“:0.0”时缺少扩展 "GLX"
VirtualGL and TurboVNC: extension "GLX" missing on display ":0.0"
我在 AWS 上有一台带有 Nvidia GRID 卡 K520 的远程计算机,我想远程渲染 3D 图形。我使用 Ubuntu 14.04 - 64 位。远程和本地。
对于远程连接和 OpenGL 渲染,我们使用 VirtualGL 和 TurboVNC (*amd64.deb).
我正确安装了 VirtualGL 和 TurboVNC,并且我有 Nvidia 驱动程序。
据我了解,VirtualGL 在远程计算机上使用显示 :0,而 TurboVNC 使用显示 :1。
当我连接到远程机器并且我想要 运行 一个 3D 应用程序(通过 vgl运行 )时,它给我错误:
显示“:0.0”时缺少扩展名 "GLX"。
我不明白 VirtualGL 如何在带有 TurboVNC 的远程计算机上工作,它如何使用显示器 :0 以及它是否正常。
我需要设置什么吗(.conf,图形驱动程序)。我一遍又一遍地安装它,尝试搜索答案,但我没有找到解决方案。
找到解决方案
我。回顾
AWS (EC2 gl2.2xlarge) 上的远程计算机 运行ning 在 64 位 Ubuntu 14.04 上。我正确安装了 VirtualGL、TurboVNC 和 Nvidia 352.63 驱动程序 (cuda 7.0)。
我远程连接到aws实例。
运行 TurboVNC 服务器:
/opt/TurboVNC/bin/vncserver
运行 TurboVNC 客户端并连接到远程计算机:
/opt/TurboVNC/bin/vncviewer
当我想在远程电脑上运行应用程序时出现错误。
/opt/VirtualGL/bin/vglrun <application>
错误:显示“:0.0”时缺少扩展名“GLX”
二.解决方案
首先在远程电脑上输入:
sudo xinit &
运行 远程电脑上的应用程序
/opt/VirtualGL/bin/vglrun <application>
例子:
/opt/VirtualGL/bin/vglrun glxgears
sudo xinit &
sudo xinit &
是什么?
要将 OpenGL 应用程序传输到远程计算机上的 运行,我需要启动第二个 X 服务器,VirtualGL 使用该服务器与 NVIDIA GPU 通信。第二个 X 服务器将以 sudo xinit &
.
开头
一些有用的检查
- 检查电脑上的 VGA 设备:
lspci | grep VGA
这在使用 Nvidia GRID 卡 K520 的 AWS (EC2 gl2.2xlarge) 上显示:
00:02.0 VGA compatible controller: Cirrus Logic GD 5446
00:03.0 VGA compatible controller: NVIDIA Corporation GK104GL [GRID K520] (rev a1)
- 检查驱动程序:
nvidia-smi
如果它显示一些有用的信息,那么驱动程序正在工作:
NVIDIA-SMI 352.63
驱动版本:352.63
一些有用的信息来自 xorg.conf (/etc/X11/xorg.conf)
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BusID "0:3:0"
EndSection
Section "Device"
Identifier "Device1"
Driver "vesa"
BusID "0:2:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "UseDisplayDevice" "none"
SubSection "Display"
Depth 24
EndSubSection
EndSection
我在 AWS 上有一台带有 Nvidia GRID 卡 K520 的远程计算机,我想远程渲染 3D 图形。我使用 Ubuntu 14.04 - 64 位。远程和本地。 对于远程连接和 OpenGL 渲染,我们使用 VirtualGL 和 TurboVNC (*amd64.deb).
我正确安装了 VirtualGL 和 TurboVNC,并且我有 Nvidia 驱动程序。
据我了解,VirtualGL 在远程计算机上使用显示 :0,而 TurboVNC 使用显示 :1。
当我连接到远程机器并且我想要 运行 一个 3D 应用程序(通过 vgl运行 )时,它给我错误:
显示“:0.0”时缺少扩展名 "GLX"。
我不明白 VirtualGL 如何在带有 TurboVNC 的远程计算机上工作,它如何使用显示器 :0 以及它是否正常。
我需要设置什么吗(.conf,图形驱动程序)。我一遍又一遍地安装它,尝试搜索答案,但我没有找到解决方案。
找到解决方案
我。回顾
AWS (EC2 gl2.2xlarge) 上的远程计算机 运行ning 在 64 位 Ubuntu 14.04 上。我正确安装了 VirtualGL、TurboVNC 和 Nvidia 352.63 驱动程序 (cuda 7.0)。
我远程连接到aws实例。
运行 TurboVNC 服务器:
/opt/TurboVNC/bin/vncserver
运行 TurboVNC 客户端并连接到远程计算机:
/opt/TurboVNC/bin/vncviewer
当我想在远程电脑上运行应用程序时出现错误。
/opt/VirtualGL/bin/vglrun <application>
错误:显示“:0.0”时缺少扩展名“GLX”
二.解决方案
首先在远程电脑上输入:
sudo xinit &
运行 远程电脑上的应用程序
/opt/VirtualGL/bin/vglrun <application>
例子:
/opt/VirtualGL/bin/vglrun glxgears
sudo xinit &
sudo xinit &
是什么?
要将 OpenGL 应用程序传输到远程计算机上的 运行,我需要启动第二个 X 服务器,VirtualGL 使用该服务器与 NVIDIA GPU 通信。第二个 X 服务器将以 sudo xinit &
.
一些有用的检查
- 检查电脑上的 VGA 设备:
lspci | grep VGA
这在使用 Nvidia GRID 卡 K520 的 AWS (EC2 gl2.2xlarge) 上显示:
00:02.0 VGA compatible controller: Cirrus Logic GD 5446
00:03.0 VGA compatible controller: NVIDIA Corporation GK104GL [GRID K520] (rev a1)
- 检查驱动程序:
nvidia-smi
如果它显示一些有用的信息,那么驱动程序正在工作:
NVIDIA-SMI 352.63
驱动版本:352.63
一些有用的信息来自 xorg.conf (/etc/X11/xorg.conf)
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BusID "0:3:0"
EndSection
Section "Device"
Identifier "Device1"
Driver "vesa"
BusID "0:2:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "UseDisplayDevice" "none"
SubSection "Display"
Depth 24
EndSubSection
EndSection