diff --git a/docs/images/docker-boinc.md b/docs/images/docker-boinc.md index 8040a49ac..331d55602 100644 --- a/docs/images/docker-boinc.md +++ b/docs/images/docker-boinc.md @@ -167,6 +167,31 @@ It is possible to install extra packages during container start using [universal - INSTALL_PACKAGES=libfuse2|git|gdb ``` +### Hardware Acceleration + +Many desktop applications need access to a GPU to function properly and even some Desktop Environments have compositor effects that will not function without a GPU. However this is not a hard requirement and all base images will function without a video device mounted into the container. + +#### Intel/ATI/AMD + +To leverage hardware acceleration you will need to mount /dev/dri video device inside of the container. + +```text +--device=/dev/dri:/dev/dri +``` + +We will automatically ensure the abc user inside of the container has the proper permissions to access this device. + +#### Nvidia + +Hardware acceleration users for Nvidia will need to install the container runtime provided by Nvidia on their host, instructions can be found here: +https://github.com/NVIDIA/nvidia-container-toolkit + +We automatically add the necessary environment variable that will utilise all the features available on a GPU on the host. Once nvidia-container-toolkit is installed on your host you will need to re/create the docker container with the nvidia container runtime `--runtime=nvidia` and add an environment variable `-e NVIDIA_VISIBLE_DEVICES=all` (can also be set to a specific gpu's UUID, this can be discovered by running `nvidia-smi --query-gpu=gpu_name,gpu_uuid --format=csv` ). NVIDIA automatically mounts the GPU and drivers from your host into the container. + +#### Arm Devices + +Best effort is made to install tools to allow mounting in /dev/dri on Arm devices. In most cases if /dev/dri exists on the host it should just work. If running a Raspberry Pi 4 be sure to enable `dtoverlay=vc4-fkms-v3d` in your usercfg.txt. + ## Usage To help you get started creating a container from this image you can either use docker-compose or the docker cli.