WiVRn /WiVRn

The Linux OpenXR streaming application to standalone headsets

★ 1,833⑂ 244👁 13▤ 50
C++Created 2022-09-22
1,833
stars
+0+-1+82
244
forks
13
watchers
–
prs
–
issues
50
releases
–
discussions

README

WiVRn 


  
 !CI !Format
  


Fully FOSS PCVR streamer

 About

WiVRn is an application that wirelessly streams a virtual reality game to a standalone VR headset from a Linux computer.

WiVRn support a wide range of VR devices:

| Headset | Supported | Notes |
|:--------:|:--------:|:--------:|
| Quest 1 | ✓ |  |
| Quest 2 | ✓ |  |
| Quest 3 | ✓ |  |
| Quest 3s | ✓ |  |
| Quest Pro | ✓ |  |
| Pico Neo 3 | ✓ |  |
| Pico 4 | ✓ |  |
| HTC Vive Focus 3 | ✓ | Laggy | 
| HTC Vive XR Elite | ✓ | Laggy |
| Samsung Galaxy XR | ✓ |  |
| Other Android VR | ? | Cannot know |
| Play for Dream | ✖ | https://github.com/WiVRn/WiVRn/issues/465 |
| Non-Android VR | ✖ | Not Android |
| Non-VR Android | ✖ | VR required |

A Linux client does exist, only for debugging. It has no audio or hardware decoding.

 Getting started


 PC Server/Dashboard

We recommend using native packages if available for your distribution:
- Arch User Repository
- Fedora
- Gentoo Guru
- NixOS
- Ubuntu PPA

For OpenVR and Steam compatibility, you also need a compatibility library such as xrizer or OpenComposite.

A Flatpak is available on Flathub for all distributions:



The Flatpak contains both xrizer and OpenComposite.

Note that due to Flatpak sandboxing, some features such as support for SteamVR tracked (Lighthouse) devices, or virtual gamepad/keyboard/input devices forwarded from the headset, may not be available.

 Headset Client/App

Follow the wizard in the PC dashboard to install the client on your VR headset.

It should either lead you to the Meta Store (for Meta Quest headsets) or to download the correct APK (for other headsets).

 [!WARNING]
 The VR client and PC server need to be on the same version of WiVRn

 [!TIP]
 If the headset fails to connect to the computer, see troubleshooting.



 Usage

 Running

 Prerequisites
Avahi must be running:
bash
systemctl enable --now avahi-daemon


On SteamOS, the Avahi configuration needs to be modified to allow user services such as WiVRn to publish services on the network; see https://github.com/WiVRn/WiVRn/issues/1001issuecomment-4940906113 for instructions on how to do so.

- If a firewall is installed, open port 5353/UDP for Avahi and ports 9757/UDP+TCP for WiVRn.
- For example, if using UFW run ufw allow 5353/udp and ufw allow 9757.

 Start the PC server process
The graphical frontend is listed as "WiVRn server" in the application list, and is wivrn-dashboard on command line. On first start, a wizard will guide you through the initial steps.

The actual server for headless usage is wivrn-server. When installed through your distribution's package manager, a systemd user service named wivrn is also installed, which can be enabled to automatically start on login with systemctl --user enable --now wivrn.

For Steam games, depending on the installation method, you may need to set launch options in the Steam properties for each game you want to run. Either the dashboard or command line output will display the launch command if it is req

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON