Skip to content

Releases

Unbound Launcher 0.2.6 alpha

Pre-release

Choose a tag to compare

@MarkPronkin MarkPronkin released this 11 Nov 19:41

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 permitted error 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...

Read more

Unbound Launcher 0.2.5 alpha

Pre-release

Choose a tag to compare

@MarkPronkin MarkPronkin released this 08 Nov 16:55

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.txt keeps 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, Pilot 1.9.0.20260709183133 and 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...

Read more

Unbound Launcher 0.2.3 alpha

Pre-release

Choose a tag to compare

@MarkPronkin MarkPronkin released this 29 Oct 23:15

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 a finally block. 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

Pre-release

Choose a tag to compare

@MarkPronkin MarkPronkin released this 29 Oct 09:34

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

Pre-release

Choose a tag to compare

@MarkPronkin MarkPronkin released this 29 Oct 05:08

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.txt adds
    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.txt samples 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.txt retains the first and latest connected Presentation
    state, including window flags, focus, inset requests and visible system bars.
    display.txt also 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

Pre-release

Choose a tag to compare

@MarkPronkin MarkPronkin released this 29 Oct 00:14

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 in display-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...
Read more

The Unbound Launcher 0.1.2 alpha

Pre-release

Choose a tag to compare

@MarkPronkin MarkPronkin released this 27 Oct 17:52

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 because Display.Mode.getSupportedHdrTypes is
    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.txt and surfaceflinger.txt through 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

Pre-release

Choose a tag to compare

@MarkPronkin MarkPronkin released this 27 Oct 02:51

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 use dev.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

Pre-release

Choose a tag to compare

@MarkPronkin MarkPronkin released this 26 Oct 19:34

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.