5.1 KiB
5.1 KiB
date-created, date-modified
| date-created | date-modified |
|---|---|
| 2026-10-20 17:45 | 2026-10-20 17:52 |
SteamVR to Meta Quest 3 design tree
Goal
Stream PCVR from Zeus to a Meta Quest 3.
The design must produce a repeatable and diagnosable SteamVR session.
Observed facts
- Zeus runs NixOS with a CachyOS kernel.
- Zeus uses an AMD Radeon RX 9070-series GPU with the
amdgpudriver. - Zeus runs Hyprland on Wayland.
- Zeus has Steam and Gamescope configured.
- SteamVR 2.17.10 is installed.
- SteamVR includes Valve's Linux
vrlinkdriver. - A previous
vrlinksession detected the Quest 3 and its Touch controllers. - That session selected 90 Hz from the Quest's 72, 80, 90, and 120 Hz modes.
- SteamVR setup lacks
cap_sys_niceonvrcompositor-launcher. - NixOS can declare host packages, permissions, services, and diagnostics.
- Steam owns the Quest pairing and SteamVR user settings.
- Zeus connects by Ethernet at
10.23.50.221. - The local Wi-Fi scan finds the
Tracion5 GHz network at 5220 MHz. - The scan reports a 1170 Mbit/s link rate.
- The operator has no external tracked devices.
Decision tree
- D1: Host platform commitment — Settled: Linux-native on the current NixOS installation.
- Linux-native on the current NixOS installation.
- D2: Transport — Blocked by D1
- Wireless LAN. — Settled: primary transport.
- D3: Streaming stack — Settled: SteamVR with its built-in VRLink driver.
- SteamVR with its built-in VRLink driver.
- D3a: SteamVR acceptance criteria — Settled: reliable session test.
- Run a SteamVR game for 30 minutes at 90 Hz.
- Verify visuals, audio, and Touch controllers.
- Verify one reconnect.
- D3a: SteamVR acceptance criteria — Settled: reliable session test.
- ALVR only after SteamVR fails the agreed acceptance criteria.
- SteamVR with its built-in VRLink driver.
- D4: Wi-Fi topology — Settled: keep the current access point.
- Keep the current access point.
- Add a dedicated access point.
- Use a direct Wi-Fi link.
- D5: Session performance target — Settled: selectable refresh-rate profiles.
- Selectable refresh-rate profiles.
- D5a: Default refresh rate — Settled: 90 Hz.
- D5b: Included refresh rates — Settled: 72, 80, 90, and 120 Hz.
- Selectable refresh-rate profiles.
- D6: Network isolation — Settled: existing trusted LAN.
- Existing trusted LAN.
- Dedicated VR VLAN or SSID.
- D7: Controller and tracking scope — Settled: Quest Touch controllers only.
- Quest Touch controllers only.
- Also support external tracked devices.
- D8: Launch workflow — Settled: automatic service and headset connection.
- Start SteamVR when Steam Link connects from the Quest.
- D9: Diagnostics and recovery — Settled: capture health checks and logs.
- Capture SteamVR logs and health checks.
- Recover failed sessions manually.
- D3: Streaming stack — Settled: SteamVR with its built-in VRLink driver.
- USB tether.
- D10: USB streaming stack — Blocked by D2
- ALVR over USB.
- Meta Quest Link through a Windows installation.
- D11: USB role — Blocked by D2
- Primary transport.
- Fallback transport.
- D10: USB streaming stack — Blocked by D2
- Both wireless LAN and USB tether.
- D12: Primary transport — Blocked by D2
- D13: Fallback behavior — Blocked by D12
- Wireless LAN. — Settled: primary transport.
- D14: System integration — Settled: hybrid configuration.
- NixOS manages system integration.
- Steam manages Quest pairing and user settings.
- D2: Transport — Blocked by D1
- Dual-boot or replace NixOS with Windows.
- D15: Windows streaming stack — Blocked by D1
- Steam Link.
- Virtual Desktop.
- Meta Quest Link or Air Link.
- ALVR.
- D16: Windows installation scope — Blocked by D1
- Dedicated VR installation.
- General-use Windows installation.
- D2: Transport — Blocked by D1
- D15: Windows streaming stack — Blocked by D1
- Keep NixOS and add a separate Windows VR host.
- D17: Host placement — Blocked by D1
- D15: Windows streaming stack — Blocked by D17
- D2: Transport — Blocked by D17
- Linux-native on the current NixOS installation.
Frontier
None.
Settled decisions
- D1: Host platform commitment — Linux-native on the current NixOS installation.
- D2: Transport — Wireless LAN as the primary transport.
- D4: Wi-Fi topology — Keep the current access point.
- D5: Session performance target — Selectable profiles at 72, 80, 90, and 120 Hz.
- D5a: Default refresh rate — 90 Hz.
- D5b: Included refresh rates — 72, 80, 90, and 120 Hz.
- D6: Network isolation — Existing trusted LAN.
- D7: Controller and tracking scope — Quest Touch controllers only.
- D3: Streaming stack — SteamVR with its built-in VRLink driver.
- D3a: SteamVR acceptance criteria — 30-minute session at 90 Hz, with visuals, audio, Touch controllers, and one reconnect.
- D8: Launch workflow — Start SteamVR when Steam Link connects from the Quest.
- D9: Diagnostics and recovery — Capture health checks and logs. Recover failed sessions manually.
- D14: System integration — NixOS manages system integration. Steam manages Quest pairing and user settings.