Files
daniel-lynch--ovrplugin-ope…/packaging/inspect_manifest.sh
T
Daniel LynchandClaude Opus 4.8 a72a79ad29 Initial public release: OVRPlugin→OpenXR interoperability shim
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
2026-06-29 00:48:48 -04:00

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."