See how we can leverage pyrowave, replace moonshine / sunshine codec?
https://github.com/Themaister/pyrowave
Update 2026-09-09 (Claude):
pyrowave. Server encoder + client GPU decoder rewritten against 2026 interfaces; CI build running. Runbook in docs/runbooks/runbook.md.Update 2026-09-10: CI fully green on the fork at commit 3576bbc3 (all server variants, Android Oculus/Release APKs, Ubuntu package, Nix, flatpak). The ten stale Monado feature patches were consolidated into one patch rebuilt against the pinned Monado revision. Ready for on-headset validation: install server + Quest APK, stream to a Quest 3 on a 6 GHz AP, measure decode time and battery vs H.265.
Update 2026-09-14: Omarchy (quattro, 4.0.2) server validated on msi1060 (spicy-cactus-76, node-d71b197c, GTX 1060). Built from source via cluster exec, smoke test passed as the desktop user: pairing PIN issued, avahi-published as msi1060cederik, pyrowave forced in ~/.config/wivrn/config.json at 200 Mbit/s. contrib/arch/PKGBUILD + Omarchy runbook section added (commit 0f387166). Pascal note: no shaderFloat16, pyrowave uses non-fp16 shaders. Next: pair a Quest 3 and stream.
Update 2026-09-14 (later): validation experience staged on msi1060: hello_xr (Vulkan) built from OpenXR-SDK-Source, auto-launched via the WiVRn config application field. Sanity passed: hello_xr creates its OpenXR instance against the WiVRn runtime and waits for a headset session. Test content plan: hydragon (#615) is the intended test executable; its Linux cook is blocked on Epic Launcher sign-in on fluffy to add the UE Linux target component (UBT: missing files required to build Linux targets). hello_xr covers pyrowave stream validation until then.
MILESTONE 2026-09-14: PYROWAVE STREAMED TO A HEADSET. Quest 2 (org.meumeu.wivrn.github.testing 26.6-234-g3576bbc3) to msi1060. Server log: two encoders "pyrowave (pyrowave 8-bit)" 960x1024 at 99.98 Mbit/s each, alpha on vulkan h265. OpenXR session reached FOCUSED, hello_xr rendering, audio + mic streams up, hand interaction profiles negotiated. The port works end to end on real hardware.
Bugs found and fixed on the way:
sleep infinity | exec hello_xr so stdin never closes. This was the "waiting for application" state.NOTE: bitrate is a CLIENT setting; WiVRn has no server-side bitrate key. Set it in the headset app (200 Mbit/s used here).
Still open: msi1060 is on WiFi, not ethernet, so both ends share 5 GHz air. Quest 3/3S remains the intended target. No frame-time or battery measurement taken yet.
UPDATE 2026-09-14 (final): merged to the fork's master (e6a7db92) and the validation content is branded.
FOLLOW-ON MASTER #734: "Linux bodies first-class, WiVRn as an XR driver alongside ALVR". PyroWave streams today only because a human runs systemd-run on msi1060; #734 is the route to a venue, with children #735-#740. Gating work first: #728 (device features) and the unmeasured encode/decode/battery comparison against H.265.