Skip to content

Bannerlator 2.9.4

Choose a tag to compare

@github-actions github-actions released this 04 Aug 00:01

Bannerlator

2.9.4  versionCode 56  app-side update

Bannerlator 2.9.4

Run Windows apps and games on Android — no PC and no root required.

2.9.4 is a feature release over 2.9.3, headlined by a HUD overhaul — the Fusion overlay becomes the default and gains a live on/off switch — plus a batch of container-setup quality-of-life and the fix for the log-storage crash that was closing games mid-play. Everything from 2.9.3 is included. As always it's entirely app-sideno ImageFS reinstall — your containers, themes, custom accent and per-game settings carry over untouched. Install straight over 2.9.3.

🎚️ HUD overhaul — Fusion by default, with an on/off switch

The in-game performance overlay got a proper pass.

  • Fusion is now the default HUD, at its compact Pill size, and it gained a system-wide RAM% readout alongside the existing GPU/CPU/battery lines.
  • A master "Show HUD" toggle. The FPS tab in the side menu now opens with a single switch that turns the whole overlay on or off live — no relaunch. Your frame-rate and refresh controls stay put at the top (they're not part of the overlay, so turning the HUD off never touches your frame cap).
  • Tidy, collapsible sections. The rest of the appearance settings — Style & Size, Metrics, Appearance, Alerts, Tools — collapse into tap-to-open sections instead of one long scroll, closed by default and hidden entirely while the HUD is off.
  • A thin accent line now separates the tab buttons from their content, following your theme accent.

🗂️ Log storage moved to Documents — fixes games closing mid-play

Logs used to default to the app's private Android/data folder, which lives on Android's restricted-FUSE storage. Under heavy logging, the keep-last-N log rotation — deleting old logs while a game still had them open — could crash the phone's media-storage service, and Android would respond by killing the running game or container. That showed up as the maddening "the game just closes" mid-play (worst on the pubg build and the AYANEO Pocket FIT).

Logs now default to Documents/bannerlator, an ordinary public folder that avoids that path, and the crash-prone "App data" option is removed so nobody can land back on it. Existing installs are migrated automatically — nothing to change, and your logs are easier to find and share in a file manager now too.

🧰 Easier container setup

  • New Container Defaults — now yours to set, per architecture. A settings cog on the Games/Containers bar opens the container editor in a "defaults" mode; save it and every new container seeds from your profile. Because the emulator/box64/FEXCore stack is architecture-coupled, defaults are kept independently for x86-64 and arm64ec — a new container seeds from the profile matching its Wine's architecture.
  • "What is all this?" — a newcomer glossary. A plain-English glossary (34 terms) plus a ? on individual fields explains what every container setting actually does, so the editor stops being a wall of jargon.
  • Environment-variable editor fixes. Custom variables are no longer silently dropped on save, the Add dialog now has separate Name and Value fields, and the recognized-variable catalog grew from ~34 to ~75 (the full BCn/Mali family included).
  • Save Manager — custom Restore, any time. Restoring a save into a custom (imported EXE/folder) game is now always available, through the in-app file picker.

🧩 Mali — BCn→ASTC transcode on the default driver

BCn texture transcode is now available on the default compute path, for any wrapper — including "Original", which has no built-in BCn of its own. It's done by a bundled standalone Vulkan layer, not the wrapper's own code. A companion fix also stops a double BCn decode (the compute layer and a wrapper's own emulation both transcoding the same texture), which was producing corrupt or black textures on some Mali setups.

On Mali: open the graphics driver settings, set BCn Emulation Type = Compute, then enable BCn → ASTC. On Adreno the option is inert — Adreno decodes BCn natively.

🔤 Polish & fixes

  • The "+" add button on Games and Containers no longer lands off-screen in right-to-left languages (#200). The tell was a mirrored layout even with English text — thanks @aszba258-cyber and @alroe2435-cell for reporting, and iManiii for verifying the fix on device.
  • Landscape dialog scroll / clipping fixes across the growable pickers and the Select-container dialogs, so long lists are reachable in landscape.

⚠️ Frame generation — use lsfg-vk

bionic-fg stays temporarily disabled in Frame Generation — after dozens of discussions it remained a work-in-progress and kept drawing false-positive "it's working" reports. Use lsfg-vk for now; it comes back as selectable once it's proven to work as intended.

lsfg-vk is experimental. It's the recommended frame-gen option today, but results vary by title and hardware — don't expect it to run fluidly on every game and every device.

➕ Everything from 2.9.3, carried forward

All of 2.9.3 is included — the full Save Manager (Steam Cloud two-way sync, cloud-honesty local backups, Auto-Collect, the universal vault for custom games), the smoother lsfg-vk frame-gen defaults, the hardened Perf HUD, and everything from 2.9.2, 2.9.1 and 2.9.

📦 Where to get Proton 9

The APK does not bundle Proton 9 — Wine installs from the in-app catalog on first run.

⚠️ A fresh install ships with no Wine at all. On first run, open Containers → the download icon and install a Proton before creating a container. Updating from 2.9.3 changes nothing — your existing containers and Wine installs are untouched.

Proton 9.0 arm64ec — not bundled, download it if you want it:

https://github.com/The412Banner/Nightlies/releases/download/Proton/wine/proton-9.0-arm64ec.wcp

66.7 MB · sha256 f8a99fed387f1b097009129dc49368c8f500927640a9d4c7a192d850b1b2068c
Install it via Containers → download icon → install the .wcp. It also appears in the in-app catalog. (Compiled as a wcp by Xnick417x.)

File a Mali report  Browse all Mali reports

🙏 Credits

  • GameNative — the lsfg-vk frame-generation defaults and the present-pacing groundwork Bannerlator's FG rides on.
  • isygoldVegas DXVK, the community DXVK builds so much of our performance rides on.
  • @aszba258-cyber, @alroe2435-cell and iManiii — reporting and verifying the RTL "+" button fix (#200).
  • Everyone filing Mali reports and issues with logs attached — the Mali BCn path and the log-storage fix were both proven out on real hardware.
  • Xnick417x — the working Proton 9.0 arm64ec .wcp linked above.
  • And everyone reporting, testing build after build, and adding games and configs to BannerHub & Bannerlator. ❤️

ℹ️ Root is only needed for the root-gated performance tier (governor/CPU-clock/thermal/fan). Everything else — including non-root GPU max-clock on Adreno — needs no root. The root tier stays opt-in, gated behind an explicit "use at your own risk" agreement, and every change auto-reverts when you leave the game.