VR
Jump to navigation
Jump to search
This page goes into detail on the solutions used to get VR working underneath FEX, expect major jank.
- It's also recommended you use a system that can support desktop class graphics cards (This is a good spot to check which platforms that do)
SteamVR
SteamVR is not currently functional under FEX.
Behaviour
- Launching SteamVR with a natively supported HMD like a Valve Index will briefly display a static view in the HMD that will flicker, but that's about it
- Despite this, it's still recommended to have it installed if you plan on using a SteamVR headset, as it provides a calibration tool for them, as well as the lighthouse driver that Monado makes use of for tracking
Monado
Generally the preferred VR runtime of choice on Linux. An open source OpenXR runtime with support for a plethora of headsets.
Building
Aarch64 Monado will not be able to run x86-64 VR applications, so for the majority of VR software, you will need to build Monado for x86-64
- Open a terminal and naviagate to your RootFS in ~/.fex-emu/RootFS/
- run sudo ./chroot.py chroot
- For an Ubuntu based RootFS, run apt update, then apt build-dep monado
- If you are using a standalone HMD like a Quest, you will want to get the dependencies for WiVRn, dependencies for debian can be found here
Envision
Envision is a GTK4 frontend that simplifies the ease of use for Monado.
- Appimages are available on their Gitlab,however this can be built for x86-64 in the RootFS if you wish
- If you have issues running the appimage directly, you run the appimage with the --appimage-extract argument, then run the binary in `squashfs_root/usr/bin`
- Open Envision and click Build Profile
- You'll want to build the Lighthouse Driver profile for SteamVR headsets, and WiVRn for Quests and other standalone HMDs
- For SteamVR headsets, place your HMD in the middle of your playspace, and click Calibrate underneath SteamVR Quick Calibration
- you will see the SteamVR space display breifly in the headset, the process likely won't close on its own, so you'll want to find the vrcmd and other related steamvr tasks in htop and terminate them manually
- From here, you can start the profile, and run a SteamVR game and give it a spin (xrgears is a good way to test if things are working)
Problems
SteamVR headsets have unstable tracking
Headsets like the Valve Index which rely on SteamVR's lighthouse drivers for tracking will experience periodic freezes of the VR view
- No idea why this happens, but it makes the Index practically unusable in this configuration
- Libsurvive lighthouse driver might provide different results, but this has yet to be tested.