k7 / docker-nvidia-egl-desktop

MATE Desktop container for NVIDIA GPUs without using an X Server, directly accessing the GPU with EGL to emulate GLX using VirtualGL and TurboVNC. Does not require /tmp/.X11-unix host sockets.

Home Page:https://hub.docker.com/r/ehfd/nvidia-egl-desktop

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

docker-nvidia-egl-desktop

MATE Desktop container for NVIDIA GPUs without using an X Server, directly accessing the GPU with EGL to emulate GLX using VirtualGL and TurboVNC. Does not require /tmp/.X11-unix host sockets.

Use docker-nvidia-glx-desktop for a MATE Desktop container with Vulkan support for NVIDIA GPUs by spawning its own X Server without /tmp/.X11-unix host sockets.

Requires NVIDIA GPU drivers and corresponding container toolkits for allocating GPUs to be set up on the host.

Connect to the spawned noVNC WebSocket instance with a browser in port 5901, no VNC client required (password for the default user is 'vncpasswd').

Note: Requires access to the corresponding /dev/dri/cardX and /dev/dri/renderDX DRM devices of the allocated NVIDIA GPU. Check out k8s-hostdev-plugin for provisioning this in Kubernetes clusters without privileged access.

For building Ubuntu 18.04 containers, in Dockerfile change FROM nvidia/opengl:1.2-glvnd-runtime-ubuntu20.04 to FROM nvidia/opengl:1.2-glvnd-runtime-ubuntu18.04 and remove the render group in the command adding secondary groups to the default user, then in bootstrap.sh comment out pulseaudio --start.

For Docker this will be sufficient (the container will not use DRM devices it is not allocated to):

docker run --gpus 1 --device=/dev/dri:rw -it -e SIZEW=1920 -e SIZEH=1080 -e CDEPTH=24 -e SHARED=TRUE -e VNCPASS=vncpasswd -p 5901:5901 ehfd/nvidia-egl-desktop:latest

About

MATE Desktop container for NVIDIA GPUs without using an X Server, directly accessing the GPU with EGL to emulate GLX using VirtualGL and TurboVNC. Does not require /tmp/.X11-unix host sockets.

https://hub.docker.com/r/ehfd/nvidia-egl-desktop

License:GNU Affero General Public License v3.0


Languages

Language:Dockerfile 85.7%Language:Shell 14.3%