🚀 This repository provides a bunch of Docker images for Blender optimized for headless rendering. It fully supports both EEVEE and CYCLES render engines with GPU acceleration through EGL.
docker run -it --rm --gpus all -v $(pwd):/workspace -w /workspace meihaiyi/blender:blender-3.6-cuda11.7.1-ubuntu20.04docker build -t meihaiyi/blender:blender-3.6-cuda11.7.1-ubuntu20.04 . --build-arg BLENDER_VERSION=3.6.18 --build-arg UBUNTU_CUDA_VERSION=11.7.1-cudnn8-devel-ubuntu20.04docker run --rm --gpus all -v $(pwd):/workspace -w /workspace meihaiyi/blender:blender-3.6-cuda11.7.1-ubuntu20.04 blender -b --python tests/render_eevee.pydocker run --rm --gpus all -v $(pwd):/workspace -w /workspace meihaiyi/blender:blender-3.6-cuda11.7.1-ubuntu20.04 blender -b --python tests/render_cycles.py- EGL support and libglvnd.
- Enable the
graphicscapability for environment variableNVIDIA_DRIVER_CAPABILITIES, doc.
The GitHub Actions workflow in .github/workflows/docker-build-push.yml builds and pushes the Docker image to Docker Hub for each Blender version and Ubuntu version.
EGL rendering:
- https://c.pgdm.ch/notes/eevee-docker-gpu
- https://archive.blender.org/developer/D6585
- https://archive.blender.org/developer/D15555
- https://projects.blender.org/blender/blender/commit/3195a381200eb98e6add8b0504f701318186946d
- https://github.com/NVIDIA/libglvnd
Nvidia container toolkit:
- https://blenderartists.org/t/belender-4-2-1-eevee-does-not-work-inside-docker/1551491/6
- https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/docker-specialized.html
- https://download.nvidia.com/XFree86/Linux-x86_64/460.56/README/installedcomponents.html
Blender images: