alvr-org / alvr-org/ALVR

Monado driver for ARM64 Linux — enables streaming to Vision Pro without SteamVR

Aperta
#3,347 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Rust
Stelle
7.9k
Fork
708
Merge medio
3g 23h
PR unite (30g)
11

Descrizione

## Summary

Following on from #3346 (ARM64 build fix), this is a proof-of-concept Monado driver that bridges any OpenXR application directly to Apple Vision Pro via ALVR, without requiring SteamVR.

The Monado driver has been blocked in ALVR's roadmap for some time. This is a working initial implementation, tested on NVIDIA DGX Spark (aarch64 / GB10).

## What it does

```
Blender (or any OpenXR app)
↓ xrBeginFrame / xrEndFrame
Monado OpenXR runtime
↓ comp_target (alvr_target.cpp)
FFmpeg NVENC (h264/hevc/av1 — GPU native on ARM64)
↓ alvr_send_video_nal()
alvr_server_core (Rust)
↓ Wi-Fi
Apple Vision Pro (ALVR app, App Store)
```

## Current status

- ✅ `xrt_device` (HMD): pose tracking from Vision Pro via `alvr_get_device_motion()`
- ✅ `comp_target`: Vulkan readback → NVENC → `alvr_send_video_nal()`
- ✅ Builds natively on aarch64
- ✅ Device detected: `Apple Vision Pro (ALVR)` with 2 views, event thread running
- ⚠️ Compositor needs GPU-backed headless Vulkan (NVIDIA EGL) — currently segfaults with llvmpipe fallback
- ⚠️ Dynamic encoder params not yet wired

## Code

https://github.com/scottybo/monado-alvr

Files: `src/xrt/drivers/alvr/` (alvr_prober.c, alvr_hmd.cpp, alvr_target.cpp, alvr_interface.h)

## Notes

This depends on #3345 for the ARM64 build to work. Happy to collaborate on turning this into a proper upstream contribution once the compositor crash is resolved.

Related: #3346

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.