Horizon & Starling Crash & Error Reference

Every diagnosis on this page is traced to a real issue or commit across horizon-rust/horizon, starling-client/starling, and Rayan-XOO/horizon. Match your exact error message, GPU family, or operating system below before wiping worlds or reinstalling.

Mali & XclipseSurface handle & pipeline startup fixes
IPv4 AuthResolves login.live.com IPv6 blackholes
safe-mode.txtZero-data-loss renderer reset on Android
AMD Radeon RX 7900 XTX heatsink and dual cooling fans representing Vulkan driver diagnostics
Most mobile and Linux startup failures trace back to Vulkan ICD driver quirks, missing 26.3 derived assets, or 4 GB RAM pressure rather than corrupt world saves.

Android Vulkan, GPU & memory error matrix

Cross-referenced against starling-client/starling and Rayan-XOO/horizon issue trackers.

Symptom or Error TextAffected TargetRoot Cause & Verified Fix
No derived pack: put horizon-derived.zip in the app folderRayan-XOO/horizonBuild ~4 MB horizon-derived.zip on PC via horizon-prepare (full guide) and select via 0.4.5+ file picker, or switch to Starling v0.8.0 (zero PC).
underlying handle is not available on app resume / task switchMali-G57 / Helio G99 on Starling v0.8.0Vulkan swapchain surface lost when backgrounded (starling #394/#397). Fixed in starling-preview-0.8.1-test2-arm64-v8a.apk (test-0.8.1-2).
Instant crash on launch on Samsung Galaxy S24 FE, A55, or A57Samsung Exynos Xclipse 920 / 940Vulkan pipeline creation bug on RDNA mobile drivers (Rayan-XOO #17/#18). Update to horizon-0.4.6.apk or horizon-0.4.7.apk.
Crash or black terrain on budget PowerVR GE8320 / BXM phonesPowerVR Rogue / BXM GPUsExceeds hardware bound-sampler/shader slot limit. Use Starling test-0.8.1-2 (reduces BXM shader bindings) or GoyDevv v1.0.1 32-bit GL fallback.
Black screen after toggling experimental renderer or heavy shaderRayan-XOO & StarlingIn Rayan-XOO 0.4.6+, create empty safe-mode.txt in files/ to boot cleanly and re-pick Vulkan. In Starling, move the broken zip out of /storage/emulated/0/Starling/shaderpacks/.
World closes silently 5-20 seconds after spawning on 3 GB / 4 GB phoneAndroid Low-Memory Killer (lmkd)Active heap reaches ~2.2 GB. Upgrade to horizon-0.4.7.apk (fixes post-world-load spike), set Render Distance to 4-6 chunks, and disable shaders.
Rubber-banding or setback flags on multiplayer servers running GrimACStarling / Mobile Touch InputUnconstrained 360-degree thumbstick vectors fail vanilla 8-direction WASD checks. In Starling Touch Settings, switch movement mode to D-pad or Free Direction.
On-screen keyboard pops up randomly while looking aroundRayan-XOO 0.4.5/0.4.6Fixed in horizon-0.4.7.apk (2026-11-14): soft keyboard now opens strictly when tapping a text input field, alongside smoothed swipe camera look.

Desktop launcher, OS & network error matrix

Solutions for Windows x64/ARM64, Linux / Steam Deck, and macOS Apple Silicon / Intel.

Symptom or Error TextAffected TargetRoot Cause & Verified Fix
Running horizon-windows-x64.zip directly crashes or exits immediatelyWindows / Linux / macOS nightly archivesClient nightly archives are engine payloads managed by Horizon Launcher, not standalone apps. Install launcher@0.2.66 so assets and mod allocators are staged.
Microsoft OAuth login spins indefinitely or times outDesktop Launcher prior to 0.2.62Broken ISP IPv6 routes to Microsoft auth endpoints. Update to launcher@0.2.66, which includes automatic IPv4 sign-in fallback.
Windows staging error when creating directory junctionsWindows 10/11 with custom cmd.exe AutoRunCustom registry Command Processor\AutoRun banners polluted junction command output. Fixed in launcher@0.2.65 and 0.2.66.
AppImage does not open when double-clicked on Ubuntu 24.04 / Archhorizon-launcher-linux-x86_64.AppImageRun chmod +x horizon-launcher-linux-x86_64.AppImage and install FUSE2 (sudo apt install libfuse2t64) or extract the .tar.gz build instead.
macOS reports 'Horizon Launcher cannot be opened' or damagedmacOS Sequoia / Sonoma GatekeeperVerify the SHA-256 hash first, drag the app to /Applications, then strip the browser download quarantine flag: xattr -dr com.apple.quarantine "/Applications/Horizon Launcher.app".
Micro-stutter at extreme chunk view distances (256-1,024 chunks)Desktop 8 GB VRAM GPUsRun /profiler in chat to export a .hzperf trace. Usually VRAM eviction kicks in above 8 GB; step view distance down to 64-128 chunks.

Generate ADB logcat & safe-mode commands

Set Diagnostic Task to Fix black screen, crash or low RAM to copy the exact recovery commands for your fork and GPU.

Verified Android paths & GPU profile
# Verified Android Target Profile
Port & Package: dev.horizonlab.horizon (Rayan-XOO/horizon 0.4.7)
Active Folder:  /storage/emulated/0/Android/data/dev.horizonlab.horizon/files/
Saves Path:     /storage/emulated/0/Android/data/dev.horizonlab.horizon/files/saves/
Mods Path:      /storage/emulated/0/Android/data/dev.horizonlab.horizon/files/mods/
Shaders Path:   /storage/emulated/0/Android/data/dev.horizonlab.horizon/files/shaderpacks/
Mod Formats:    .hnmod (prebuilt aarch64 cdylib) + .hmod

# Recommended GPU Settings
Renderer Mode:  Vulkan + Fast Opaque Pass (ON)
Render Scale:   100% (or Auto shader profile in Starling)
Chunk Distance: 12-16 chunks (Adreno 650-830) / 8 chunks (Adreno 610)
Terminal & ADB commands
# 1. On PC (JDK 25 + Rust): generate horizon-derived.zip once from 26.3 server.jar
git clone -b android-port https://github.com/Rayan-XOO/horizon.git
cd horizon
cargo run --release -p horizon-prepare -- --prepare --server-jar ~/Downloads/server.jar
bash packaging/android/make_derived_pack.sh

# 2. Push horizon-derived.zip (~4 MB) to phone after launching app once
adb push target/android/horizon-derived.zip /sdcard/Android/data/dev.horizonlab.horizon/files/

Fixes 'No derived pack: put horizon-derived.zip in the app folder'. Rayan-XOO downloads ~525 MB in-app over Wi-Fi, then merges your 4 MB derived pack.

Gamepads for desktop and Android ports

Horizon desktop, Starling v0.8.0, and Rayan-XOO 0.3.7+ support Bluetooth and USB X-Input/D-Input controllers, automatically hiding touch buttons while you play.

8BitDo Ultimate 2C Wireless Controller

Hall-effect sticks and triggers with low-latency 2.4G dongle and Bluetooth for desktop Horizon and Android phones.

View on Amazon

GameSir Super Nova Hall-Effect Gamepad

Drift-free Hall sensors, swappable ABXY layout, and quiet face buttons tested across Windows, Linux, and Android.

View on Amazon

8BitDo Pro 2 Bluetooth Gamepad

Symmetrical dual-stick layout with X-Input, D-Input, and Android modes plus programmable rear hotbar paddles.

View on Amazon

GuliKit KK3 Max Wireless Controller

TMR electromagnetic sticks and 1000 Hz polling rate for high-refresh chunk exploration on desktop and mobile.

View on Amazon

Affiliate disclosure: As an Amazon Associate, horizonrust.wiki earns from qualifying purchases at no added cost to you.

Crash diagnostics & recovery FAQ

Log collection, package signature conflicts, 32-bit phones, and save safety.

How do I capture a clean crash log before opening a GitHub issue?

In Starling v0.8.0, open the launcher screen and tap Options -> Diagnostics to export a sanitized diagnostic .zip. On Rayan-XOO or GoyDevv with a PC attached, run adb logcat -d | grep -iE 'horizon|vulkan|panic' > horizon-crash.txt right after the crash.

App not installed as package conflicts with an existing package on Android. Why?

You are installing an APK signed with a different maintainer key over an existing install with the same package ID (for example switching from a CI build to a release APK). Back up your saves/ folder first, uninstall the old app, and install the verified GitHub Release APK.

App not installed as package appears to be invalid on an older phone. Why?

Your phone runs a 32-bit Android OS even if the CPU chip has 64-bit cores, so arm64-v8a APKs cannot install. Download starling-0.8.0-armeabi-v7a.apk (29,980,044 B) or Horizon-Android-v1.0.1-armeabi-v7a.apk (34,179,786 B).

Why do sliders jump when scrolling the settings screen in Starling v0.8.0?

Touch scroll events could accidentally drag horizontal value sliders in v0.8.0 (Starling issue #398). That UI bug is fixed in Starling Preview test-0.8.1-2.

Does clearing app cache delete my Horizon Android worlds?

Clearing Cache in Android Settings is safe, whereas tapping Clear Data / Clear Storage deletes everything inside /Android/data//files/! Storing worlds in /storage/emulated/0/Starling or Rayan-XOO 0.4.7's /storage/emulated/0/Horizon protects saves across app reinstalls.

Where do I report reproducible engine bugs vs Android touch/shader bugs?

Report desktop simulation, protocol, or Horizon Launcher issues at github.com/horizon-rust/horizon/issues. Report Starling shader/touch/Android issues at github.com/starling-client/starling/issues, and Rayan-XOO ViaHorizon/Android issues at github.com/Rayan-XOO/horizon/issues.