lvra.gitlab.io/content/docs/fossvr/wivrn/_index.md
2024-09-13 16:49:35 +00:00

2.7 KiB

weight title
50 WiVRn

WiVRn

The WiVRn mascot

WiVRn lets you run OpenXR applications on a computer and display them on a standalone headset.

It's very similar in purpose to Monado, but for standalone VR headsets.

Should you utilize Envision for WiVRn setup, please ensure your APK and WiVRn server match as closely as possible. Check the WiVRn github actions for an APK matching your server build to install to your headset.

Wired WiVRn

Use WiVRn with a cable instead of Wifi. Use a 5Gbps cable & port at the very least.

Steps:

  • Enable TCP Only mode, either via Envision or the JSON configuration!
  • Connect the headset via USB
  • If WiVRn is running on the headset, close it now.
  • While in the system lobby of the headset, run the following adb commands on the PC:
    adb reverse tcp:9757 tcp:9757
    adb shell am start -a android.intent.action.VIEW -d "wivrn://127.0.0.1" org.meumeu.wivrn
    

WiVRn + Lighthouse driver

This section covers using WiVRn with any lighthouse-tracked device: Index/Vive controllers, Vive/Tundra trackers, etc.

Have SteamVR installed (no need to run it).

In Envision, set WiVRn Profile as such:

  • XR Service CMake Flags:
    • WIVRN_FEATURE_STEAMVR_LIGHTHOUSE=ON
  • Environment Variables:
    • WIVRN_USE_STEAMVR_LH=1
    • LH_DISCOVER_WAIT_MS=6000

Perform a Clean Build after changing the CMake flags!

If not using Envision, simply pass -DWIVRN_FEATURE_STEAMVR_LIGHTHOUSE=ON to cmake and export the env variables before starting wivrn-server.

Motoc will be used to calibrate the two tracking technologies to work together.

Discovery happens only on first connection, so be sure to have all lighthouse devices powered on and in line of sight of base stations before connecting the headset!

Once a device is discovered, it may be powered off and then back on later.

Once video appears in the headset, check motoc monitor to make sure your devices all show up.

If one or more devices are missing, try:

  • Spread the devices out more; lighthouse devices get discovered quicker if they're not piled up on each other. Simply strapping them on is good, too.
  • Increase LH_DISCOVER_WAIT_MS, though this delays the client on first connection.

To re-discover devices, restart WiVRn server.

At this point, your lighthouse devices will be randomly floating about somewhere. To calibrate them, follow the guide in the Motoc README.