HydraIssues

stream_mode xr: model, driver selection, exclusive slots
open feature Project: hydracluster Parent: #544 Reporter: cederik 26 Aug 2026 19:40

Description

Phase 3 of hydraheadquest #544 (policy and milestone recorded there).

Add immersive streaming as a first-class stream mode:

  • Experience model gains stream_mode: "streaming" (default, Sunshine flat) or "xr".
  • Bodies advertise XR capabilities (drivers present: alvr, pico-business-streaming) via hydrabody.
  • Head records carry head type (quest, pico). Driver selection is server-side: quest head + xr experience -> alvr; pico head + xr experience -> pbs. The head never picks a driver.
  • Eligible-bodies treats an xr session as EXCLUSIVE on the body (the VR runtime owns the GPU); no co-scheduling with flat streams. Relates to slot work in #504.
  • Head config stream block gains stream_mode and driver so the head knows to hand off instead of pairing Moonlight.
  • Lesson from the hardware session: the head's own heartbeats materialize a stream block; the tick-kill fix in hydraheadquest v0.4.0 compares full host sets. Keep xr blocks consistent with that.