Your 3D games, in real 3D, in VR.

vrdual renders a separate view for each eye of ordinary games, so the scene gets real depth in the headset instead of hanging there as a flat screen. No mods, no VR support needed in the game. Linux; one graphics card is enough.

See which games work ({n} in the headset) →

Install: 4 commands · source and docs on GitHub · Quest 3 / 3S via WiVRn tested, any OpenXR runtime should work

Hogwarts Legacy: left and right eye views alternated, showing depth
Hogwarts Legacy through vrdual. The GIF alternates the two eye views so the depth shows on a flat screen; in the headset each eye sees its own view.

How it works

A game on a monitor goes through vrdual on Linux, is split into a left and a right eye stream and reaches a VR headset, where a dragon flies out in front of the lenses. Below: one GPU, or two GPUs at about twice the speed.
The game draws as usual; vrdual on Linux turns every frame into a left and a right eye view. One GPU renders them in turn; two GPUs render them at the same time, about twice as fast.
  1. The game runs as usual. Vulkan, OpenGL (via Zink) and Windows games through Proton (DXVK, vkd3d). Nothing in the game changes.
  2. vrdual shifts each eye. A Vulkan layer patches the game's vertex shaders so every frame is drawn from the left eye's position and from the right eye's.
  3. The headset shows both. Each eye gets its own image: real depth, the HUD at a distance you choose, IPD and scale adjustable live.

One GPU

The eyes are rendered on alternate frames: each eye gets half the game's frame rate. Any vendor (AMD, NVIDIA, Intel). Temporal AA, upscalers and motion blur must be off.

Two GPUs

A second, identical GPU renders the other eye in parallel: each eye gets the full frame rate.

Not always the best route

vrdual works with games that know nothing about VR. A dedicated VR mod made for one game (for example witcher3-vr) can do more for that game: head tracking in the engine, motion controls, a fixed HUD. The game list names such routes where we know them.