Helping you cut down on all those wires, and potentially making way for cheaper low-end VR headsets for streaming, ElectricMaple was announced by Collabora and PlutoVR joining the likes of WiVRn and ALVR.
ALVR is probably one of the best known VR streaming options, allowing you to stream VR games from your PC to your headset via Wi-Fi that works with SteamVR or Oculus Software (using Revive), and it supports various headsets although their Linux support is still rough.
WiVRn is another, that the developer of posted in our Discord recently, which implements OpenXR, built on top of Monado that the developer says "the client application works on most standalone headsets". This project is a bit more fresh and recent, with the developer noting they "think it is now mature enough for people to use".
And now another has arrived with ElectricMaple that Collabora posted about on their blog today. Working in collaboration with PlutoVR, they note it's "designed to enhance standalone XR experiences through remote-rendering" and that it uses "the power of Monado OpenXR and GStreamer, ElectricMaple enables high-quality XR streaming from graphics-capable servers to lightweight standalone headsets".
ElectricMaple seems like it's geared more towards hardware vendors, whereas ALVR and WiVRn are more for users to try on existing headsets. But it will still be usable on desktop Linux, and eventually Windows too. Collabora are showing it off at the Augmented World Expo (AWE).
There's also Steam Link for Meta Quest, allowing you to stream games directly from Steam to a Meta Quest headset. Although, Valve are yet to hook up Linux support for that, perhaps some of these projects may help them.
WiVRn for plain OpenXR on Linux is the easiest, there's AUR and Gentoo/guru packages to install the server. The client is an apk to install through adb.
If you intend to use OpenVR or Wine/Proton, you also need OpenComposite to do the OpenVR -> OpenXR translation.
If running under Steam, there's also some quircks due to the pressure vessel sandbox: every path under /usr needs to be replaced by a corresponding one under/run/host/usr: for OpenXR manifest location, OpenComposite location.
This means for system installed WiVRn you probably need to set XR_RUNTIME_JSON=/run/host/usr/share/openxr/1/openxr_wivrn.json.
You also need to whitelist the socket used to communicate with server: PRESSURE_VESSEL_FILESYSTEMS_RW=$XDG_RUNTIME_DIR/wivrn_comp_ipc.
There's also Envision that can build WiVRn and OpenComposite, then do the configuration steps. However there's an incompatibility between the appimage version and WiVRn so you have to build from source.
Quoting: XytovlBiased opinion (WiVRn developer here):
WiVRn for plain OpenXR on Linux is the easiest, there's AUR and Gentoo/guru packages to install the server. The client is an apk to install through adb.
What's the simplest way to test WiVRn? is there an openxr (demo?) app that builds on linux and is able to talk a wivrn-running headset?
Quoting: XytovlBiased opinion (WiVRn developer here):
WiVRn for plain OpenXR on Linux is the easiest, there's AUR and Gentoo/guru packages to install the server. The client is an apk to install through adb.
If you intend to use OpenVR or Wine/Proton, you also need OpenComposite to do the OpenVR -> OpenXR translation.
If running under Steam, there's also some quircks due to the pressure vessel sandbox: every path under /usr needs to be replaced by a corresponding one under/run/host/usr: for OpenXR manifest location, OpenComposite location.
This means for system installed WiVRn you probably need to set XR_RUNTIME_JSON=/run/host/usr/share/openxr/1/openxr_wivrn.json.
You also need to whitelist the socket used to communicate with server: PRESSURE_VESSEL_FILESYSTEMS_RW=$XDG_RUNTIME_DIR/wivrn_comp_ipc.
There's also Envision that can build WiVRn and OpenComposite, then do the configuration steps. However there's an incompatibility between the appimage version and WiVRn so you have to build from source.
I don't really consider it based but very true SteamVR has been crap for a total of 3+ years we finally got an API and it's buggy(their fixing it but you know it's closd source you can't just go I need this now you have to wait. And they simply don't care about ALVR which is fine I guess but annoying), if we were to get rid of the SLR workarounds by building in it we couldn't support AV1, the list of suck continues.
Quoting: thetoonQuoting: XytovlBiased opinion (WiVRn developer here):
WiVRn for plain OpenXR on Linux is the easiest, there's AUR and Gentoo/guru packages to install the server. The client is an apk to install through adb.
What's the simplest way to test WiVRn? is there an openxr (demo?) app that builds on linux and is able to talk a wivrn-running headset?
As a pure test application, there's hello_xr, from the OpenXR SDK. On Arch, it is in the the openxr package.
Quoting: XytovlAs a pure test application, there's hello_xr, from the OpenXR SDK. On Arch, it is in the the openxr package.
Looks like it's in libopenxr-utils on APT based distribs. Will definitely give it a try.
Quoting: XytovlBiased opinion (WiVRn developer here):
WiVRn for plain OpenXR on Linux is the easiest, there's AUR and Gentoo/guru packages to install the server. The client is an apk to install through adb.
If you intend to use OpenVR or Wine/Proton, you also need OpenComposite to do the OpenVR -> OpenXR translation.
If running under Steam, there's also some quircks due to the pressure vessel sandbox: every path under /usr needs to be replaced by a corresponding one under/run/host/usr: for OpenXR manifest location, OpenComposite location.
This means for system installed WiVRn you probably need to set XR_RUNTIME_JSON=/run/host/usr/share/openxr/1/openxr_wivrn.json.
You also need to whitelist the socket used to communicate with server: PRESSURE_VESSEL_FILESYSTEMS_RW=$XDG_RUNTIME_DIR/wivrn_comp_ipc.
There's also Envision that can build WiVRn and OpenComposite, then do the configuration steps. However there's an incompatibility between the appimage version and WiVRn so you have to build from source.
Quoting: constIs WiVRn compatible with Pico Headsets?It is compatible.
I do not have a Pico to test, if you have issues, please report them on Github.
Quoting: XytovlWill do. After a little hassle with understanding rustup, I compiled envision and it now runs. Will test in the evening. Fingers crossed it runs better then alvr :DQuoting: constIs WiVRn compatible with Pico Headsets?It is compatible.
I do not have a Pico to test, if you have issues, please report them on Github.
See more from me