Monado driver for ARM64 Linux — enables streaming to Vision Pro without SteamVR
- 主要语言
- Rust
- 星标
- 7.9k
- 派生
- 708
- 平均合并
- 3 天 23 小时
- 30 天内合并 PR
- 11
描述
## 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
贡献指南
评估
这个 Issue 还没有评估数据。