Bannerlator 2.5
Bannerlator 2.5
Run Windows apps and games on Android — no PC and no root required.
2.5 is the Mali hardening release. If you're on a Mali or Xclipse GPU, this is the big one: BC-texture games that used to crash or render as black/garbled textures now actually work. It's backed by a full sign-off on real Mali-G57 hardware, plus a round of in-game logging quality-of-life so reporting problems no longer means hunting through Android/data. This is an entirely app-side update — no ImageFS reinstall — your existing containers, themes, custom accent and per-game settings all carry over untouched.
✨ What's New
🟢 Mali & Xclipse: BC-texture games now work — new
Mali and Xclipse GPUs don't decode BC (BCn) textures in hardware, so a huge number of games crashed, ran out of VRAM, or showed black/missing textures. 2.5 adds a new graphics driver — "Wrapper + bcn_layer" — that transcodes those textures on the GPU at runtime so the games just run.
- Pick it per container: Container → Graphics driver → "Wrapper + bcn_layer".
- Device-proven on Mali-G57 (Helio G99): MiSide (Unity/BCn) went from crashing to rendering correctly at ~34 fps, with zero buffer errors.
- Backed by leegao's bcn_layer shader-v3 — up to ~3.5× faster BCn/ASTC transcoding than the first version.
💬 Driven end-to-end by @kylinzang on Mali-G57 — #70 (originally #54 / #53)
🧪 Wrapper-gamenative — new (experimental)
A second BCn-capable driver with the transcoder baked into the wrapper itself. It's Adreno-only in practice (on Mali it initialises but the BCn path never fires), so it ships labelled experimental as an A/B option — Wrapper + bcn_layer remains the Mali path.
🧰 BCn Layer Settings
A new section in the container's graphics-driver dialog to tune the transcoder: force-decode, ETC2 / ASTC transcode toggles, image-view vs. staging mode, and debug logging.
🧾 In-game logging overhaul
Reporting a bug from inside a game is finally painless:
- Copy button in the in-game Debug Logs panel — copies the whole log (including the BCn transfer stats) to the clipboard, so you can paste it straight into a report instead of screenshotting.
- Selectable log location (Settings → Logs) — App data, Download/bannerlator, Documents/bannerlator, or a custom folder. Grab every log straight from a file manager — no shizuku or adb needed.
- DXVK, DXGI and VKD3D logs are co-located with the Wine log in one folder (they no longer hide inside the game directory), kept as separate files.
- The Wine Debug Channels dialog now scrolls — you can reach
vulkan,heapand every other channel past the first screenful.
💬 All three logging ideas suggested by @kylinzang — #70
🔧 Fixes & polish
wrapper_DestroyBuffer: null bufferspam eliminated — the bundled Vulkan wrapper was bumped to ETC2-Milestone-2, which cleans up buffer tracking (0 errors confirmed on Mali-G57).- Copy-logs button now always reachable — the in-game Debug Logs action row (Copy / Clear / Pause / Close) is pinned to the bottom of the dialog; in landscape it was previously pushed off-screen.
- Release-notes pipeline hardened — backticks and shell metacharacters in release notes no longer break the update-manifest step.
📥 Downloads
| Variant | File |
|---|---|
| Standard | Bannerlator-2.5-standard.apk |
| PUBG | Bannerlator-2.5-pubg.apk |
| Ludashi | Bannerlator-2.5-ludashi.apk |
ℹ️ Updating in-app? 2.5 is entirely app-side — the standard APK covers everything. There's no ImageFS reinstall: your containers, themes, custom accent, per-game settings and control colours all carry over. The new Mali driver assets are pulled into your existing containers automatically on next launch.
🔗 Issues in this release
- #70 — Mali BCn layer (tracking hub for #54 / #53 / #63 / #64) 🚀 Shipped
- #30 — Mali-G610 BCn candidate 🔎 In testing
🍷 Also fresh — Proton 11.0-1 (experimental, separate download): a brand-new bionic arm64ec build of Proton 11.0-1 (Wine 11.0 final, with esync / fsync / ntsync compiled in) is available as an installable Wine runtime — grab it here: build-p11-20260707. Import it through the in-app compat-layer download / file picker as a Wine version. It's a separate, experimental runtime — not required for 2.5.
🙏 Credits
2.5 exists because the Mali community kept testing and reporting. Thank you:
- @kylinzang — the driving force behind the entire Mali/BCn effort: the original request (#54 / #53), the full env-var spec, and iterative on-device testing on Mali-G57 through mali-v4 → mali-v6, ending in a full sign-off. The logging overhaul was his idea too (#70).
- @rizky2-crypto — Mali-G610 testing (#30).
Built on the work of:
- leegao —
bcn_layer(shader-v3) andbionic-vulkan-wrapper(ETC2-Milestone-2). This release would not exist without it. - GameNative (utkarshdalal) — the base for the experimental
Wrapper-gamenativedriver.
Everything wiring these into Bannerlator — the driver options, the BCn Layer Settings UI, the logging overhaul and the fixes above — is original engineering by The412Banner. Full lineage and credits are in the README.
And thanks to everyone in the Discord and on GitHub who tested these builds — your reports drove this release.
