WiVRn allows you to run VR applications on your PC and display and control them wirelessly from a compatible headset.
Head tracking, controller tracking, and hand tracking data are sent from your headset to your PC, and audio and video data are sent from your PC to your headset over WiFi, with software or hardware compression in H264 or HEVC.
WiVRn works with Meta Quest 1, 2, 3 and Pro, with Pico Neo 4, and with HTC Vive Focus 3 and XR Elite.
Using Monado for OpenXR and OpenComposite for OpenVR, WiVRn is compatible with most VR applications, including SteamVR games.
WiVRn is available on the Meta Store for Quest 2 / 3 / Pro. For other headsets, including the Quest 1, you will have to sideload it by following the connection wizard in the dashboard.
When you start the dashboard the first time, the connection wizard will help you install the client on your headset.
You can run it later by clicking the "Wizard" button in the dashboard.
On a Quest, if you did not install it from the Meta Store, it will be in the "Unknown Sources" section.
A stronger foveation makes the image sharper in the center than in the periphery and makes the decoding faster. This is better for fast paced games.
A weaker foveation gives a uniform sharpness in the whole image.
The recommended values are between 20% and 50% for headsets without eye tracking and between 50% and 70% for headsets with eye tracking.
Bitrate of the video, in Mbit/s. Split among decoders based on size and codecs.
A higher bitrate directly improves image quality by reducing pixelation in fast-paced scenes or in complex visuals, such as landscapes with dense foliage. However, it may also increase latency or overload the network, encoder, or decoder.
For testing purposes, a bitrate of 50 Mbit/s is a good starting point for wireless connections. Wired connections, if supported by the hardware, should be able to handle up to 480 Mbit/s.Although it is currently capped at 200 Mbit/s.
Encoders compresses video data in real-time to reduce bandwidth and latency, enabling smooth transmission to the headset.
WiVRn has the ability to split the video in blocks that are processed independently, this may use resources more effectively and reduce latency. All the provided encoders are put into groups, groups are executed concurrently and items within a group are processed sequentially.
It is possible to mix CPU/GPU encoding if you have spare CPU cores. On AMD systems, this can provide a significant improvement. For high bitrates, avoid software encoding, as CPU time increases significantly.
Default value: 3 encoders in order 1/8th, 3/8th and 4/8th of the image.
Identifier of the encoder, one of
Default value: nvenc if Nvidia GPU and compiled with nvenc, vaapi for all other GPU when compiled with ffmpeg, else x264.
One of h264, h265 or av1. Not all encoders support every codec, x264 and vulkan only support h264, nvenc only h264 and h265.
On the dashboard, you can add a new encoder by splitting an existing one and clicking near an edge. Drag the edge to resize, or remove encoders by moving the line to one of the limits.
By clicking on each block, like the one highlighted in blue in the image, you can select the Encoder and Codec.
Default value: first supported by both headset and encoder of av1, h264, h265.
If the server list is empty in the headset app:
systemctl status avahi-daemon. If it is not, enable it with
systemctl enable --now avahi-daemon.