Skip to content
Tristan Carel edited this page Nov 2, 2017 · 5 revisions

The page provides my ongoing work on Brayns

Using braynsViewer from Docker container

Purpose is to make braynsViewer runs in a container and use both X server and Nvidia driver of the host

Use X server on the host

To execute firefox from within a container, the following packages are required:

apt-get install -y mesa-utils libgl1-mesa-glx

Then the container can be started with the command below:

xhost +
docker run -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY --rm -ti --entrypoint bash <IMAGE> -c firefox

Use nvidia-docker

nvidia-docker seems to be the proper tool to provide GPU capabilities to a container https://github.com/NVIDIA/nvidia-docker

To test installation: https://www.pugetsystems.com/labs/hpc/Docker-and-NVIDIA-docker-on-your-workstation-Using-Graphical-Applications-915/

Current issue

nvidia-docker run -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY --rm -ti --entrypoint bash <IMAGE> -c braynsViewer
[...]
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  6 (X_GLXIsDirect)
  Serial number of failed request:  42
  Current serial number in output stream:  41
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  24 (X_GLXCreateNewContext)
  Value in failed request:  0x0
  Serial number of failed request:  41
  Current serial number in output stream:  42

OpenCL samples seems to be working with nvidia-docker though