Настроить Singularity для рендеринга без подключения / использования OpenGL / glxgears / glxinfo

Я хочу выполнять безгласный рендеринг на сервере, где у меня нет прав root. Поэтому я создал контейнер Singularity следующим образом:

Bootstrap: docker
From: nvidia/cuda:9.0-runtime-ubuntu16.04

%post
    apt-get update &&  apt-get -y install \
    python3-pip \
    python3-tk \
    libgtk2.0-dev \
    libgl1-mesa-glx \
    xvfb \
    mesa-utils \
    xserver-xorg \
    nvidia-settings \

    touch /usr/bin/nvidia-smi
    touch /usr/bin/nvidia-xconfig  # not working

После того, как я выполнил свой контейнер:

singularity exec --nv rendering.img bash

Я хочу проверить, все ли работает:

export DISPLAY=:99.0
Xvfb :99 -screen 0 640x480x24 &

Xvfb :99 -screen 0 640x480x24 &
[1] 20059
XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will not be created.

glxinfo | grep "OpenGL version"
Error: couldn't find RGB GLX visual or fbconfig

Когда я это сделаю: nvidia-smi все работает (драйверы все должно быть в порядке). Что мне здесь не хватает?

0
задан 19 June 2018 в 00:15
1 ответ

nvidia-smi не запускать openGL при выполнении,

каталог /tmp/.X11-unix имеет сокет unix для связи с X-сервером.

по какой-то причине у вас нет разрешения для записи в /tmp/.X11-unix, потому что Xvfb необходимо создать сокет в этом каталоге.

0
ответ дан 5 December 2019 в 05:55

Теги

Похожие вопросы