‹ projects

reverb-m1

Native wired VR on Apple silicon: Reverb G1 display bring-up and stereo demo
git clone https://umhau.org/code/reverb-m1.git
Log | Files | Refs

commit 9c8905140b2271ce2cbfd04b952af85d8e9ca055
parent 5806ab0a34d10a0dcb47825b7a0b89be087a4803
Author: umhau <umhau@example.invalid>
Date:   Wed, 21 Oct 2026 12:00:17 +0000

Docs: reliability milestone passed; factory calibration values and next steps

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Diffstat:
MNOTES.md | 4++++
MSETUP.md | 8+++++++-
2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/NOTES.md b/NOTES.md @@ -83,3 +83,7 @@ for 60 Hz-only operation). - Display-loss detection latency in the app: 10.7 s -> 0.98 s after moving callback work to CFRunLoopPerformBlock. - Still open: millisecond-level continuity (candidate boot-arg appledptx-hot_unplug_delay_ms, parked), head tracking, lens-distortion calibration. +- 2026-10-20 ~[time redacted]: RELIABILITY MILESTONE PASSED. 650 s no-fault soak at native 90 Hz: 89.9987 presented fps, + skipped +3, 0 GPU errors, clean exit, zero DP resets (evidence/verified-90hz-soak.json). Fault recovery (separate + trials): 4.4 s outage via recovery queue + DRST. +- Factory calibration was read successfully. Measured per-unit optical geometry is omitted from this public history; the demo reads each headset at runtime. diff --git a/SETUP.md b/SETUP.md @@ -98,7 +98,13 @@ zsh tools/build.sh # builds the app + the signe (= 2 s grace + ~2.2 s reset/retrain/re-add). Releasing the capture inside the callback did not help (CGDisplayRelease returns 1001 = kCGErrorIllegalArgument there; outages 4.6 s) and was removed. - Every DRST is followed ~5.7 s later by a brief lane-sync blip (IRQ_HPD/INTERLANE retrain) that the app recaptures. - - A no-fault 660 s soak at 90 Hz is in progress; not yet final proof. + - **Reliability milestone PASSED** (`evidence/verified-90hz-soak.json`, `evidence/verified-90hz-soak.txt`): + no-fault soak at native 4320x2160 @ 90 Hz, exit 0, 649.965 s settled interval, 58,496 presented frames = + 89.9987 fps, skipped +3, 0 GPU errors, no render-worker join timeout, zero DP resets. One 0.637 s self-heal at + startup, then no drops. +- Factory calibration: `.build/debug/VRWorkstation --read-calibration <path>` reads the headset's config store over + HID (10,737 bytes, under 1 s; do it before the app enables the IMU). The app caches it at + `~/Library/Application Support/VRWorkstation/factory.json`. Lens correction using it is in progress. ## How the boot-arg was found `amfi_get_out_of_my_way` controls code signing, not HDCP, so we searched this Mac's own kernel: