lvra.gitlab.io/content/docs/fossvr/wivrn/_index.md

96 lines
3.9 KiB
Markdown
Raw Normal View History

2023-12-06 01:43:59 +01:00
---
weight: 50
2023-12-06 01:43:59 +01:00
title: WiVRn
---
# WiVRn
2024-08-15 18:03:39 +02:00
- [WiVRn GitHub repository](https://github.com/WiVRn/WiVRn)
2023-12-06 01:43:59 +01:00
2024-08-15 18:03:39 +02:00
![The WiVRn mascot](https://github.com/WiVRn/WiVRn/blob/master/images/wivrn.svg?raw=true)
2024-03-27 19:01:58 +01:00
> WiVRn wirelessly connects a standalone VR headset to a Linux computer. You can then play PCVR games on the headset while processing is done on the computer.
2023-12-06 01:43:59 +01:00
WiVRn is based on [Monado](/docs/fossvr/monado/) and can be used with [OpenComposite](/docs/fossvr/opencomposite/) to support a majority of titles available for SteamVR. A wide range of standalone headsets are supported.
2024-03-27 19:01:58 +01:00
We recommend using [Envision](/docs/fossvr/envision/) to install and launch WiVRn & OpenComposite. Envision will handle all configuration seamlessly and avoids many of the pitfalls of a manual setup.
2024-09-13 17:45:47 +02:00
2024-09-13 18:16:26 +02:00
## Wired WiVRn
Use WiVRn with a cable instead of Wifi. Use a 5Gbps cable & port at the very least.
2024-09-23 11:05:49 +02:00
WiVRn version: 0.19+
2024-09-23 11:08:59 +02:00
Using Envision:
2024-09-23 11:05:49 +02:00
- Connect the headset via USB
- Click the `Start WiVRn Client (Wired)` button in Envision.
- If it's not there, an Envision update might be necessary.
Manual steps:
2024-09-13 18:16:26 +02:00
- Connect the headset via USB
2024-09-13 18:32:31 +02:00
- 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:
2024-09-13 18:16:26 +02:00
```bash
adb reverse tcp:9757 tcp:9757
2024-09-19 17:21:00 +02:00
adb shell am start -a android.intent.action.VIEW -d "wivrn+tcp://127.0.0.1" org.meumeu.wivrn
2024-09-13 18:16:26 +02:00
```
2024-09-13 17:45:47 +02:00
## WiVRn + Lighthouse driver
2024-09-13 18:49:35 +02:00
This section covers using WiVRn with any lighthouse-tracked device: Index/Vive controllers, Vive/Tundra trackers, etc.
2024-09-13 17:45:47 +02:00
2024-09-23 11:05:49 +02:00
WiVRn version: 0.19+
2024-09-13 18:32:31 +02:00
Have SteamVR installed (no need to run it).
2024-09-13 17:45:47 +02:00
2024-09-13 18:32:31 +02:00
In Envision, set WiVRn Profile as such:
2024-09-13 17:45:47 +02:00
- XR Service CMake Flags:
- `WIVRN_FEATURE_STEAMVR_LIGHTHOUSE=ON`
- Environment Variables:
- `WIVRN_USE_STEAMVR_LH=1`
- `LH_DISCOVER_WAIT_MS=6000`
2024-09-13 18:32:31 +02:00
Perform a **Clean Build** after changing the CMake flags!
2024-09-13 17:45:47 +02:00
If not using Envision, simply pass `-DWIVRN_FEATURE_STEAMVR_LIGHTHOUSE=ON` to cmake and export the env variables before starting `wivrn-server`.
2024-09-13 18:16:26 +02:00
[Motoc](/docs/fossvr/motoc/) will be used to calibrate the two tracking technologies to work together.
2024-09-13 17:45:47 +02:00
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.
2024-09-13 18:32:31 +02:00
Once video appears in the headset, check `motoc monitor` to make sure your devices all show up.
2024-09-13 17:45:47 +02:00
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](https://github.com/galister/motoc/blob/main/README.md).
2024-09-23 11:05:49 +02:00
## [Experimental] WiVRn + SlimeVR trackers
This section covers using WiVRn with SlimeVR trackers (not via OSC). Tracking fidelity is reported to be similar to what's achievable with the SteamVR-native solution.
Current state: Fully usable, but with quirks.
Use WiVRn APK version: 0.19.1 (exact)
In Envision, set WiVRn Profile as such:
- XR Service Repo:
- `https://github.com/galister/wivrn.git`
- XR Service Branch:
- `solarxr`
- XR Service CMake Flags:
- `WIVRN_FEATURE_SOLARXR=ON`
Perform a **Clean Build** after changing these!
2024-09-23 11:08:59 +02:00
- Always start SlimeVR server before starting WiVRn.
2024-09-23 11:05:49 +02:00
- Do not quit SlimeVR server mid-session; trackers will not work until WiVRn is restarted.
- _Full Reset_ is sensitive to direction.
- There is a direction that one needs to face towards for the full reset to work properly.
2024-09-23 11:08:59 +02:00
- It will take some trial and error to find this direction.
2024-09-23 11:05:49 +02:00
- Upstream issue: [SlimeVR-Server#1159](https://github.com/SlimeVR/SlimeVR-Server/issues/1159)