alvr-org / alvr-org/ALVR

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

未关闭
#3,347 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
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 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。