我正在尝试使用Ubuntu Ubuntu Server 16.04让opengl在亚马逊p2实例上进行无头屏幕渲染.
实例创建后,我根据这篇亚马逊文章安装了相应的nvidia驱动程序,它们似乎按预期工作:
$ lsmod | grep nvidia nvidia_drm 53248 0 nvidia_modeset 790528 1 nvidia_drm nvidia 11911168 1 nvidia_modeset drm_kms_helper 155648 3 cirrus,nouveau,nvidia_drm drm 364544 7 ttm,drm_kms_helper,cirrus,nouveau,nvidia_drm $ nvidia-smi -q | head ==============NVSMI LOG============== Timestamp : Thu Jan 19 11:22:38 2017 Driver Version : 375.20 Attached GPUs : 1 GPU 0000:00:1E.0 Product Name : Tesla K80 Product Brand : Tesla
我正在尝试这个相关问题的步骤:
sudo apt-get install xserver-xorg libglu1-mesa-dev freeglut3-dev mesa-common-dev libxmu-dev libxi-dev sudo nvidia-xconfig -a --use-display-device=None --virtual=1280x1024 sudo /usr/bin/X :0 &
哪个启动X但运行glxinfo
不起作用:
$ DISPLAY=:0 glxinfo name of display: :0 Xlib: extension "GLX" missing on display ":0". Xlib: extension "GLX" missing on display ":0". (... line repeats couple of times ...) Error: couldn't find RGB GLX visual or fbconfig
如相关stackoverflow问题中所述,更改Xorg.conf中的BusID没有帮助.
$ lspci|grep VGA 00:02.0 VGA compatible controller: Cirrus Logic GD 5446 /etc/X11/xorg.conf Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "Tesla K80" BusID "PCI:0:2:0" EndSection
我已经搜索得非常密集,我不清楚如何继续下去...任何帮助将不胜感激
关于此的官方文档是http://www.nvidia.com/content/PDF/remote-viz-tesla-gpus.pdf “服务器级TESLA GPU上的远程可视化”。阅读第15页。您必须将BusID添加到nvidia-xconfig。
首先,运行nvidia-xconfig --query-gpu-info
。这是我的p2实例结果。
Number of GPUs: 1 GPU #0: Name : Tesla K80 UUID : GPU-f13e8e90-5d2f-f9fb-b7a8-39edf9500698 PCI BusID : PCI:0:30:0 Number of Display Devices: 0
然后,您需要运行此程序。
sudo nvidia-xconfig --busid=PCI:0:30:0 --use-display-device=none --virtual=1280x1024
您可以通过运行Xorg服务器sudo Xorg :1
。
的DISPLAY=:1 glxinfo
结果。
name of display: :1 display: :1 screen: 0 direct rendering: Yes server glx vendor string: NVIDIA Corporation server glx version string: 1.4 server glx extensions: GLX_ARB_context_flush_control, GLX_ARB_create_context, ...