ILLIXR-docker is a GPU-enabled Docker container that provides a development-ready environment for ILLIXR, supporting GUI passthrough on both Xorg and Wayland. Independent of a Linux distribution, ILLIXR-docker is a streamlined method to try out and develop for ILLIXR.
- Preloaded with CUDA 11.4 Development Kit
- All GPUs are accessable in the container. ILLIXR is tested to launch on both AMD and Nvidia GPUs with or without OpenXR. However, an Nvidia GPU is required to launch ILLIXR-docker as of right now
- The default username and password are both
illixr
- ILLIXR is installed in
/opt/ILLIXR
and tracks the master branch
- Install
nvidia-docker2
. An installation guide by Nvidia is available here for mainstream distributions. - Expose your xhost to Docker. An insecure but easy way is to
xhost +local:root
. To properly configure xhost, please consult the documentation here. - (Optional) Docker Compose if you want to build the image yourself.
docker run -d --privileged --name illixr-docker -e "DISPLAY=${DISPLAY}" --hostname illixr-docker -v /tmp/.X11-unix:/tmp/.X11-unix --gpus all illixr/illixr:nvidia-latest
- Install Docker Compose
- Clone this repository
- Run
sudo docker-compose up -d
to bring up the container
To access bash in your container, run sudo docker exec -it illixr-docker /bin/bash
- Run
glmark2
to check that the OpenGL dispatch through glvnd is working - Run
vulkaninfo
to check whether vulkan loader is working
Run ILLIXR with the desired configuration: ./runner.sh configs/CONFIGURATION_NAME
To mount your working copy of ILLIXR, add a bind mount using the -v
option of docker. For example, to mount ILLIXR (in the current directory) to /ILLIXR in docker, use -v ./ILLIXR:/ILLIXR
To build the image from scratch and bring up the container, run
git submodule update --init
sudo PARALLEL_CORES=$(($(nproc)+1)) docker-compose up -d --build