mirror of
https://github.com/daniel-lynch/ovrplugin-openxr-shim.git
synced 2026-10-06 01:00:05 +02:00
An independent reimplementation of Meta's libOVRPlugin ABI on top of OpenXR, so VrApi-era Meta Quest VR titles can run on non-Meta OpenXR runtimes (Monado, Steam Frame) instead of being locked to Meta hardware. Original code only — no Meta/Epic/Capcom binaries, headers, or assets. Includes a desktop harness that drives the shim against Monado headless. Scope/legal: interoperability; entitlement handling is out of scope. See README for the legal/scope section and docs/ for the research trail and design notes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01D6sFYGXZPsq3v7xtcDES6g
29 lines
1.4 KiB
Bash
Executable File
29 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Decode the APK manifest and report whether the VR/OpenXR declarations Meta's
|
|
# runtime expects are present. For RE4 VR (already a shipping Quest VR app) these
|
|
# are almost certainly already there, so this is usually a no-op confirmation.
|
|
# If something IS missing, edit the decoded manifest and rebuild with apktool.
|
|
set -euo pipefail
|
|
source "$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/_env.sh"
|
|
APKTOOL=("${JAVA_HOME:+$JAVA_HOME/bin/}java" -jar "$APKTOOL_JAR")
|
|
ORIG="${1:-$ROOT/dump/base.apk}"
|
|
WORK="$ROOT/packaging/work/decoded"
|
|
|
|
rm -rf "$WORK"
|
|
"${APKTOOL[@]}" d -f -s -o "$WORK" "$ORIG" >/dev/null
|
|
M="$WORK/AndroidManifest.xml"
|
|
echo "decoded manifest: $M"; echo
|
|
|
|
check() { grep -q "$2" "$M" && echo " [present] $1" || echo " [MISSING] $1 -> $2"; }
|
|
echo "VR / OpenXR declarations:"
|
|
check "headtracking feature" 'android.hardware.vr.headtracking'
|
|
check "VR intent category" 'com.oculus.intent.category.VR'
|
|
check "Samsung vr_only mode" 'com.samsung.android.vr.application.mode'
|
|
check "supportedDevices meta" 'com.oculus.supportedDevices'
|
|
check "handtracking permission" 'com.oculus.permission.HAND_TRACKING'
|
|
echo
|
|
echo "If any are MISSING, edit $M then rebuild:"
|
|
echo " ${APKTOOL[*]} b -o repacked.apk $WORK # then zipalign + apksigner (see repack.sh)"
|
|
echo "Note: switching vrapi->OpenXR usually needs NO manifest change; the loader"
|
|
echo " resolves the runtime. This is a confirmation step."
|