/immersed-docker

Unofficial Docker build for ImmersedVR (https://immersedvr.com/)

Primary LanguageShell

Immersed Docker Image

This Docker image is based on debian:bookworm and uses the AppImage version of Immersed. This is a fork of schrodingersket's image and was made to operate Immersed on Rocky Linux (a RHEL clone). RHEL chooses to require sudo privileges for docker, so this was added to the script. The Docker image is also run with the --priviliged flag, so watch out! I'm not quite sure what specific device was missing, so just privileged everything.


To run this image, execute:

./run.sh

This will grant XSession access to the running container and run the container in host network mode.

If you'd like to run the Intel Media SDK image, set the USE_INTEL_MEDIA_SDK environment variable to true. To utilize nvidia-docker and take advantage of host GPU, set the USE_NVIDIA_GPU environment variable to true. (I have not really tested this at all! --stwerp)

Credentials are persisted in a Docker volume (/root/.Immersed, inside the container), even for multiple Immersed versions or containers. To reset to an unauthorized state, run docker volume rm immersed after removing all existing Immersed containers. (I also am not sure about this. I just download the AppImage and run that in the container. I'm not sure where it stores things, but the container does execute as root user. --stwerp)

To build the Docker image, execute the following:

./build.sh

Check out ImmersedVR's Discord community for more information: https://immersedvr.com/community

Final Disclaimer: I basically know nothing about docker and learnt just enough to get Immersed running and here's the result. Please feel free to fork and em-better-ify it!

If you're fooling around with multiple screens in software, there's a pinned sticky in the discord channel and is based off of [[https://github.com/dianariyanto/virtual-display-linux/blob/master/vdl-monitor.conf][this repository]]. I couldn't get it to work well enough, but was able to force an unused HDMI port to run. I have two physical displays that are mirrored in Immersed, and one "fake" display that renders to an unused HDMI port. The virtual displays in the linked repository caused some display issues I couldn't resolve.