Repository navigation
Releases: 4uva4ek/overport-galaxyxr
Release list
Overport Galaxy XR 0.3.6
Overport Galaxy XR 0.3.6
Experimental GLES eye-tracked foveation now holds the last valid stereo focal position for up to 300 ms when the tracker reports one or both eyes closed. This avoids immediate full-quality transitions during brief closed-eye reports, including potentially incorrect reports from the tracker.
- The deadline is measured from the last genuinely valid sample; held samples never extend it.
- Both eye coordinates update together, preventing a partially updated focal position.
- Longer closures, tracking/API failures, invalid view poses and session stops still fall back to full quality.
- Added diagnostics distinguishing closed-eye reports, stale frames and held gaze.
- Shared defaults remain area 0.15, gain 24, density 0.35.
This change applies to the GLES runtime-eye path. Vulkan support from 0.3.5 is unchanged. Foveation remains experimental; game compatibility and long-session stability require further testing. Repatch and reinstall games to apply this update. No Suite or system modifications.
Validation: targeted native tests cover holding, timeout, recovery, tracking loss and session reset; ARM64 build and test APK signature checks passed.
Overport Galaxy XR 0.3.5
Overport Galaxy XR 0.3.5
Eye tracked mode now updates the fragment-density map from live gaze in compatible Vulkan games. BONELAB testing confirmed movement in both axes after correcting vertical coordinates.
- Shared starting values: area 0.15, gain 24, density 0.35. Existing numeric fields and sliders configure each patched game.
- Vulkan uses a smooth quality transition, with full quality when gaze is invalid or stale. Normal mode does not include the diagnostic square or timed switching.
- Fix OpenXR loader initialization when the backend exposes xrInitializeLoaderKHR through xrGetInstanceProcAddr only.
- Includes the existing FPS HUD and hand-permission changes from 0.3.4.
Vulkan support currently requires the game's existing fragment-density attachment and the supported Galaxy XR runtime version. This is not support for every Vulkan title. Runtime map refresh has not been benchmarked; visual tracking was confirmed, but long-session stability and the new gain 24 tuning still need testing. The same values can produce different visual results on GLES and Vulkan.
Repatch and reinstall games to apply the new backend or settings. This release does not modify Suite modules, system files, or firmware.
Overport Galaxy XR 0.3.4
Overport Galaxy XR 0.3.4
Includes the merged optional in-headset APP FPS overlay (PR #1), disabled by default. It measures successful app projection submissions, separately from display refresh rate. Worn-headset validation of the HUD remains pending.
The enabled Hand tracking permission switch now requests Android XR hand-tracking permission before the game starts regardless of Quest manifest markers. Previously the switch selected automatic detection, which could omit the request for games such as BONELAB. The disabled switch still omits the request; CLI --hands=auto retains automatic detection.
Repatch the original game APK and install the resulting APK to receive this change. Updating Overport alone does not modify installed games. Already granted permissions do not show another dialog. This change does not fix Vulkan eye-tracked foveation or the separately observed SystemUI crashes.
Overport Galaxy XR 0.3.2
Overport Galaxy XR 0.3.2
Desktop support now includes macOS and Linux alongside Windows and Android.
- Windows x64: extract the ZIP and run
OverportGalaxyXR.exe. - Linux x64: extract the tar.gz and run
OverportGalaxyXR/bin/OverportGalaxyXRin a graphical desktop. Built on Ubuntu 22.04. - macOS: choose
macos-arm64.dmgfor Apple Silicon ormacos-x64.dmgfor Intel, then copy the app to Applications. These packages are not Developer ID signed or notarized. - Android: install the signed APK.
All desktop packages include Java. The optional CLI JAR requires Java 21.
Updates on macOS and Linux download and verify the matching package; quit the app and install it manually. Windows and Android retain their existing update flows.
The Galaxy XR conversion preset and native adapter are unchanged from 0.3.1. Existing converted APKs do not need to be reconverted. Keep your existing workspace and signing key.
SHA256SUMS.txt contains checksums for every package.
Overport Galaxy XR 0.3.1
Overport Galaxy XR 0.3.1
Visible application icon on Windows.
- The window and taskbar icon is now the full application icon (white lightning on black).
The previous window icon was a white glyph on a transparent background, so it disappeared on
light title bars and taskbars.
Conversion, the Galaxy XR preset, the native adapter and the open dispatcher are unchanged;
APKs converted by 0.3.0 do not need to be reconverted. 0.1.x–0.3.0 users can install this
version from Updates.
Overport Galaxy XR 0.3.0
Overport Galaxy XR 0.3.0
Hand joint frames aligned to the Meta conventions and a hand-tuned bind pose.
- Hand joint frames (
--hand-frames=meta, default). The Galaxy XR runtime rolls the wrist and
the little-metacarpal joint frames about their bone axes differently from the Meta runtime whose
conventions Quest hand rigs expect (captured SM-I610 data: wrist +Y rolled 13 degrees toward the
thumb from the palm-plane normal, little metacarpal rolled 5 degrees toward the thumb where the
MetaPinky0bone rolls 24 degrees away from it). The adapter now takes the wrist roll from the
palm joint and rolls the little metacarpal 24 degrees toward the ulnar side; positions and the
wrist Z axis are unchanged, so the tracked fingers stay where the runtime puts them.
--hand-frames=runtimekeeps the runtime frames. - Hand-tuned bind pose (
--hand-bind=edited, default). The bind joints handed to OVRPlugin
come from a built-in table of 26 left-hand joints (positions, rolls and finger-tip orientations)
tuned by hand on SM-I610 against the live joints and the Meta rest pose; the right hand is
mirrored. Finger frames are re-derived along the bones, so parents, radii, mesh vertices and the
live joints are untouched.--hand-bind=rebuildrestores the bind pose derived from the runtime
data only. The GUI uses the defaults.
Reconvert games from their original APK to get the new hand defaults; updating the application
does not change an APK converted by 0.2.0. Resolution, performance defaults, the EGL fix and the
open dispatcher are unchanged. 0.1.x and 0.2.0 users can install this version from Updates.
Validation: Job Simulator 1.4.0.6515 on Samsung SM-I610 (I610UEU2AZF3) with the open dispatcher,
handframes=meta and handbind=edited: hands tracked and drawn, the remaining offset of the
little finger follows the runtime joints themselves. Host tests replay the captured runtime data
for the default and the edited bind path on both hands; the converted APK was verified to carry
the built adapter and the configuration before installation. Other games remain untested.
Overport Galaxy XR 0.2.0
Overport Galaxy XR 0.2.0
Hand tracking for converted games and a choice of OpenXR dispatcher.
- Hand tracking. Games that declare Quest hand tracking in their manifest now ask for the
Android XRHAND_TRACKINGpermission before the first start (new switch in the GUI,
--hands=auto|on|offin the CLI, default auto). The Galaxy XR runtime returns an incomplete
XR_FB_hand_tracking_meshskeleton (parents, radii, finger tip and metacarpal bind poses),
which made OVRPlugin draw twisted hands; the adapter now rebuilds that skeleton from the valid
joints and the live hand and expresses it in the root frame OVRPlugin 1.88 expects
(--hand-mesh=fix, default;runtimekeeps the runtime description). Live joints are not
modified; the runtime still does the tracking. - Open OpenXR dispatcher. Converted APKs carry
openxr-dispatcher-open 1.0.0 (MIT, built
from the pinned upstream commit68479ea) aslibopenxr_loader.soinstead of the closed
Overport dispatcher. New switch Open OpenXR dispatcher in the GUI (on by default) and
--dispatcher=open|overportin the CLI;overportkeeps the closed dispatcher together with
the hash-guarded swapchain abort fix, which the open dispatcher does not need. Dispatcher logs:
adb logcat -s OpenXRDispatch. - Patches are applied in a fixed order independent of the order they were requested in, so the
GUI and the CLI produce the same APK.
Reconvert games from their original APK to get hands and the open dispatcher; updating the
application does not change an APK converted by 0.1.x. Resolution, performance defaults and the
EGL fix are unchanged. 0.1.x users can install this version from Updates.
Known issue: the permission request activity runs in full space and starts the game right after
the dialog; on SM-I610 (I610UEU2AZF3) this once crashed the system UI, which recovered with a
system restart. The granted permission persists, so later launches skip the dialog. Converting
with the hand tracking switch off avoids the dialog; the permission can then be granted in the
system settings.
Validation: Job Simulator 1.4.0.6515 on Samsung SM-I610 with the open dispatcher (GLES session,
CPU/GPU BOOST and 90 Hz accepted, both hand skeletons rebuilt, Unity reaches Finished Setup,
no crash) and with the rebuilt hand skeleton (OVRPlugin skeleton verified against the Meta
layout; the user reports usable hands with some remaining deformation). Host tests for the
adapter policy and the hand skeleton replay captured runtime data; Windows/Android compilation
and updater tests pass. Details: docs/OPEN-DISPATCHER-GALAXYXR-2026-10-14.md and the
changelog. The CLI-only --foveation=eye experiment is unchanged and not validated. Other games
remain untested.
Overport Galaxy XR 0.1.2
Overport Galaxy XR 0.1.2
The Unity EGL startup fix now applies to every ARM64 Unity build that contains the
no-error context request, not only to the Unity 2022.3.33f1 binary from Beat Saber.
libunity.sois searched for the instruction sequence that appends
EGL_CONTEXT_OPENGL_NO_ERROR_KHR = 1; the single value byte becomes 0.
The patch applies only when exactly one such site exists. Zero or several matches
leave the library untouched and the log saysNOT APPLIED.- Job Simulator 1.4.0.6515 (Unity 2022.3.67f1) previously crashed about three seconds
after launch:eglCreateContextreturnedEGL_BAD_MATCH,xrCreateSessionfailed and
OVRPlugin crashed inovrp_SetupLayer. Reconverting it with this version applies the fix. - Beat Saber 1.40.8 output is byte-identical to 0.1.0 and 0.1.1.
Reconvert affected games from their original APK; an APK converted by 0.1.1 is not
changed by updating the application. The Galaxy XR runtime adapter, resolution and
performance defaults are unchanged. 0.1.1 users can install this version from Updates.
Validation: focused checks on the two inspected Unity libraries (signature match,
single changed byte, idempotence, broken/duplicated signature and truncated input),
Windows/Android compilation, updater tests. Job Simulator 1.4.0.6515 reconverted with this
fix starts and runs on Samsung SM-I610 (user-confirmed); details in
docs/JOB-SIMULATOR-GALAXYXR-2026-10-14.md. Other games remain untested.
Overport Galaxy XR 0.1.1
Overport Galaxy XR 0.1.1
Windows and Android now check GitHub Releases for updates when the app opens.
Use Updates to check again, download a newer stable release, and install it.
Downloads are checked against the release asset's size and SHA-256 before use.
- Windows portable: Update and restart replaces the app in its current directory.
The previous app is kept in a sibling.OverportGalaxyXR-backup-*directory.
A failed replacement or launch restores the previous app where possible.
The installation directory must be writable; no administrator privileges are requested.
Recovery details are in%LOCALAPPDATA%\OverportGalaxyXR\updates\last-install.txt. - Android: the APK must match the installed app's package and signing certificate,
and have a newer version code. Android asks for installation permission and confirmation.
After allowing updates from Overport, return and press Download and install again. - Settings, patched games, and the persistent APK signing identity are preserved.
- Updating is disabled while an APK is open for patching. Finish or cancel that job first.
Install this version once using the release APK or Windows ZIP to get the updater;
0.1.0 only links to the release page. Future versions can be installed within the app.
The validated Galaxy XR runtime adapter from 0.1.0 is unchanged. Experimental
eye-tracked foveation is not included in this release.
Validation: Windows/Android compilation, release selection and download integrity tests,
Windows archive path checks, and Windows replacement/rollback/incomplete-package tests.
Android installation still requires the system installer; there is no silent installation.
Overport Galaxy XR 0.1.0
First Galaxy XR release with a graphical interface for Windows and Android.
- Windows: extract the
windows-x64.zipand runOverportGalaxyXR.exe. Java is bundled. - Android: install the signed
android.apkand open Overport Galaxy XR. - Select a Quest game APK, choose resolution/performance, then save the converted APK.
Both applications use the same Galaxy XR preset: 3552x3840 per eye, CPU/GPU BOOST,
supported 90 Hz, Android XR metadata, guarded Unity EGL and swapchain fixes.
Lower resolution and app-controlled performance are available in the main screen;
optional patches are under Advanced. The original Quest controller layout is preserved.
Validated runtime behavior on Beat Saber 1.40.8 / Samsung SM-I610: launch, gameplay,
larger textures, accepted BOOST/90 Hz requests, and pause with the separate left Menu
button. Other games remain untested. Hints do not guarantee 90 FPS. The preset uses
the inspected ARM64 runtime 3.4.3-aa54c3f; unknown Unity binaries are skipped, unknown
Overport loaders are rejected by the swapchain guard.
Changes affect only the converted APK. Keep the original APK and patcher's signing
workspace for reinstall rollback. No root, firmware or system runtime changes.
Do not clear Android application data if you need to retain its APK signing identity.
The Windows executable is not Authenticode-signed; Android releases use a stable
fork-specific signing key. No game APKs or closed runtime binaries are distributed.
The optional cli.jar requires Java 21:
java -jar overport-galaxyxr-0.1.0-cli.jar patch --input=game.apk --target=galaxyxr --output=patchedOriginal Overport by ovrport; Galaxy XR fork by 4uva4ek. GPLv3, third-party attribution retained.