-
Notifications
You must be signed in to change notification settings - Fork 382
Hardware acceleration
x11docker allows hardware acceleration for docker containers with option --gpu
. This wiki page gives some insights to allow custom setups without x11docker.
GPU devices on linux are stored in /dev/dri
.
The most simple setup to allow hardware acceleration is to share these device files with docker run option --device /dev/dri
.
This works flawlessly with open source drivers (MESA) on host and in image.
Additionally it can make sense to share /dev/vga_arbiter
, too, as it may be needed for some multimonitor setups. Use docker run option --device /dev/vga_arbiter
.
- debian and Ubuntu images:
mesa-utils mesa-utils-extra
- CentOS and fedora images:
glx-utils mesa-dri-drivers
- Alpine and NixOS images:
mesa-demos mesa-dri-ati mesa-dri-intel mesa-dri-nouveau mesa-dri-swrast
- Arch Linux images:
mesa-demos
The free driver for NVIDIA graphics cards is nouveau
. With nouveau
driver follow instructions above, it will work out of the box with MESA setups.
Closed source non-free proprietary nvidia-driver
needs a quite customized and non-portable setup.
To ease things, x11docker allows automated install of nvidia driver in containers. Follow instructions given by x11docker terminal output or look at x11docker wiki: NVIDIA driver.
For a setup without automated install by x11docker, you need to install the driver matching your host driver version in image. The image will not be portable anymore.
Find out installed driver version in /proc/driver/nvidia/version
. Get matching installer from https://http.download.nvidia.com/XFree86/Linux-x86_64/. Install it in image.
Share all files matching /dev/nvidia*
with docker run option --device
. Share /dev/dri
and /dev/vga_arbiter
, too.