Skip to content

Bannerlator 2.9.8

Choose a tag to compare

@github-actions github-actions released this 10 Aug 03:56
· 61 commits to main since this release

Bannerlator

2.9.8  versionCode 70  app-side update

Bannerlator 2.9.8

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

2.9.8 continues the road to 3.0 with a focus on audio and playing on the big screen — plus a batch of stability fixes. Everything from 2.9.7 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.7.

🎧 Audio that follows your headphones

The headline of 2.9.8 — game audio now goes where your ears are.

  • Plug or unplug headphones mid-game and the sound follows. Previously, plugging in wired headphones during a game did nothing (audio stayed on the speaker or went silent), and unplugging could leave the game muted — headphones only worked if they were already in before you launched. Now the moment you plug in or pull out wired, USB-C, Bluetooth, or HDMI audio, the game's sound moves to the new output within about half a second, in both directions.
  • Under the hood: an output-route change tears down the guest's audio stream, and a torn-down stream can't simply be "resumed." Bannerlator now rebuilds the audio path onto the new device on the fly and slides the game's sound over onto it — without restarting audio or interrupting the game.
  • Audio recovery on background/foreground and TV — coming back to a game (or switching to an HDMI TV) no longer leaves it silent; the audio output is re-established automatically on return. There's also a "Reset audio" button in the TV options if you ever need to nudge it manually.

📺 Play on your TV — new TV Options

Send a game to an external display (USB-C → HDMI or a dock) and use the handheld as the controller, with a dedicated TV options panel:

  • Aspect ratio, scaling, and render resolution for the TV output, overscan correction (kills the black bars some TVs add), latency and frame-cap / frame-gen controls, an audio-route selector, and dim-handheld (dims the phone screen to save battery and heat while you play on the TV).
  • A pause pill shows on the TV and an on-phone badge makes it clear where the game is running.

💡 For the best TV experience, use a wired connection (USB-C → HDMI / dock) — it's low-latency and carries full audio.

📡 Wireless casting — ⚠️ experimental, video-only

New no-app wireless casting: stream a game to a Chromecast / Google TV straight from the in-app Cast picker — nothing to install on the TV. This is an early, experimental feature: there's noticeable latency and game audio stays on the phone for now (TV audio over cast is a work in progress). Treat it as a fun extra — for real play on a TV, use the wired external-display path above.

🔕 Quieter session notification

The "session running" notification no longer pops up and makes a sound on every container/game launch — it now sits silently in the notification shade. The background-keepalive service is unchanged, so backgrounded games still stay alive.

🎮 Controller polish

Building on 2.9.7's controller overhaul:

  • On-screen controls auto-hide when a physical controller is connected, and come back when it disconnects.
  • Copy bindings between controllers, and the External Controllers / Players lists now refresh live on hot-plug so what you see always matches what's connected.

🩹 Stability fixes

  • Renderer / X-server bug fixes — a batch of correctness fixes in the display path.
  • Cleaner exit — swiping the app away now reliably tears down stale Wine processes so the next launch starts clean.
  • CPU affinity holds — a host-side re-pin keeps your chosen processor affinity from drifting back onto disabled cores during play.

➕ Everything from 2.9.7, carried forward

All of 2.9.7 is included — the controller reliability overhaul (hot-plug player slots, on-screen-input fix, capability filter, Players panel, status toast, Reset Input), the two-tier Free Memory, and the Task Manager Processor Affinity readback fix — on top of everything from 2.9.6 (portrait container-editor tabs, foreground-service keepalive, Turnip GMEM / TU_DEBUG tuning, cross-vendor performance HUD, "?" help + glossary everywhere, bundled AIO Graphics Test / Banner File Manager / Pale Moon, D7VK, IPv4 DNS fix).

📦 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.7 changes nothing — your existing containers and Wine installs are untouched.

Proton 9.0 — not bundled; grab whichever matches your setup (both also appear in the in-app catalog):

arm64ec (default for most devices):
https://github.com/The412Banner/Nightlies/releases/download/Proton/wine/proton-9.0-arm64ec.wcp
66.7 MB · sha256 f8a99fed387f1b097009129dc49368c8f500927640a9d4c7a192d850b1b2068c

x86_64:
https://github.com/The412Banner/Nightlies/releases/download/Proton/wine/proton-9.0-x86_64.wcp
50.7 MB · sha256 ec90286b2b266aaa9dd4c5265383a48f05ccc96890d078cb3529e78b89cba2ea

Install via Containers → download icon → install the .wcp. (Compiled as wcps by Xnick417x.)

File a Mali report  Browse all Mali reports

🙏 Credits

  • Play-on-TV (external display) + audio recovery — the external-display concept and the suspend-sink audio-recovery approach are credited to GameNative (utkarshdalal). Our implementations are clean-room and original (the TV Options suite and the native audio client are our own), and the wireless casting feature is entirely original to Bannerlator.
  • isygoldVegas DXVK, the community DXVK builds so much of our performance rides on.
  • Xnick417x — the Proton 9.0 arm64ec + x86_64 .wcps linked above.
  • Everyone filing Mali reports and issues with logs attached — the cross-vendor HUD and Mali paths keep getting proven on real hardware.
  • 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) and the Deep clean memory tier. 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.

Entirely app-side — no ImageFS reinstall. Install over 2.9.7; everything carries over.