我在AWS上有一台带有Nvidia GRID卡K520的远程计算机,并希望远程渲染3D图形。我使用Ubuntu 14.04 - 64位。远程和本地。 对于远程连接和OpenGL渲染,我们使用VirtualGL和TurboVNC(* amd64.deb)。
我正确安装了VirtualGL和TurboVNC,并且我有Nvidia驱动程序。
据我所知,VirtualGL使用display:0和TurboVNC在远程机器上使用display:1。
当我连接到远程计算机并且我想运行3D应用程序(通过vglrun)时,它给了我错误:
扩展" GLX"显示屏上缺少":0.0"。
我不会动摇VirtualGL如何在使用TurboVNC的远程机器上工作,它如何使用显示器:0以及它是否正常。
我需要设置一些东西(.conf,图形驱动程序)。我试着一遍又一遍地安装它,尝试了解答,但我没有找到解决方案。
答案 0 :(得分:8)
找到解决方案
<强>予。小结强>
AWS上的远程计算机(EC2 gl2.2xlarge)在64位Ubuntu 14.04上运行。我正确安装了VirtualGL,TurboVNC和Nvidia 352.63驱动程序(cuda 7.0)。
我远程连接到aws实例。
运行TurboVNC服务器:
/opt/TurboVNC/bin/vncserver
运行TurboVNC客户端并连接到远程计算机:
/opt/TurboVNC/bin/vncviewer
当我想在远程PC上运行应用程序时出现错误。
/opt/VirtualGL/bin/vglrun <application>
错误:显示“:0.0”
时缺少扩展名“GLX”<强> II。溶液强>
远程PC上的第一个类型:
sudo xinit &
在远程PC上运行应用程序
/opt/VirtualGL/bin/vglrun <application>
实施例:
/opt/VirtualGL/bin/vglrun glxgears
sudo xinit&amp;
sudo xinit &
是什么?
要让OpenGL应用程序在远程计算机上运行,我需要启动第二个X服务器,VirtualGL使用该服务器与NVIDIA gpu通信。第二个X服务器将以sudo xinit &
开头。
一些有用的检查
lspci | grep VGA
这在AWS(EC2 gl2.2xlarge)上展示了Nvidia GRID卡K520:
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