mirror of
https://github.com/mitch030504/Wiicompiled_VR_Frame.git
synced 2026-10-06 01:00:14 +02:00
Record how Lepton apps find SteamVR's OpenXR runtime
Lepton ships /vendor/etc/openxr/1/active_runtime.json and Valve's implicit fdm_injection layer instead of a runtime broker; the statically linked Khronos loader falls back to that file, so the app needs no change. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019HBRGKTE1GnN2ah8gcZKr3
This commit is contained in:
1 file changed
+14
-4
+14
-4
@@ -155,9 +155,10 @@ below:
|
||||
| --- | --- | --- |
|
||||
| Page size | 4096 | 4096 |
|
||||
| CPU | 8 cores; `sve sve2 svei8mm svebf16 sveaes svepmull svebitperm svesha3 svesm4 i8mm bf16 bti paca pacg ...` | the same |
|
||||
| Android | — | 11 (API 30), `ro.product.model` Lepton, device `lepton_arm64_only`, platform `waydroid` |
|
||||
| Android | — | 11 (API 30, LineageOS), `ro.product.model` Lepton, device `lepton_arm64_only`, platform `waydroid`, `ro.steam.running_in_app_container=true` |
|
||||
| Vulkan driver | — | `ro.hardware.vulkan=freedreno`: Mesa's Turnip, not Qualcomm's driver |
|
||||
| OpenXR runtime | SteamVR, `bin/linuxarm64/vrclient.so` (`~/.config/openxr/1/active_runtime.json`) | no package named for XR, Valve, Steam or Khronos |
|
||||
| OpenXR runtime | SteamVR, `bin/linuxarm64/vrclient.so` (`~/.config/openxr/1/active_runtime.json`); SteamOS ships the SDK headers, `libopenxr_loader.a` and `openxr.pc` | `/vendor/etc/openxr/1/active_runtime.json`, from the host's `/usr/share/guestos/android/vendor/etc/openxr`; no runtime broker package |
|
||||
| Implicit OpenXR layers | `XrApiLayer_VALVE_fdm_injection` (also listed as explicit) | `XrApiLayer_VALVE_fdm_injection` |
|
||||
|
||||
What follows from them:
|
||||
|
||||
@@ -170,8 +171,17 @@ What follows from them:
|
||||
stays on (it is correct either way); `debug.wiicompiled.vtxpad 0` can check whether Turnip needs it.
|
||||
- **Open:** whether Turnip in Lepton imports AHardwareBuffers and sync fds is in the `vkjson`
|
||||
extension list, still to read.
|
||||
- **Open:** how an app inside Lepton reaches SteamVR's OpenXR runtime. No broker package shows up,
|
||||
so the Khronos loader's runtime broker may be provided some other way.
|
||||
- **Finding the runtime.** An app inside Lepton reaches SteamVR's OpenXR runtime through the system
|
||||
runtime file, not a broker. The Khronos loader the game links statically (`DYNAMIC_LOADER OFF`)
|
||||
tries the runtime brokers first, then reads `/{product,odm,oem,vendor,system}/etc/openxr/1/active_runtime.json`,
|
||||
so no app change is needed; the manifest's broker queries are simply unused here. Walkabout Mini
|
||||
Golf, an Android VR game, runs in the same Lepton.
|
||||
- **Valve's foveation layer.** `XrApiLayer_VALVE_fdm_injection` is implicit, so it wraps every
|
||||
Android OpenXR app. By its name it adds fragment density maps to apps' own render passes. This
|
||||
game draws its eyes on Dawn's device and only copies them into the swapchain on the OpenXR
|
||||
device, so the layer has no render pass of the game's to change; the game's own maps
|
||||
(eye-tracked foveation, above) do that. If the layer gets in the way, its JSON names the
|
||||
environment variable that disables it.
|
||||
|
||||
## Device checklist
|
||||
|
||||
|
||||
Reference in new issue
Block a user