我试图让opengl在使用Ubuntu Ubuntu Server 16.04的Amazon p2实例上进行无头屏幕渲染。
在创建实例后,我已根据this amazon article安装了相应的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
然后我尝试this related question的步骤:
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
我搜索的内容非常密集,我不清楚如何继续下去...任何帮助都将不胜感激
答案 0 :(得分:5)
关于此的官方文档是http://www.nvidia.com/content/PDF/remote-viz-tesla-gpus.pdf“远程可视化服务器类TESLA GPUS”。阅读第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
您可以按sudo Xorg :1
运行Xorg服务器。
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,
...
答案 1 :(得分:1)
使用NVidia时,请考虑您链接的相关问题中提供的信息已废弃。
现在大约一年,NVidia驱动程序支持真正的无头操作,而无需运行X服务器。请参阅Nvidia开发人员博客上提供的详尽文章:https://devblogs.nvidia.com/parallelforall/egl-eye-opengl-visualization-without-x-server/