Vivecraft#
Vivecraft works out of the box with a functioning Monado/WiVRn + xrizer setup.
Currently, the recommended launcher for Minecraft is Prism Launcher. It runs natively on Linux and can pull mods from Modrinth, CurseForge, FTB, and others.
Flatpak launcher users#
With WiVRn#
If your Minecraft launcher is installed via Flatpak, you must grant it access to the relevant paths before Vivecraft will work.
The command below shows how to grant the required permissions to a Flatpak installation of Prism Launcher. However, it can also be used for other launchers by replacing org.prismlauncher.PrismLauncher with the Flatpak app ID of your preferred launcher.
If your launcher is installed in the system Flatpak installation (as opposed to the user Flatpak installation), remove the --user flag from this command. You can check which one it’s in by running flatpak list and looking at the rightmost column.
flatpak override --user \
--filesystem=xdg-config/openxr:ro \
--filesystem=xdg-config/openvr:ro \
--filesystem=xdg-run/wivrn \
--filesystem=/var/lib/flatpak/app/io.github.wivrn.wivrn:ro \
--filesystem=~/.var/app/io.github.wivrn.wivrn:ro \
org.prismlauncher.PrismLauncherWith Envision#
If you want to use Vivecraft with Envision development profiles, your Minecraft launcher cannot be installed as a Flatpak. You must install it as a system package through your distro’s package manager.
If you’re a motivated developer, this next section is a list of technical hurdles to overcome before such a thing would be possible. It may also serve as a partial reference for common Vivecraft error messages.
Technical details
- Vivecraft reports “Installation path could not be located (110)” - Flatpak needs access to
xdg-config/openvr:roto read the OpenVR manifest at openvrpaths.vrpath. - “Installation Not Found (100)” - OpenVR manifest still points to SteamVR and cannot be followed. Monado session must be running first. Or, manifest points to built development profiles in
~/.local/share/envision, so must first exposexdg-data/envision:ro. - “vrclient Shared Lib Not Found (102)” - xrizer is found, but Envision development profiles build the xrizer client library
vrclient.soin the system environment which could be much newer than the runtime in the Flatpak, meaning Vivecraft would fail to load them with this error. Verified by runninglddon it in the container which reports “versionGLIBC_2.43not found”. OpenXR client library has the same problem as well.- Download xrizer nightly from GitHub, which is built with
ubuntu-latest, and modify OpenVR manifest to refer to this directly, or useVR_OVERRIDE.
- Download xrizer nightly from GitHub, which is built with
- “VRInitError_Init_VRServiceStartupFailed” - xrizer does load, but according to
~/.var/app/org.prismlauncher.PrismLauncher/.local/state/xrizer/xrizer.txt, OpenXR runtime is not available. - Adding
XR_LOADER_DEBUG=allin instance settings prints logs that show the OpenXR manifest is not found. Exposexdg-config/openxr:ro. - Since Envision development profiles build the OpenXR client library
libopenxr_monado.soin the system environment as well, Vivecraft fails to load it, for the same reason as thevrclient.soabove. There isn’t a workaround for this. - Monado places its IPC socket at
/run/user/1000/monado_comp_ipc(that is, directly insidexdg-run) rather than in a subdirectory like WiVRn does. Flatpak cannot directly expose the whole ofxdg-run, so Monado’s socket can’t be shared. This could be worked around by building with the CMake optionXRT_IPC_MSG_SOCK_FILENAME=monado/comp_ipcand manually creating that directory before starting.
Troubleshooting#
xrizer error “ERROR_LIMIT_REACHED”#
This error used to happen when you hit Monado/WiVRn’s old limit of 256 actions, caused by having too many bindings created by mods.
In recent Monado and WiVRn versions, this has been fixed to allow for way more actions, so just update.
Previously, the workaround was to either remove mods or switch to VapoR, an experimental and WIP alternative to xrizer.