8BitDo Ultimate 2C Wireless Controller
Hall-effect sticks and triggers with low-latency 2.4G dongle and Bluetooth for desktop Horizon and Android phones.
Starling (starling-client/starling) is the unified Android Vulkan client formed when @JuanLuci and @Vasysik merged JuanLuci/starling with Vasysik/horizon-android after v0.7.8. With over 399,500 cumulative GitHub asset downloads, it eliminates PC setup completely, translates Iris/OptiFine shaderpacks to mobile Vulkan, and compiles native Rust .hnmod mods right on your phone.

Why older tutorials mention horizon-android-0.7.8 and how v0.8.0 + StarlingPreview fit together.
Through release v0.7.8 (horizon-android-0.7.8-arm64-v8a.apk), Vasysik's Android Vulkan port and JuanLuci's Starling shader/UI work evolved in parallel. On 2026-11-10, both maintainers joined forces on v0.8.0 under github.com/starling-client/starling under the MIT license.
Instead of asking for a PC-generated horizon-derived.zip, Starling downloads a temporary headless Java runtime on first boot, extracts and converts vanilla 26.3 data in ~79 seconds on a POCO F6 Pro (Snapdragon 8 Gen 2, 12 GB RAM) while you play an interactive fishing pond screen, and deletes the temporary JVM afterward.
starling-0.8.0-arm64-v8a.apk (32,855,428 B) is the main release. starling-preview-0.8.1-test2-arm64-v8a.apk (48,166,276 B, 2026-11-13) installs alongside stable using StarlingPreview/ and fixes Mali-G57 app-switch crashes plus PowerVR GE8320/BXM Vulkan shader limits.
Measured upstream on a POCO F6 Pro (Snapdragon 8 Gen 2, Adreno 740, 12 GB RAM) at 12-chunk render distance using Starling's GLSL-to-SPIR-V Vulkan shader translator.
| Shaderpack | Measured FPS (SD 8 Gen 2) | Test Profile | Notes & Tuning |
|---|---|---|---|
MakeUp - Ultra Fast | 87 FPS | Auto profile, 12 chunks | Highest frame rate; crisp shadows and water waves suitable for mid-range Snapdragon and Mali GPUs. |
Complementary Shaders (Voxel) | 59 FPS | Auto profile, 12 chunks | Balanced voxel-style reflections and atmospheric fog near locked 60 Hz. |
BSL Shaders | 54 FPS | Auto profile, 12 chunks | Warm bloom and soft volumetric light shafts; drop render scale to 85% for locked 60 FPS. |
Complementary Unbound | 39 FPS | Auto profile, 12 chunks | Realistic water normals and heavier cloud passes; best capped at 30-45 FPS on mobile thermals. |
Photon Shaders | 27-39 FPS | Auto profile, 12 chunks | Demanding volumetric clouds and colored lighting; recommended only on flagship Adreno 740/750/830. |
StarlingVisuals.zip | High / Native | 18,138 B companion pack | Published directly on the Starling v0.8.0 release page for lightweight vibrant visuals. |
StarlingVisuals.zip (18,138 B) or a compatible Iris/OptiFine .zip shaderpack..zip into /storage/emulated/0/Starling/shaderpacks/ (keep storage permissions enabled if using root storage).Starling v0.8.0 includes an offline ARM64 Rust mod builder. Place a mod source folder into /storage/emulated/0/Starling/mods-src/ (or import via UI) and tap Options -> Mods -> Compile. Pre-packaged .hmod content mods go straight into /storage/emulated/0/Starling/mods/.
Account switcher supports Microsoft OAuth, Ely.by skin/auth servers, and local offline profiles.
Avoid fake repackaged APK sites. Drop starling-0.8.0-arm64-v8a.apk or StarlingVisuals.zip below to verify against the starling-client/starling release digest.
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.
Hall-effect sticks and triggers with low-latency 2.4G dongle and Bluetooth for desktop Horizon and Android phones.
Drift-free Hall sensors, swappable ABXY layout, and quiet face buttons tested across Windows, Linux, and Android.
Symmetrical dual-stick layout with X-Input, D-Input, and Android modes plus programmable rear hotbar paddles.
TMR electromagnetic sticks and 1000 Hz polling rate for high-refresh chunk exploration on desktop and mobile.
Affiliate disclosure: As an Amazon Associate, horizonrust.wiki earns from qualifying purchases at no added cost to you.
Verified answers from starling-client/starling docs and issue reports.
Starling is MIT-licensed open-source software hosted at github.com/starling-client/starling with full public source code and build workflows. As long as you download from GitHub Releases and confirm the SHA-256 hash (aa20fe6a5fdf6f1eb861a13d9c173d017ea09feab9bb1010b24e3ed848672563 for v0.8.0 arm64-v8a), the binary matches the public repository.
That exact bug ('underlying handle is not available' when recreating the Vulkan surface on Mali-G57) was fixed in Starling Preview test-0.8.1-2 (2026-11-13). Install starling-preview-0.8.1-test2-arm64-v8a.apk until v0.8.1 stable lands.
Verify you have at least 2.5 GB of free internal storage and an active Wi-Fi connection so the temporary JVM and vanilla 26.3 manifests finish downloading. Do not lock the screen during the ~79-second pond preparation step; if interrupted, clear incomplete cache via Options -> Diagnostics and retry.
Open the launcher screen, tap Options -> Diagnostics, and export the diagnostic .zip bundle. It packages device GPU strings, Vulkan extension flags, and latest.log without exposing account tokens so you can attach it to a GitHub issue.
Starling v0.8.0 targets Minecraft: Java Edition 26.3 protocol natively (or servers running ViaVersion/Meridian that accept 26.3 clients). If you need client-side protocol translation to join 1.20.2-26.2 servers directly, use Rayan-XOO/horizon 0.4.7 with ViaHorizon.
By default, worlds live in /storage/emulated/0/Starling/saves/ (or /storage/emulated/0/StarlingPreview/saves/ on Preview builds). Copy each world subfolder to back it up or transfer it to desktop Horizon.