2017-01-19 10 views
2

Я пытаюсь получить opengl, работающий для безголового рендеринга на экране в экземпляре Amazon p2 с Ubuntu Ubuntu Server 16.04.Запуск OpenGL на экземплярах GPU AWS с Ubuntu

После создания экземпляра я установил соответствующие драйверы NVidia согласно this amazon article, и они, кажется, работает, как ожидалось:

$ 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 

Изменение идентификатора BusID в Xorg.conf, как указано в соответствующем вопросе stackoverflow, не помогло.

$ 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 

Я гугл достаточно интенсивно, и это непонятно мне, как действовать дальше ... Любая помощь будет оценен

ответ

1

При использовании NVidia пожалуйста, рассмотреть информацию устаревшей, которая дается в соответствующем вопросе вы связаны между собой.

Примерно через год драйверы NVidia поддерживают настоящую безголовую работу без запуска X-сервера. См. Эту исчерпывающую статью, представленную в блоге разработчиков Nvidia: https://devblogs.nvidia.com/parallelforall/egl-eye-opengl-visualization-without-x-server/

+0

Я вижу. Тем не менее, я пытаюсь запустить [headless-gl] (https://github.com/stackgl/headless-gl#how-can-headless-gl-be-used-on-a-headless-linux-machine). Они сами рекомендуют использовать для этого xvfb, который, похоже, не подключается к графическому процессору. Когда я удаляю драйверы nvidia, он работает, но тогда, вероятно, вместо этого используется процессор. –

+0

@FilidorWiese: Действительно, Xvfb никогда не будет ускоренным GPU, потому что Xvfb * всегда * работает с фреймбуфером на стороне процессора и не знает, как разговаривать с драйверами устройств. В общем, при работе с графическими процессорами NVidia вы хотите * никогда не устанавливать что-либо, связанное с Mesa. NVidia и Mesa вообще не играют хорошо друг с другом. По правде говоря, я думаю, что было бы более целесообразно инвестировать время в добавление безгласной поддержки EGL для узла/headless-gl, скорее пытающегося скопировать ленту вокруг проблемы. – datenwolf