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.