Repository navigation
Releases
Unbound Launcher 0.2.6 alpha
Unbound Launcher 0.2.6 alpha
Android build 2972, released 2026-11-11.
This update includes all changes since 0.2.5 alpha (build 2967), including
local development builds 2968–2971 and the app-launch crash correction described
below. Earlier fixes, including those from withdrawn 0.2.4 alpha, remain included.
Changes since 0.2.5 alpha
- Fixed the build 2971 crash when opening an app in AR Space. The revised
immersive 3D menu could pass an unresolved Unity string literal to localization
while creating an app window, terminating the renderer. Label metadata is now
initialized before use. The OnePlus 15 crash logs identify this exact failure;
a new ARM64 regression reproduces it before the fix and passes afterward.
The wearer confirms that opening an app in this exact build keeps AR Space
running on OnePlus 15 / XREAL One. Fresh crash logs show no renderer crash.
Investigation. - Guided display tests under Settings → Help. Check the glasses connection,
test 1920 × 1080 2D at 60 Hz, or test 3840 × 1080 SBS at 60 Hz without
launching AR Space. The 3D test captures a 2D baseline first and shows a grid
with one centered circle per eye for 20 seconds when the requested timing is
available. Tests request a return to 2D when finished, stopped or left; unplug
and reconnect if recovery fails. Automatic AR entry is paused while the page
is open. Test history, wearer feedback and bounded display/USB snapshots are
included in debug exports even with log collection off. Observed timing and
picture feedback are recorded separately. Physical switching and recovery
still need hardware validation; these tests do not restore missing modes. - Samsung S21 FE readiness correction. A completed shell ping with the exact
SO_BINDTODEVICE: Operation not permittederror now allows the existing
control-network validation and native startup to proceed. The wearer reports
repeated successful AR sessions, stereo rendering and head tracking with their
equivalent local patch on SM-G990B / One UI 8.0. Other recognized interface
binding denials use a bounded ICMP probe bound to the Android glasses network.
Ordinary packet loss, helper timeouts, missing routes and USB cancellation
retain their failure behavior. This exact release needs an affected-device
retest. Evidence and checks. - Firmware read failures have their own warning. Empty, failed or timed-out
reads display Firmware check paused, explaining that the firmware may
already be current. Exit remains available; continuation stays disabled while
a read is active and becomes Continue without verification after a failed
read finishes. A confirmed mismatch retains its separate warning. Late results
update the warning or resume startup appropriately. Diagnostics record each
component's start, completion duration and errors. This corrects the misleading
S26 Ultra warning; its USB-read stalls and native control failure remain
unresolved. Investigation. - Three direct immersive 3D choices. The picker shows Half SBS,
Full SBS and Half Top/Bottom together; Close turns 3D off. Half
top/bottom sends the top image to the left eye and the bottom image to the
right eye, restoring vertically compressed eye images. It was wearer-confirmed
in development build 2970. Full top/bottom was removed after broken output was
reported; saved selections migrate to half top/bottom. The revised picker
still needs a visual glasses retest; the app-launch correction is
wearer-confirmed on OnePlus 15 / XREAL One with this release APK. - Optional quiet Eye photos and immediate screen-off. Two switches under
Settings → Experimental are off by default and apply immediately.
Disable XREAL Eye shutter sound silences the photo cue while other app
sounds keep playing. Skip screen-off confirmation immediately switches off
the phone panel when the controller button is pressed. Touches and the pointer
remain blocked; either volume button restores the screen. The phone remains
unlocked. Turning a switch off restores the original behavior. Emulator checks
cover persistence, reads by the separate renderer process, sound selection and
controller behavior; physical Eye sound and panel-power checks remain pending. - More precise compatibility evidence. A connected Nubia NX809J / One Pro
retest on 0.2.5 confirms that the hardware composer exposes only 640 × 480
after the stereo switch. The visible wallpaper belongs to the OEM secondary
launcher; it does not establish a successful AR launch. New Samsung reports
distinguish the S21 FE ping denial from the S26 Ultra's USB and control
transport failures. Nubia investigation.
Previous features remain, including VPN/ADB recovery, setup for continued use on
mobile data after starting the helper on Wi-Fi, controller touch routing,
DRM-readiness rendering fallback, retained startup display diagnostics, optional
2D 60 Hz, anchored-window preservation, concurrent high performance apps,
logo-free video recording and XREAL Eye recording without a fixed launcher time
limit. See the 0.2.5 changelog
for the earlier changes, including all fixes from withdrawn 0.2.4.
Installing or upgrading
Install the-unbound-launcher-0.2.6-alpha.apk. Build 2972 keeps package
dev.markpronkin.unbound and the existing signing certificate registered
with the owner's Android developer account. It updates public releases from
0.1.1 through 0.2.5 alpha, including withdrawn 0.2.4, and local development builds
through 2971 in place, preserving app data, pairing and settings.
Package registration.
Enable USB debugging and Wireless debugging, then restart the helper
under Settings → On-device ADB → Connect and start on Wi-Fi and reconnect the
glasses. Settings → About → Check for updates can find 0.2.6.
Once the helper is Ready, keep USB debugging enabled when leaving Wi-Fi to use
mobile data. If the helper stops or the phone reboots, return to Wi-Fi and start
it again.
A clean install is required from 0.1.0 alpha or a build using
com.xreal.evapro.nebula; Android does not transfer data between package names.
Requirements remain an arm64 Android 11+ phone with USB-C DisplayPort Alt Mode,
compatible glasses, Wi-Fi for Wireless debugging setup and about 1 GB for the
APK. If Android asks how to use the glasses display, choose Mirror. The
firmware gate checks the model's pinned stable release before AR startup.
Validation and known limitations
All 269 host regression tests pass, with no failures or skips. The separate
APK audit passes package/version, class uniqueness, current bundled sources,
scoped DEX/native patch restoration and Unity shader-loading checks. The APK
passes Signature Scheme v3 verification and 16 KB ZIP alignment, with application
debugging disabled. All 258 bundled source files match the workspace. Signing
certificate comparison and full receipts are retained in the local release
package's validation.json and companion files.
The exact release APK was installed in place on OnePlus 15 / XREAL One. The
wearer confirmed that opening an app keeps AR Space running, and no new crash
appeared in the collected crash buffer. This focused check does not validate
every new feature or hardware combination.
- The exact release APK's app-launch correction is wearer-confirmed on
OnePlus 15 / XREAL One. This focused retest does not establish that all three
immersive formats or the other new features have passed physical testing. - Guided display timing, pattern appearance and automatic 2D recovery need
physical-glasses checks. A successful SDK command alone does not establish
native timing or a clear picture. - The Samsung S21 FE correction needs a retest of this APK. S26 Ultra USB-read
stalls and native control transport failures remain unresolved. - Pixel 10 Pro and Nubia NX809J / One Pro's VGA-only stereo links, Samsung / 1S
control-channel timeouts and OPPO / Air 2 Pro's experimental 3D remain unresolved. - VPN transitions, mobile-data helper retention, the Honor touch correction,
Moto rendering fallback and restored 2D 60 Hz need affected-device retests. - Renderer network selection, anchored windows, concurrent high performance
apps, logo-free recordings, Retroid geometry and the R1 firmware reader retain
their previously documented hardware-validation limits. - Adaptive brightness, screen-off gamepad behavior, Eye shutter muting and the
immediate screen-off option still need their respective wearer checks. Volume
recovery requires readable hardware input nodes and the updated helper. - Earlier reconnect-related audio distortion and a temporary freeze, remaining
app-color differences and hardware-dependent input/Bluetooth issues are not
claimed fixed. Protected/DRM video in spatial windows and Miracast receiving
remain unsupported.
See the README for
setup and compatibility evidence. This is an independent, fan-made alpha based
on XREAL's original software, unaffiliated with XREAL. XREAL-origin code and
artwork remain XREAL's property. The author's original code uses the MIT License;
third-party components retain their licenses. Notices and pairing-library
sources are bundled i...
Unbound Launcher 0.2.5 alpha
Unbound Launcher 0.2.5 alpha
Android build 2967, released 2026-11-08. This release replaces the
withdrawn 0.2.4 alpha (build 2962) and includes all changes since the last
available release, 0.2.3 alpha (build 2957), including development builds
2958–2966. The complete 0.2.4 changelog is carried forward below; its fixes are
included in this APK.
New in 0.2.5 alpha
- On-device ADB recovers across VPN and network changes. Pairing and ADB
sockets explicitly use loopback, discovery follows physical Wi-Fi even when
a VPN is the default network, and bounded retries handle changed routes,
late discovery results and interrupted startup. Stale discovery callbacks
are discarded. A running helper is reused without restarting it. VPN policies
that block local access still require a settings change; real phone/VPN
validation is pending. Implementation and checks. - Clearer setup and recovery for use on mobile data. Setup now requires
USB debugging alongside Wireless debugging, checks that USB debugging is
enabled before launching the helper, and shows live Use without Wi-Fi
guidance. Once the helper is Ready, it can continue through local Binder
calls after Wi-Fi disconnects. Known local ports are tried before discovery,
and offline failures explain recovery. A reboot or stopped helper still
requires Wi-Fi to start again. Physical cellular and vendor-specific helper
retention checks remain pending. Details. - The phone controller's invisible keyboard mask allows touches through.
Both creation and reattachment preserve the mask's keyboard role while
allowing taps and drags to reach the controller. Android emulator checks
reproduce the old interception and verify the correction. This targets the
Honor Magic 6 Pro controller report; its cause and the fix still need an
affected-device retest. Investigation. - App windows use the copy-rendering fallback when DRM readiness fails.
Optional protected overlays now require both GPU support and a successful
local Widevine session check. Failure, interruption or timeout keeps the copy
route, and late probe completion cannot change a running session. This targets
the protected-rendering crashes captured on Moto Edge 2024; it does not enable
protected video or claim to fix every app failure or lag report. Hardware
validation remains pending. Investigation. - Restored Settings → Experimental → Use 60 Hz in 2D. The original option
requests 1920 × 1080 mono at 60 Hz for models whose normal startup is 2D.
Existing stereo defaults are preserved. It is off by default, mutually
exclusive with Force 3D, and requires reconnecting. Earlier saved preferences
work again in both the Java SDK and Unity selectors. Policy and checks. - Debug exports retain connected startup display evidence. Display changes
are recorded for 90 seconds after SDK startup independently of logcat.
display-startup.txtkeeps the first non-native-output snapshot and the latest
startup snapshot, so unplugging before export does not erase the connected
mode lists. Captures include bounded display/compositor dumps, USB port state,
preceding system/vendor link logs and available connector/EDID data.
Permission-denied sources remain visible. This improves investigation of
VGA-only output; it does not restore missing hardware display modes. - Expanded compatibility evidence. New Honor, Moto and Nubia reports separate
confirmed startup/rendering behavior from suspected causes and pending fixes.
Nubia NX809J / One Pro repeatedly falls back to 640 × 480 after successful SDK
startup; that missing-native-mode failure remains unresolved.
Nubia investigation.
Included from withdrawn 0.2.4 alpha
All of the following changes from 0.2.4 are included in 0.2.5:
- Glasses network selection now covers the renderer process. The main SDK
callback and Unity renderer share scoped Ethernet network leases. The renderer
selects the glasses network before startup and again after display switches,
then restores routing one second after the native Presentation attaches, or
immediately when startup fails or the session closes. This addresses the
Pixel 10 Pro Fold's second control connection leaving through Wi-Fi after the
main controller had already started. The reporter confirms working AR Space
with his implementation of this design; this exact release APK still needs a
hardware retest. New internet sockets and DNS in the renderer temporarily use
the glasses network during startup. Evidence and implementation. - AR notifications distinguish startup from output. The foreground service
shows Starting AR Space while waiting for a glasses Presentation, then
AR Space is running once it attaches. Failed startup retains its timeout
and cleanup instead of leaving a misleading running notification. - Opening apps preserves existing anchored windows. Existing window
positions, rotations and sizes remain in place when another app opens in
anchored 3/6DoF mode. Smooth-follow layout and manual recentering retain their
existing behavior. Host ARM64 checks and signed-APK inspection verify the
patch; physical glasses validation is pending. Details. - Removed the separate high performance app restriction. Opening another
app no longer asks to close the current high performance app. The overall
ten-window limit remains. Device performance and usable app combinations
still depend on the phone; hardware validation is pending. - New Eye and AR videos omit the branded recording logo. This changes only
the video overlay; photo logos and previously saved videos are unchanged.
Encoding, audio, resolution, blending, elapsed-time display and saving retain
their existing paths. Physical recording and gallery playback validation are
pending. Implementation and tests. - Guarded app-window rotation correction. The helper reconciles logical and
fixed device rotation when a launcher virtual display reports reversed
dimensions and its own metadata confirms the offset. This targets compressed
or letterboxed Files content on the Retroid Pocket Nova. Missing or ambiguous
metadata keeps the original behavior. The Retroid/glasses visual retest is
pending. Restart the updated helper after installation. Investigation. - ROG XREAL R1 has its own firmware policy. Its exact ASUS USB identities
select the MCM103 glasses release, Pilot1.9.0.20260709183133and DSP
15.A.01.097_20250430, with the ASUS support link in firmware warnings.
Startup diagnostics record each returned firmware component. A wearer has
confirmed R1 operation on compatible firmware; this new reader/policy path
still needs an R1 hardware retest. Firmware evidence. - Updated compatibility reports and website. The Pixel Fold report now
separates successful main-controller startup from the renderer failure and
records the reporter's working fix. The OPPO Air 2 Pro follow-up confirms
two-eye Unity rendering while the reported stereo problem remains unresolved.
The website highlights Eye recording and wearer-confirmed R1 operation.
Earlier features remain, including recording without the fixed launcher time
limit, adaptive-brightness filtering, immersive-window and background-playback
fixes, optional All files access, screen-off gamepad handling, mirroring startup
preferences, app updates and experimental 3D.
Installing or upgrading
Install the-unbound-launcher-0.2.5-alpha.apk. It keeps package
dev.markpronkin.unbound and the existing signing certificate registered
with the owner's Android developer account. Build 2967 updates public
releases from 0.1.1 through 0.2.3 alpha, the withdrawn 0.2.4 alpha, and local
development builds through 2966 in place, preserving app data, pairing and
settings. The signer is checked against public 0.2.3 and the recorded developer
registration fingerprint. Package registration.
After installation, enable USB debugging and Wireless debugging, then
restart the updated helper under Settings → On-device ADB → Connect and start
on Wi-Fi. Reconnect the glasses. Settings → About → Check for updates can
find 0.2.5 once published. Once the helper is Ready, keep USB debugging enabled
when leaving Wi-Fi to use mobile data. If the helper stops, return to Wi-Fi and
start it again. For a startup retest, enable debug collection before connecting
and leave the glasses connected through export if startup fails.
A clean install is required from 0.1.0 alpha or any build using
com.xreal.evapro.nebula. Android does not transfer data between package names.
Requirements remain an arm64 An...
Unbound Launcher 0.2.3 alpha
Unbound Launcher 0.2.3 alpha
Android build 2957. Includes all committed and local changes since
0.2.2 alpha (build 2953), including development builds 2954–2956.
Changes since 0.2.2 alpha
- XREAL Eye and AR recordings have no fixed launcher time limit. The
recording indicator shows elapsed time instead of a countdown, and the
launcher no longer stops recording at its former 120-second deadline.
Manual Stop, encoding, saving and interruption cleanup are preserved.
The Eye recording-limit change is wearer-confirmed on development build
2954; specific recording durations and gallery playback were not separately
reported. Storage, battery, temperature and camera/encoder failures can
still end a recording. Details and checks. - Adaptive brightness no longer triggers repeated Spatial Mouse resets.
The stock brightness observer treated every non-zero brightness change as
a screen unlock, which recentered the controller. The new filter forwards
only actual zero/non-zero lock transitions, retaining normal screen-lock
behavior. Host tests and the signed release APK's DEX verify the fix;
wearer testing with adaptive brightness and glasses is still pending.
Investigation. - Native startup selects the glasses' Ethernet network. After helper
readiness succeeds, Ethernet-series glasses now use a verified Android
Ethernet network during the SDK's synchronous native-startup callback.
This targets control connections that otherwise leave through Wi-Fi when
Android denies interface binding. The adapter checks the authorized USB
attachment, glasses address and direct peer route, then restores the prior
process network in afinallyblock. Missing or ambiguous networks stop
startup rather than falling back to Wi-Fi. Air/H-series startup keeps its
existing path. New internet sockets and DNS lookups in the launcher process
temporarily use the glasses network during this callback. Host and Android
runtime checks verify selection, restoration and native socket binding;
affected-phone AR startup and reconnect/resume still need hardware testing.
Implementation and validation. - Updated compatibility evidence. XREAL Eye 6DoF tracking is wearer-confirmed
as working on 2026-10-29. The Pixel 10 Pro Fold / One Pro still
fails native startup on released 0.2.2 with the exact recommended stable
firmware. A new Galaxy S24 Ultra (SM-S928B) / One Pro report shows the same
app-UID bind restriction and 20-second startup stall. Together with the
Galaxy Z Fold 8 / One investigation, these are validation targets for the
network-selection fix above; successful AR on these phones is not yet
established. Pixel Fold,
Galaxy Z Fold 8,
Galaxy S24 Ultra.
All earlier features remain, including immersive-window and background-playback
fixes, optional All files access, screen-off gamepad focus handling, mirroring
startup preferences, per-model firmware checks, app updates and experimental 3D.
Installing or upgrading
Install the-unbound-launcher-0.2.3-alpha.apk. It keeps package
dev.markpronkin.unbound and the existing signing certificate. Build 2957
updates public 0.1.1, 0.1.2, 0.2.0, 0.2.1 and 0.2.2 alpha, plus development
builds through 2956, in place while preserving app data, pairing and settings.
After installation, start the updated helper under
Settings → On-device ADB → Connect and start, then reconnect the glasses.
Settings → About → Check for updates can find 0.2.3 once published.
For an affected-phone network retest, enable debug collection before the first
connection attempt after reopening the app, leave Wi-Fi on, and export a new
debug ZIP if startup fails.
A clean install is required from 0.1.0 alpha or any build using
com.xreal.evapro.nebula. Android does not transfer data between package names.
Requirements remain an arm64 Android 11+ phone with USB-C DisplayPort Alt Mode,
compatible XREAL glasses, Wi-Fi for Wireless debugging setup, and about 1 GB for
the APK. Setup requires Developer options and Wireless debugging; restart the
helper after reboot. If Android asks how to use the glasses display, choose
Mirror. The existing firmware gate checks the model's pinned stable release
before AR initialization.
Validation and known limitations
All 228 host regression tests pass, with no failures or skips. The separate
signed-APK audit passes package/version checks, class uniqueness, scoped
DEX/native patch restoration and Unity shader loading. The release build also
passes APK Signature Scheme v3 verification and 16 KB ZIP alignment, and its
signing certificate matches public 0.2.2 alpha. Full verification receipts are
recorded in the local release package's validation.json. The exact signed APK
also passes 49 Android emulator assertions: 21 for brightness handling,
14 for network/socket binding, and 14 for the original SDK startup callback.
The exact 0.2.3 alpha APK has not been tested with physical glasses. Wearer
confirmations above refer to the named development builds.
- The network-selection fix targets the leading routing diagnosis. Successful
native startup and usable AR on the Pixel Fold, Galaxy Z Fold 8 and SM-S928B
remain unverified. Later control sockets opened outside synchronous startup
may require further work. - Adaptive-brightness filtering still needs wearer validation; other causes of
Spatial Mouse recentering are not claimed fixed. - Pixel 10 Pro / One Pro's VGA-only stereo link, Samsung / 1S control-channel
timeouts, and OPPO CPH2791 / Air 2 Pro's stretched experimental 3D remain
unresolved. - Screen-off gamepad behavior has Android fixture coverage; physical panel-off
play with glasses remains unverified. Volume recovery requires readable
hardware input nodes and the updated helper. - Earlier reconnect-related audio distortion and a temporary freeze, remaining
app-color differences, hardware-dependent input/Bluetooth issues and
experimental ROG XREAL R1 support are not claimed fixed. - Protected/DRM video in spatial windows and Miracast receiving remain unsupported.
Display, GPU and firmware behavior vary by device.
See the README for
setup and compatibility evidence, and the
0.2.2 release
for earlier changes.
This is an independent, fan-made alpha based on XREAL's original software,
unaffiliated with XREAL. XREAL-origin code and artwork remain XREAL's property.
The author's original code is licensed under the MIT License; third-party
components retain their own licenses. Notices and pairing-library sources are
bundled in the APK.
Unbound Launcher 0.2.2 alpha
Unbound Launcher 0.2.2 alpha
Android build 2953. Includes all committed and local changes since
0.2.1 alpha (build 2949), including development builds 2950–2952.
Changes since 0.2.1 alpha
- Immersive windows work on the Pixel's Mali GPU. Entering immersive mode
now respects the existing GPU capability fallback instead of forcing a
compositor overlay that cannot link its shader on the Pixel 8 Pro. Affected
GPUs keep the app on the working copy surface, avoiding the frozen picture
and washed-out colors after leaving immersive. GPUs supporting the required
capability retain the original overlay path. Immersive entry and exit are
wearer-confirmed on Pixel 8 Pro / XREAL One; the OnePlus retains its hardware
overlay path. Investigation. - Video keeps playing when leaving the phone controller. The launcher
retains a live Unity render surface before Android destroys the phone's
SurfaceView, waits for a real frame, and restores the phone surface on return.
This fixes the case where audio and head tracking continued while the glasses
reprojected a frozen image after pressing Home. Continued video playback is
wearer-confirmed on Pixel 8 Pro / XREAL One with the revised development
build 2951. Investigation. - Optional All files access for local photos and videos. The permission
checklist now opens Android's All files access page so the bundled photo
and video players can access local files beyond scoped media access. The
permission remains optional; its status refreshes when returning to the app. - Screen-off controls preserve gamepad focus. The confirmation and phone
touch guard no longer take input focus away from the spatial game. The guard
continues blocking phone touches. Either physical volume button restores the
panel through the independent helper watchdog; the client then removes the
guard and restores the pointer. If volume-button recovery is unavailable, the
panel stays on. A wake press can also change Android's volume. Emulator checks
cover global gamepad buttons, joystick input and hardware-key recovery;
physical screen-off play with glasses and a gamepad still needs validation.
Restart the updated helper after installing.
Implementation and checks. - Start in screen mirroring is respected on reconnect. USB attachment,
helper-ready recovery and queued automatic entry now read the same saved
choice as Settings. Mirroring skips automatic AR entry and helper startup;
a connection already in progress can complete without waiting for AR frames
that will never arrive. Turning the setting off restores automatic AR entry.
Physical unplug/reconnect is wearer-confirmed to open mirroring directly on
Pixel 8 Pro / XREAL One with development build 2952.
Investigation. - Updated compatibility investigations. A Galaxy Z Fold 8 / XREAL One
report on the recommended stable firmware shows native control traffic
leaving through Wi-Fi after Android rejects interface binding. The Pixel 10
Pro / One Pro remains limited to 640 × 480 after its stereo switch, with no
native stereo mode advertised by the driver. These are documented findings,
with proposed next steps; this release does not implement fixes for either
blocker. Fold 8 report,
Pixel 10 Pro report,
Pixel 10 Pro Fold comparison.
All earlier features remain, including direct glasses output, the per-model
firmware check, reconnect grace period, optional diagnostics, native phone
menus, app-menu editing, automatic sleep, app updates and experimental 3D.
Installing or upgrading
Install the-unbound-launcher-0.2.2-alpha.apk. It keeps package
dev.markpronkin.unbound and the existing signing certificate. Build 2953
updates public 0.1.1, 0.1.2, 0.2.0 and 0.2.1 alpha, plus development builds
through 2952, in place while preserving app data, pairing and settings.
After installation, start the updated helper under
Settings → On-device ADB → Connect and start, then reconnect the glasses.
The screen-off client requires the updated helper. Optional local-media access
can be enabled under App permissions → All files access.
Settings → About → Check for updates can find 0.2.2 once it is published.
A clean install is required from 0.1.0 alpha or any build using
com.xreal.evapro.nebula. Android does not transfer data between package names.
Requirements remain an arm64 Android 11+ phone with USB-C DisplayPort Alt Mode,
compatible XREAL glasses, Wi-Fi for Wireless debugging setup, and about 1 GB for
the APK. Setup requires Developer options and Wireless debugging; restart the
helper after reboot. If Android asks how to use the glasses display, choose
Mirror. The existing firmware gate checks the model's pinned stable release
before AR initialization.
Validation and known limitations
All 222 host regression tests pass, with no failures or skips. The separate
signed-APK audit passes package/version checks, class uniqueness, scoped
DEX/native patch restoration and Unity shader loading. The release build also
passes APK Signature Scheme v3 verification and 16 KB ZIP alignment.
Full verification receipts are recorded in the local review package's
validation.json. The exact 0.2.2 alpha APK has not been tested with physical
glasses. Wearer confirmations above refer to the named development builds.
- Screen-off gamepad behavior is validated in an Android fixture with production
code and controller resources; end-to-end physical panel-off play remains
unverified. Volume recovery requires readable hardware input nodes. - Galaxy Z Fold 8 / One and Pixel 10 Pro Fold / One Pro native startup failures,
other Samsung control-channel/reconnect issues, and Pixel 10 Pro / One Pro's
VGA-only stereo link remain unresolved. Stable firmware alone does not resolve
every startup failure. - OPPO CPH2791 / Air 2 Pro experimental 3D remains stretched and unusable in the
reported session. Correct output resolution does not establish per-eye geometry. - Earlier reconnect-related audio distortion and a temporary freeze, remaining
app-color differences, hardware-dependent input/Bluetooth issues and
experimental ROG XREAL R1 support are not claimed fixed. - Protected/DRM video in spatial windows and Miracast receiving remain unsupported.
Display, GPU and firmware behavior vary by device.
See the README for
setup and compatibility evidence.
This is an independent, fan-made alpha based on XREAL's original software,
unaffiliated with XREAL. XREAL-origin code and artwork remain XREAL's property.
The author's original code is licensed under the MIT License; third-party
components retain their own licenses. Notices and pairing-library sources are
bundled in the APK.
Unbound Launcher 0.2.1 alpha
Unbound Launcher 0.2.1 alpha
Android build 2949. This release includes all changes since 0.2.0 alpha
(build 2946), including the diagnostics and firmware work from development
builds 2947–2948.
Changes since 0.2.0 alpha
- Firmware compatibility check before AR startup. After USB permission and
model identification, the launcher reads the glasses firmware before native
SDK initialization or display-mode commands. It compares the result with the
exact stable release pinned for that model, checked against XREAL's official
updater on October 29, 2026. Older, newer, beta, unknown or unreadable firmware
pauses startup on a full-screen warning showing the model, mismatching
component, recommended version, official updater link and Exit. The small
I know it won’t work; continue regardless action overrides the check for
that connection only; reconnecting checks again. The SDK's temporary USB
reconfiguration preserves the decision for the same glasses. The check works
offline, reads firmware only, and never flashes firmware. Different models
have separate recommendations; version 2.0.0 is not treated as beta for every
model. Experimental models without a pinned recommendation require an override. - Five-second grace period for temporary glasses disconnects. The helper
retains its display settings during short reconnects, including when Android
assigns a new display ID, to avoid repeated cleanup and reapplication during
a mode switch. A reconnect cancels cleanup and resets the mode-switch timeout.
A replacement monitor, phone lock, severe heat or helper watchdog shutdown
still restores the previous settings immediately. This addresses a regression
candidate found in Samsung Android 17 reports; resolution of the reported
reconnect loop still needs testing on those phones. - More useful startup evidence. A failed retry with empty firmware strings
no longer replaces the last real firmware response. Startup summaries also
retain the external displays present when the SDK starts, helping distinguish
control-channel failure from a missing glasses display. - Control-channel traces in debug exports.
glasses-control-trace.txtadds
a bounded 12-second observation of socket states, send/receive queues,
retransmission timers and interface counters for the fixed glasses peers.
The first trace and two latest traces are retained. These read-only traces
help investigate a stalled handshake; denied Android sources are reported
as unavailable rather than treated as successful communication. - Renderer geometry diagnostics independent of logcat. While debug
collection is enabled,renderer-geometry.txtsamples Unity's actual eye
layout, texture sizes, render viewports and projection matrices every two
seconds. Bounded evidence survives log throttling and later disconnects.
This helps investigate stretched experimental Air 2 Pro stereo output;
it does not change the renderer's geometry or establish a stereo fix. - Glasses-window and system-inset diagnostics. On Android 17,
immersive-windows.txtretains the first and latest connected Presentation
state, including window flags, focus, inset requests and visible system bars.
display.txtalso collects the system's live window focus and inset state.
Client requests alone do not prove that Android accepted them. - Updated troubleshooting and compatibility records. Documents the Samsung
Android 17 display loop, Pixel 10 Pro Fold / One Pro startup failure with
confirmed beta enrollment, and OPPO Air 2 Pro stretched experimental 3D.
Help explains the additional files and how to capture the issue.
Debug collection remains opt-in. No screenshots, rendered app content or head
poses are added by the new geometry/window collectors. The export retains its
15 MB cap, and nothing uploads automatically. Review logs before sharing.
All features from 0.2.0 alpha remain, including direct glasses output, continued
AR while using other phone apps, controller and screen-off fixes, the accepted
app-color baseline, native phone menus, offline automatic sleep, the app-menu
editor, app updates and optional experimental 3D.
Installing or upgrading
Install the-unbound-launcher-0.2.1-alpha.apk. It keeps the package
dev.markpronkin.unbound and the existing signing certificate. Build 2949
updates 0.1.1, 0.1.2 and 0.2.0 alpha, plus development builds through 2948, in
place while preserving app data, pairing and settings. After installation,
start the updated helper under Settings → On-device ADB → Connect and start,
then reconnect the glasses. Settings → About → Check for updates can find
this version once it is published.
A clean install is required from 0.1.0 alpha or any build using
com.xreal.evapro.nebula. Android does not transfer data between package names.
Requirements remain an arm64 Android 11+ phone with USB-C DisplayPort Alt Mode,
compatible XREAL glasses, Wi-Fi for Wireless debugging setup, and about 1 GB for
the APK. Setup requires Developer options and Wireless debugging. Restart the
helper after reboot. If Android asks how to use the glasses display, choose
Mirror. The launcher now checks the model's pinned stable firmware before
AR initialization; use XREAL's official updater when the warning recommends it.
Validation and known limitations
All 216 host regression tests pass, with no failures or skips. The package
retains the public 0.2.0 signing certificate, verifies with APK Signature Scheme
v3, and passes 16 KB ZIP alignment. All 228 bundled source files match the
workspace, including every current runtime source. The 87 existing native
libraries are byte-identical to 0.2.0; the only added native library is the
read-only renderer diagnostics collector. The independent signed-APK audit
also passes package/version checks, class uniqueness, unchanged permissions,
scoped DEX/native patch restoration and Unity shader loading. Full receipts
are in the local review package. Physical testing of this exact 0.2.1 alpha APK with glasses has not
been performed.
- The reconnect grace period and firmware reader still need confirmation on
affected physical phone/glasses combinations. The firmware gate can warn or
pause startup; it does not repair an incompatible native handshake. - Samsung Android 17 reconnect loops and control-channel timeouts remain under
investigation. Stable firmware does not explain every Samsung report. - Pixel 10 Pro / One Pro's VGA-only link and Pixel 10 Pro Fold / One Pro's native
startup failure remain unresolved. The Fold's beta enrollment is confirmed;
successful recovery on stable firmware has not been established for that phone. - OPPO CPH2791 / Air 2 Pro can show content, but experimental 3D remains stretched
and unusable in the report. Correct 3840 × 1080 output alone does not prove
correct per-eye rendering. - Earlier Pixel reconnect-related audio distortion and a temporary freeze,
remaining app-color differences, and hardware-dependent input/Bluetooth
issues are not claimed fixed. Experimental ROG XREAL R1 support remains unverified. - Protected/DRM video in spatial windows and Miracast receiving remain unsupported.
Display, GPU and firmware behavior vary by device.
See the README and
its linked investigations for setup and the current compatibility evidence.
This is an independent, fan-made alpha based on XREAL's original software,
unaffiliated with XREAL. XREAL-origin code and artwork remain XREAL's property.
The author's original code is licensed under the MIT License; third-party
components retain their own licenses. Notices and pairing-library sources are
bundled in the APK.
Unbound Launcher 0.2.0 alpha
Unbound Launcher 0.2.0 alpha
This release collects all launcher changes since 0.1.2 alpha (build 2924),
including the development work through build 2945. The app and About screen
display 0.2.0 alpha, with Android build number 2946.
Installing or upgrading
Update in place from 0.1.1 alpha or 0.1.2 alpha. The package remains
dev.markpronkin.unbound, with the same signing certificate. Build 2946 is
higher than the public releases and development builds through 2945, so Android
can preserve app data, pairing and settings. Install
the-unbound-launcher-0.2.0-alpha.apk, or use Settings → About → Check for
updates after the release is published. Start the updated helper under
Settings → On-device ADB → Connect and start, then reconnect the glasses.
A clean install is still required from 0.1.0 alpha or any build using
com.xreal.evapro.nebula, including older ports shown as My Glasses. Uninstall
those builds first, then grant permissions, pair Wireless debugging and complete
setup again. Android does not transfer data between these package names.
Requirements remain an arm64 Android 11+ phone with wired USB-C DisplayPort Alt
Mode, compatible XREAL glasses, Wi-Fi for Wireless debugging setup, and about
1 GB for the APK. No root or computer is required for setup. If Android asks
how to use the glasses display, choose Mirror. After a reboot, enable
Wireless debugging again and use Connect and start.
Changes since 0.1.2 alpha
AR startup and phone use
- Smoother connection handoff. The connection animation stays visible until
the phone controls and native-resolution glasses Presentation have drawn.
The status changes to Starting AR Space while those windows become ready.
This fixes an early transition and a later startup stall caused by checking
optional pointer visuals. Retry, cancellation and reduced motion are retained. - AR Space keeps running when you use another phone app. An ongoing
AR Space is running notification returns to the controller and provides
Stop AR. The session ends on glasses removal, phone lock or explicit exit. - Phone screen-off works with the embedded helper. Corrects a conflicting
helper command and suspends phone-motion pointing, the laser, reticle and
touch input while the panel is off. Either volume button wakes the phone and
restores the previous pointer state while glasses output continues. - Better separation from ordinary external monitors. Glasses-only display
overrides are released on unplug, including when Android reuses a display ID
or another pair of glasses remains connected. Ordinary monitors keep their
mirroring/desktop choices and cannot authorize glasses-only screen-off or
keep-awake behavior.
Controller, keyboard and notifications
- Controller-mode crash fixes. Spatial Mouse and both trackpad modes keep
their Beam-specific pointer visibility state inside the app. Both the service
and direct input helper stop attempting protected system-settings writes,
including requests triggered by mouse device changes. - Interrupted Home holds no longer recenter the pointer later. Canceling a
touch, moving outside Home, adding another finger, leaving the controller or
destroying its view cancels the pending reset. An intentional two-second Home
hold still works. - Keyboard visibility follows the actual IME. System bars and display
cutouts no longer count as an open keyboard on Android 11+. This addresses
the persistent Enter prompt and incorrect keyboard state in the OPPO report. - Three-finger trackpad gesture protection. On phones exposing the shared
Oplus gesture framework, conflicting screenshot and split-screen gestures are
temporarily suspended during trackpad use and restored afterward. This is
wearer-confirmed on OnePlus; OPPO and Realme hardware testing is pending. - Bluetooth enumeration tolerates unsupported profiles. An optional profile
rejected by the phone no longer aborts connected-device enumeration. This does
not establish that every reported Samsung mouse or stability issue is fixed. - Notifications can reach the AR renderer without restricted intent
inspection. Notifications with tap actions no longer fail during conversion.
Taps use the renderer's app-opening fallback; opening the exact conversation
or notification deep link is not supported by this change. Visual appearance
and tap behavior in the glasses still need wearer confirmation.
App-window colors and graphics
- Reworked app-window color handling. Removes the experimental compositor
gamma corrections, uses precise software sRGB decoding where needed, and
preserves the working hardware path on supported GPUs. On GPUs without the
required override, the SDK's app-window routing hint selects the copy path.
Actual secure-window restrictions remain in force; this does not enable DRM
capture. - Correctly packaged Unity shaders. Preserves shader metadata and refreshes
cache identifiers so Unity can load the updated programs. Build checks now
execute Unity's native shader reader. OnePlus colors were wearer-confirmed;
Pixel colors improved substantially, with a slight remaining difference.
This release preserves that accepted color baseline without further tuning. - Mali graphics compatibility correction. Fixes an incorrect EGL colorspace
attribute in one glasses profile, addressing the graphics defect found while
investigating blank Air 2 Pro output on OPPO. The defect and correction were
reproduced on a physical Pixel Mali GPU; OPPO/glasses confirmation is pending.
Glasses compatibility
- Experimental ROG XREAL R1 recognition. Recognizes its specific ASUS USB
and display identities, adds its name and artwork, and tries the existing
One Pro Ethernet/stereo profile. Physical R1 stereo output, tracking and
optical alignment remain unverified. - Recovery when Android Ethernet is disabled. After a failed glasses ping,
the paired helper can attempt to enable an explicitly disabled Ethernet
service once per attachment. It rechecks the live glasses identity and still
requires a real successful ping and native startup handshake. It does not
alter IP configuration. Recovery on the affected Samsung hardware is pending. - Experimental stereo selector correction. Passes the Android context to
the Force 3D selector correctly for G-series glasses. This removes the hook
error; it does not fix the Pixel 10 Pro / One Pro report whose display link
exposes only 640 × 480 output.
Phone menus and diagnostics
- Unbound Launcher naming and About details. The Android app label and
phone UI consistently use Unbound Launcher, without “The”. About shows
the app version, original MyGlasses version and Android build number.
The package ID and APK filename prefix are unchanged. - Native menus with fade transitions. About, Help and the other phone
menus use consistent Android Activity navigation, preserve page state across
recreation, and use an explicit fade without an upward slide. Completed debug
exports remain available when Help is reopened. - Automatic sleep can be configured offline. Its OLED-style menu is
available under Experience with the glasses disconnected. It retains the
original timeout choices, saves an offline selection, and applies it after a
supported connection accepts the value. Failed or unsupported writes retain
the pending choice. - More useful debug exports. Adds USB/display identity and DisplayPort link
evidence indisplay-link.txt, a persistent first-failure startup timeline in
glasses-startup.txt, and bounded control-channel snapshots in
glasses-control.txt. Attempts, native timeouts, routes and interface counters
help distinguish display-link, Ethernet and SDK failures. Missing or denied
sources are recorded. The ZIP stays capped at 15 MB; collection is opt-in and
nothing is uploaded automatically. Review logs before sharing them.
Everything from 0.1.2 alpha remains, including direct glasses display, ten app
windows, the app-menu editor, GitHub updates, automatic USB entry, inline setup,
skip-OTA and optional 3D SBS on otherwise unsupported glasses.
Validation and known limitations
All 210 host regression tests pass. The signed release APK also passes the
independent package audit: version and package identity, unchanged permission
set, class uniqueness, scoped DEX/native patch restoration, shader loading,
bundled-source correspondence, signing and 16 KB native-library alignment.
All 220 bundled source files match the workspace. The signing certificate
matches public 0.1.2 alpha, and Android application debugging is disabled.
The exact 0.2.0 alpha APK has not had a separate physical glasses test. Earlier
development builds were tested on Pixel 8 Pro / XREAL One for connection
handoff, screen-off/pointer restoration and continued AR while using phone apps,
and on OnePlus 15 for three-finger trackpad gestures and app-window colors.
The linked investigation reports distinguish wearer checks from emulator,
host and diagnostic checks.
- Pixel 10 Pro / One Pro's VGA-only display-link failure and Samsung / XREAL
1S control-channel timeouts remain unresolved. Enabling Ethernet does not
bypass a failed native handshake. - OPPO input and Air 2 Pro graphics fixes, Samsung Ethernet recovery and mouse
reconnect behavior, R1 support, automatic sleep and external-monitor handoff
still need confirmation on the affected hardware. - Pixel app colors retain a slight reported difference from OnePlus. The older
reconnect-related audio distortion and temporary freeze remain unresolved. - Developer options and Wireless debugging remain required. Restart the helper
after reboot; pairing may need to be repeated. - Protected/DRM video in spatial windows and Miracast receiving are unsupported.
- The APK i...
The Unbound Launcher 0.1.2 alpha
The Unbound Launcher 0.1.2 alpha
This release collects launcher changes since 0.1.1 alpha. The app and About
screen display 0.1.2 alpha, with Android version code 2924.
Installing or upgrading
Install this over 0.1.1 alpha. The package stays
dev.markpronkin.unbound and the signing certificate is unchanged. Android
version code 2924 is higher than the public 0.1.1 alpha (2908) and the later
development builds through 2923, so an in-place update keeps app data, pairing
and settings. Settings → About → Check for updates can download this
release after it is published. You can also install
the-unbound-launcher-0.1.2-alpha.apk directly.
A clean install is still required from 0.1.0 alpha or any build that used
com.xreal.evapro.nebula, including older ports shown as My Glasses. Android
treats that package as a different app and does not transfer its data. Uninstall
those builds first, then grant permissions, pair Wireless debugging and complete
setup again.
Use an arm64 Android 11+ phone with wired USB-C DisplayPort Alt Mode, compatible
XREAL glasses, Wi-Fi for Wireless debugging setup, and approximately 1 GB for
the APK. Open Unbound, accept the disclaimer, grant Display over other apps and
follow on-phone ADB pairing. Once Ready, tap Continue, review the terms and
privacy policy, and tap Agree and finish. Plug in the glasses. If Android asks
how to use the display, choose Mirror. After a reboot, enable Wireless
debugging again and use Connect and start.
Changes since 0.1.1 alpha
- Direct glasses display. AR runs through the SDK's native glasses
Presentation from the phone. Unbound does not put a Desktop or DeX task on
the glasses. The helper routes XREAL displays to Mirror, remembers the
previous connection choice, and restores it when the glasses disconnect, the
phone locks, or the helper stops. A temporary stereo mode still corrects a
640 × 480 fallback and is restored on disconnect. - Phone connection screen. Connecting shows a dark full-screen dot-matrix
sequence for USB, glasses and the trackpad pointer. Only a successful
controller handoff waits for the short transition. Reduced motion, retry and
cancel are included. The launcher startup theme is opaque black. - Startup on more phones. USB type 11 glasses, seen on Sony Xperia, can
finish startup when the SDK's startup query is unsupported. Android 12 no
longer aborts the renderer becauseDisplay.Mode.getSupportedHdrTypesis
missing. The glasses ethernet ping runs through the paired helper, and stale
ping callbacks are cancelled, so startup does not stall when the app itself
cannot ping the glasses network. - Debug exports. With Debug mode on, creating a debug file also captures
display.txtandsurfaceflinger.txtthrough the on-device helper, plus
connection network diagnostics. Keep the glasses connected until the file is
ready. Each display dump keeps up to 1 MB. Nothing is uploaded automatically. - App-window color. GPUs that reject the external sRGB override, including
a virtual-display video path used by apps such as YouTube, get another
software decode. This exact color change has not been confirmed on glasses.
YouTube can still look washed out.
Everything from 0.1.1 alpha remains, including automatic AR Space entry,
connection recovery, skip-OTA, direct glasses-launcher startup, inline terms,
GitHub app updates, experimental app/game detection, optional 3D SBS, and Help.
Validation and known limitations
The direct-display development builds 2916–2919 were exercised on a Pixel 8 Pro
with XREAL One. This 0.1.2 alpha rebuild has not had a separate glasses test.
The YouTube color path in this tree was not installed before this release; on
build 2923 the picture was still washed out.
The release APK passes all 171 host regression tests, the packaged-code and
resource audit, bundled-source comparison, signing-certificate verification and
16 KB native-library alignment checks. Android application debugging is disabled.
- Other phones and glasses, experimental SBS, manufacturer gaming dashboards,
and the latest app-window color path still need testing. - Developer options and Wireless debugging remain required. Restart the helper
after reboot; pairing may need to be repeated. - Protected/DRM video in spatial windows and Miracast receiving are unsupported.
- The APK is approximately 1 GB. Display and GPU behavior vary by phone.
See the README for
setup and the full compatibility notes.
This is an independent, fan-made alpha based on XREAL's original software,
unaffiliated with XREAL. All XREAL-origin code and artwork remain XREAL's
property. The author's original code is licensed under the MIT License in
LICENSE; third-party components retain their own licenses. Notices and
pairing-library sources are bundled in the APK.
The Unbound Launcher 0.1.1 alpha
The Unbound Launcher 0.1.1 alpha
This release collects all launcher changes since 0.1.0 alpha, including the
latest user-confirmed working build. It adds automatic glasses entry, connection
recovery, app updates, experimental settings and debug exports, and moves Unbound
to its own registered Android package. The app and About screen display
0.1.1 alpha, with Android version code 2908.
Installing or upgrading
A clean install is recommended: completely uninstall all previous Unbound
Launcher builds before installing 0.1.1 alpha, including the public 0.1.0 alpha
and development builds, even if an older port appears as My Glasses. Uninstalling
clears those apps' local data. Install the new APK, grant permissions, pair
Wireless debugging and complete setup again; preferences and app-menu settings
must be configured again.
The Android package has changed from com.xreal.evapro.nebula to
dev.markpronkin.unbound. Android treats this as a separate app and does not
transfer data or replace the old package automatically. Removing previous builds
also avoids having two launchers and helpers installed together. Builds 2906 and
2907 already use the new package and technically support an update, but a clean
install is recommended for this alpha. The signing certificate is unchanged;
the new package is registered and its signing key verified in the Android
Developer Console.
Download the-unbound-launcher-0.1.1-alpha.apk below. Use an arm64 Android 11+
phone with wired USB-C DisplayPort Alt Mode, compatible XREAL glasses, Wi-Fi
for Wireless debugging setup, and approximately 1 GB for the APK. Open Unbound,
accept the disclaimer, grant Display over other apps and follow on-phone ADB
pairing. Once Ready, tap Continue, review the terms and privacy policy, and tap
Agree and finish. After a reboot, enable Wireless debugging again and use
Connect and start.
Changes since 0.1.0 alpha
- Automatic AR Space entry. Connecting recognized XREAL glasses starts AR
Space after setup, including when Unbound is in the background. Entry waits
for the phone to be unlocked and for the paired helper to be ready. - Connection and reconnect recovery. Startup tolerates missing USB launch
intents, delayed authorization and display changes during mode switching.
It waits for the requested physical stereo mode and cancels stale connection
callbacks. Settings refreshes when glasses connect or disconnect. - Improved Android 17 connectivity. App connectivity is improved on Android
17, including Pixel-series devices and Samsung One UI 9. - Skip stuck glasses updates. Unbound bypasses the glasses firmware update
flow, including the screen that could remain at 0%. Update glasses firmware
separately through XREAL's updater. - Direct glasses-launcher startup. The first-use tutorial no longer opens
automatically. Tutorial remains available from the glasses app menu. - Inline setup agreement. Terms of service and Privacy policy are presented
after on-device ADB setup, with an explicit Agree and finish action and
support for interrupted setup, landscape, tablets and large text. - GitHub app updater. Settings → About can check releases, show release
notes, download with progress and cancellation, and open Android's installer.
App updates and Check on startup default on; downloads require a tap. The app
checks the release digest when supplied, package identity, signing certificate,
Android requirement and newer version before installation. - Experimental app/game detection. Settings → Experimental → Detect as game
changes Unbound's Android category and shows the confirmed system value.
Phone gaming-dashboard behavior varies by manufacturer. - Experimental 3D SBS. Force 3D on unsupported glasses optionally requests
3840 × 1080 side-by-side output at 60 Hz for XREAL models that normally start
in 2D. It defaults off and applies after reconnecting. Existing stereo
defaults remain intact; additional glasses still need physical testing. - Help and debug exports. Settings → Help links to the Discord community
and offers optional debug-data collection, ZIP creation, sharing and saving
to Downloads. Collection defaults off, nothing uploads automatically, and
each ZIP is capped at 15 MB. Review logs before sharing personal information. - Unbound package identity. Manifest components, providers, storage, helper
wiring, updater and native preference paths usedev.markpronkin.unbound.
Original XREAL Java/JNI bindings remain compatible.
All first-alpha features remain included: up to ten spatial app windows,
anchored and smooth-follow modes, phone pointer/trackpad controls, on-phone ADB,
app-menu editing, Recents, phone screen-off and keep-awake controls, adaptive
OLED layouts, automatic app-window colors and sharper headset icons.
Validation and known limitations
The latest development build was confirmed working by the user. This release
rebuilds it with the new public version name and a higher Android version code.
The release APK passes all 145 host regression tests, the complete
packaged-code/resource audit, bundled-source comparison, signing-certificate
verification and 16 KB native-library alignment checks. Android application
debugging is disabled. Build 2907 also passed 144 production-package checks and
normal startup in an isolated Android 13 ARM64 emulator; feature-level runtime
evidence is recorded in the linked repository reports.
- XREAL One with OnePlus 15 and Pixel 8 Pro has the recorded physical coverage.
Other phones and glasses, experimental SBS, manufacturer gaming dashboards,
and complete pointer/keyboard and newer Recents-preview coverage still need
testing. The release version rebuild has not had a separate glasses test. - Developer options and Wireless debugging remain required. Restart the helper
after reboot; pairing may need to be repeated. - Protected/DRM video in spatial windows and Miracast receiving are unsupported.
- The APK is approximately 1 GB. Display and GPU behavior vary by phone.
See the README for
setup and the full compatibility notes.
This is an independent, fan-made alpha based on XREAL's original software,
unaffiliated with XREAL. All XREAL-origin code and artwork remain XREAL's
property. The author's original code is licensed under the MIT License in
LICENSE; third-party components retain their own licenses. Notices and
pairing-library sources are bundled in the APK.
The Unbound Launcher 0.1.0 alpha
The Unbound Launcher 0.1.0 alpha
The first public alpha brings the XREAL Beam Pro spatial desktop to compatible
Android phones with wired USB-C DisplayPort output. Install one APK and pair it
with the phone's own Wireless debugging service; setup needs no computer or root.
This launch build includes all current work through the 0.1.15 development build,
the corrected XREAL USB attach/permission handling and the ADB setup navigation fix.
The app and About screen display 0.1.0 alpha. Android version code 2893
allows upgrades from earlier development builds signed with the same key.
Included
- Up to ten floating Android app windows, anchored and smooth-follow modes,
spatial mouse and vertical/horizontal trackpad controls. - On-phone ADB pairing, a bundled shell helper, setup guidance for different
phone manufacturers, and compatible helper publication on Android 11+. - Fixed Continue to ADB and Finish setup when opening the app from its home-screen
icon. Setup now opens the next screen reliably instead of closing the task. - Removal of Android's USB “Open Unbound to handle XREAL One?” confirmation,
which Pixel places on the glasses' desktop. Open Unbound on the phone; USB
attach/detach detection remains active. - Automatic XREAL USB access after on-device pairing, including the lower-level
SDK and its retry timer. A separate shell worker avoids Android 17's USB
parcel-decoding failure. Grants are per connection, with Android privacy
checks and both SDK callback paths preserved. - Automatic output on identified XREAL displays where supported, stereo startup
and reconnect recovery, and a watchdog that restores temporary display policy. - App-window color handling selected from GPU capabilities, higher-resolution
headset icons, and Recents capture compatibility with newer Android versions. - App-menu search, drag to reorder, hide/show controls and a headset preview;
drafts and Undo survive layout changes. - Black OLED interface, foldable/tablet and landscape layouts, large-text
handling, original glasses artwork and clearer Authority management controls. - Phone screen-off control, AR Space keep-awake behavior, buffered presentation,
medium default window size, Wi-Fi/Bluetooth shortcuts, and fixes for trackpad
taps, icon placement, Chrome spatial launches and slow app launches. - XREAL analytics removal and disabled Beam-only firmware/boot entry points.
- The public APK disables Android application debugging; on-phone ADB pairing
and the bundled shell helper remain available. - The bundled pairing sources exclude local Finder metadata, caches and
credentials, and include the scoped project license.
Requirements and setup
Use an arm64 Android 11+ phone with wired USB-C DisplayPort Alt Mode, compatible
XREAL glasses, Wi-Fi, and approximately 1 GB of storage for the APK. These are
prerequisites; each phone/glasses combination still needs testing.
Open the launcher, accept the disclaimer, grant Display over other apps, and
follow the on-phone Wireless debugging pairing flow. Once Ready, finish setup,
connect the glasses and enter AR Space. If Android asks, choose Desktop.
After rebooting, enable Wireless debugging again and use Connect and start.
Known limitations and validation
- Physical validation covers XREAL One with OnePlus 15 and Pixel 8 Pro at the
feature revisions recorded in the README. OnePlus automatic output is
wearer-confirmed. This exact launch APK still needs a physical-device smoke
test; broader manufacturer compatibility and other glasses remain untested. - Pixel Recents previews, automatic color selection, sharper icons and desktop
bar behavior still need wearer confirmation on the combined build. - Developer options and Wireless debugging are required. Restart the bundled
helper after a reboot; pairing may need to be repeated. - Protected/DRM video in spatial windows and Miracast receiving are unsupported.
- The download is approximately 1 GB. Display and GPU behavior vary by phone.
The signed APK passes the full packaged-code/resource audit and native display
checks. Signature, alignment, versions and upload checksum are verified. The
setup correction passes 10 host tests and 53 Android emulator checks, including
launcher-icon startup and finishing setup with a live shell helper. The Pixel's
failed handoff was traced and the user confirmed that setup works after installing
build 2893. USB reconnect and fresh-install behavior still need separate testing.
The prior USB correction passed 31 focused tests, with its corrected helper
probe validated on the Pixel. That helper's DEX payloads are unchanged in this
build. The earlier launch baseline's two known native-emulator SIGILL failures
remain recorded separately in the validation report.
This is an independent, fan-made alpha based on XREAL's original software.
It is not affiliated with or endorsed by XREAL. Original software rights remain
with XREAL. All code originating from XREAL belongs to XREAL; the project's
author licenses only their original code under the MIT License in LICENSE.
Third-party components retain their own licenses. Third-party notices and
pairing-library sources are bundled in the APK.