docs: update homelab plans
This commit is contained in:
1 parent
4baafb7094
commit
5cf7109eaf
9 files changed
+343
-75
No files matched your search
@@ -0,0 +1,109 @@
|
||||
---
|
||||
date-created: 2026-10-20 17:45
|
||||
date-modified: 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 `amdgpu` driver.
|
||||
- Zeus runs Hyprland on Wayland.
|
||||
- Zeus has Steam and Gamescope configured.
|
||||
- SteamVR 2.17.10 is installed.
|
||||
- SteamVR includes Valve's Linux `vrlink` driver.
|
||||
- A previous `vrlink` session 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_nice` on `vrcompositor-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 `Tracion` 5 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.
|
||||
- ALVR only after SteamVR fails the agreed acceptance criteria.
|
||||
- **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.
|
||||
- **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.
|
||||
- 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.
|
||||
- Both wireless LAN and USB tether.
|
||||
- **D12: Primary transport** — Blocked by D2
|
||||
- **D13: Fallback behavior** — Blocked by D12
|
||||
- **D14: System integration** — Settled: hybrid configuration.
|
||||
- NixOS manages system integration.
|
||||
- Steam manages Quest pairing and user settings.
|
||||
- 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
|
||||
- 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
|
||||
|
||||
## 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.
|
||||
Reference in new issue
Block a user