Skip to content

Bannerlator 3.0.0

Choose a tag to compare

@github-actions github-actions released this 23 Aug 21:50
· 73 commits to main since this release

Bannerlator

3.0.0  app-side update

Bannerlator 3.0.0

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

3.0.0 is the big stable release, rolling up everything shipped since 2.9.9 — including the 3.0.0-pre1 and 3.0.0-pre2 opt-in betas. It's headlined by a brand-new three-engine audio stack, a huge push on the GOG, Epic and Steam storefronts with automatic cloud saves, and deeper graphics, rendering and performance controls. As always the update is entirely app-side — no ImageFS reinstall — so your containers, Wine installs, themes, accent colour and per-game settings all carry over untouched. Install straight over 2.9.9.

What's New — everything since 2.9.9

🔊 New audio stack — the 3.0 headline

Audio has been rebuilt from the ground up around a low-latency, self-healing engine, with real controls instead of a black box:

  • New adaptive PulseAudio engine — a freshly rebuilt sound path that automatically grows its buffer when it hears crackle/underruns and re-opens cleanly when your output changes (speaker → headphones → Bluetooth → HDMI), so audio recovers instead of dying.
  • Audio settings you can actually use — an Audio cog in the container editor, in each game's shortcut settings, and on the in-game side-menu, with presets, fine-tune rows, and a "?" explanation on every preset and row so you know what each one does.
  • Latency slider that really works — the slider now drives the engine's buffer directly, and greyed-out rows honestly show what your chosen preset is actually applying.
  • Second engine: adaptive ALSA — a full alternative audio path with its own presets and fine-tune mirror, for devices/games that prefer it.
  • Third engine: DirectAudio (experimental) — an optional lower-latency driver with live in-game tuning; PulseAudio remains the safe default, and DirectAudio is clearly labelled experimental. It's supported on the current arm64ec Proton builds and auto-updates itself when you're on one.
  • No cross-engine bleed — each engine and scope keeps its own settings, so changing one never silently rewrites another.
  • Smoother background/foreground — audio only re-initialises on a real output change, not every time you tab away.

🛒 Storefronts & cloud saves — GOG, Epic & Steam

A massive storefront push brings GOG, Epic and Steam much closer to a native launcher — with automatic cloud saves across all three.

GOG (major overhaul):

  • Automatic cloud saves — Bannerlator now finds each GOG game's save folder for you (no manual folder picking), uploads your saves to GOG cloud when you exit and pulls the latest down when you launch, just like Galaxy. Sync is parallel and fast, syncs subfolders, uses newest-wins so it never clobbers a newer save, and skips files that haven't actually changed (content-checked, not just timestamps) so unchanged saves never re-transfer.
  • Reliable installs — three-layer MD5 integrity checking, size+hash resume verification, a Verify / Repair Files button, automatic secure-link refresh on server hiccups, a pre-flight free-space guard, and CSRF protection on sign-in.
  • Automatic prerequisites — required Visual C++/runtime redistributables are downloaded and installed into the game's container for you when you add a GOG game.
  • DLC installs — per-DLC Install buttons that fetch and install each add-on into the base game (this also fixed a bug that stopped some DLC-bearing titles from installing at all).
  • Faster downloads — smarter, device-aware parallel downloading with largest-files-first scheduling.
  • Nicer library — a dedicated GOG tab in the Save Manager, GOG badges on your game cards and lists, tall poster cover art, and faster library refreshes.

Epic / Epic Online Services (EOS):

  • Epic cloud saves — a first-class Epic tab in the Save Manager with automatic save-folder resolution and two-way sync, restoring your files to the right place.
  • Proper Epic sign-in & launching — real Epic launch-time authentication and EOS game identification, with EPIC / EOS badges on cover art and in lists.
  • Denuvo & offline support — an ownership-token path for Denuvo titles (with a manual override), a per-game Launch offline toggle, and language-selective installs.
  • A far more robust downloader — cancel any install cleanly at any stage, keep-or-delete prompts on cancel, atomic chunk writes so a resumed download can't reuse a corrupt piece, plus delta/verify/repair.
  • Polish — in-app folder picker for the save location, wider grid columns, and de-duplicated library entries (fixes a crash some Epic libraries hit).

Steam:

  • One-tap Lossless Scaling setup — a Detect from Steam store button finds the Lossless Scaling Lossless.dll from an in-app Steam install and wires it into frame generation for you, and the download now always pulls the current version instead of a stale duplicate.
  • Beta branches — pick a game's beta/branch (including password-gated ones) right on its detail page.
  • Non-game apps — tools like Lossless Scaling now show up in your library, and the install-complete check no longer false-fails games that share/de-duplicate depots.

🎮 Games & shortcuts

  • The internal-storage hang fix — games that stall on their intro movie when installed on internal/SD storage now have two clean fixes: add a game directly from a container's Drive C, or Copy game to Drive C (a one-tap helper that moves a game onto the container's fast C: drive and re-points the shortcut for you). Both leave your shortcut untouched if anything goes wrong.
  • Change executable — re-point any shortcut to a different .exe without recreating it.
  • File picker that isn't stuck in Downloads — the in-app file picker now opens at your storage root, and Back/Up work from any folder (applies everywhere you pick a file: drives, components, wallpaper, backups, imports).
  • Responsive shortcut settings — the per-game settings dialog now uses top tabs in portrait and a side rail in landscape, with a tidied title bar and a properly pinned OK/Cancel footer.
  • Per-DLL toggles — flip individual DLLs detected in a game's folder on or off (and a fix so turning one off actually sticks).
  • Per-game graphics quick-settings persist across relaunch (#382).
  • Big Picture games wall (opt-in) — a new landscape, couch-friendly library home; enable it in settings. The library header also doubles as your account entry point, and the Tools/Power/Game-options sheets now scroll properly.
  • Unified install popup — installs now show a single persistent progress popup with up-front details, a real Cancel, and live notifications.

🖥️ Graphics, rendering & performance

  • Wrapper + Adreno Vulkan fix (#403) — fixes DXVK/games refusing to start on wrapper graphics drivers, especially lower-tier Adreno (e.g. Adreno 610), with "Device does not support Vulkan 1.3" or "Skipping Vulkan 1.0 adapter." A clamp added back in 2.9.1 was reading the system driver's Vulkan version instead of the Turnip the guest actually wraps, dragging the reported version below DXVK's minimum; 3.0.0 restores the correct 2.8.1 behavior (and lowers the fresh-container default back to 1.3). Device-verified on Adreno 610; the final Vulkan version + probe result are now logged for easier troubleshooting.
  • Hardened Native Rendering — the Native renderer now runs through a more robust display path, with a per-container and per-game backend picker (Auto / SurfaceFlinger / Vulkan direct-scanout) plus a compositor-driver choice for full parity with the Vulkan settings.
  • Frame generation, rebuilt clean-room (experimental) — the old frame-gen layer has been fully removed and replaced with win-fg, a clean-room engine (built on AMD's open FidelityFX FSR3), with a simple Off/On toggle and model options in the in-game menu. Still experimental while we tune quality.
  • Samsung Galaxy performance control (no root) — on supported Galaxy devices, an opt-in power-control path for CPU/GPU/RAM with per-game presets and a recommendation to avoid it fighting the root power tier. Bannerlator also now signals active gameplay to Android's game mode across vendors.
  • Performance dashboard — a live performance dialog reachable both in-game and from per-game settings.
  • Fusion HUD — a battery-temperature (BAT °C) chip on the pill, a much more accurate graphics-API label (correctly tells DXVK from VKD3D, even for dual-API apps), and the HUD now goes fully idle when you turn it off (no wasted per-frame work). Toggling Show HUD on in-game also turns the FPS counter on and builds the overlay live — no relaunch.
  • Contents hub (new) — a single place to browse, install and remove GPU drivers and components (DXVK/VKD3D/D8VK/D7VK and more), with opt-in community sources, an Installed tab to remove things, and an in-app file picker for local files.
  • Driver stability — fixed a hard crash when selecting custom Adreno drivers on some chips, and custom/Turnip drivers now show a reassuring note instead of a misleading "0 extensions" error.
  • Interface Scale — new UI + font size sliders (with −/+ steppers); the interface defaults to a slightly more compact 90%.
  • Advanced — an opt-in guest-memory cap (WINEVMEMMAXSIZE) for titles that need it, and the in-app updater now cleans up stale downloaded APKs.

🐛 Stability & fixes

  • Crash reports without root — native crashes are now captured (and decoded into a real backtrace) even on non-rooted devices.
  • Backgrounding & pausing — games with very long executable names now pause correctly when backgrounded.
  • Launch robustness — a single malformed environment variable is skipped (and named while you type) instead of aborting the launch.
  • X server — assorted memory-leak and crash fixes (DRI3 pixmap leak, a malformed atom-name reply, and a config-parsing bug that dropped single-item settings).
  • Plus a wide sweep of UI polish and readability fixes (e.g. save-sync and install status now use a readable themed bar instead of unreadable pop-ups on some ROMs).

⚠️ Notes & known limitations

  • Controllers are unchanged from 2.9.9. All the new controller work (per-controller profile assignment and the input slot-takeover rework) is parked — it needs more time to get right, and I didn't want it holding up 3.0. Controller behaviour is exactly as it was in 2.9.9; nothing there has changed. It'll return in a later build once it's properly tested.
  • The Big Picture games wall is still a little rough. The opt-in landscape games wall is usable but has some edges to iron out — expect a few rough spots while it's polished in a follow-up.
  • Proton layers are already included. Every current released Proton layer is available in-app — install or update them from the Contents hub or the in-game catalog downloads. There's no separate Proton download to grab for this release (the Proton 9 link below is optional/legacy).

📦 Where to get Proton 9

The APK does not bundle any Wine — Wine installs from the in-app catalog.

⚠️ 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.9 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 & licenses

Bannerlator is distributed under GPL-3.0 because it incorporates GPL-licensed components (below). The complete, authoritative attribution list — including the MIT Winlator lineage (© 2023 BrunoSX) this app descends from and every shader/library license — lives in THIRD-PARTY-LICENSES.md. Highlights for this release:

  • GameNative (utkarshdalal · GPL-3.0) — incorporated for the Proton bionic translation, the AHardwareBuffer present/scanout path that the hardened Native Rendering builds on, the standalone FPS limiter (present-pacing throttle), and the Steam session-hardening + download-speed model. Its storefront/cloud-save feature set was also the parity target that guided this cycle's GOG and Epic work. Bannerlator is GPL-3.0 as a result — with thanks.
  • lsfg-vk (PancakeTAS · GPL-3.0) + lsfg-vk-android (FrankBarretta · MIT) — the Vulkan frame-generation engine behind the Lossless Scaling FG option that this release's one-tap Detect from Steam store feature wires up. No proprietary Lossless Scaling shaders are bundled — you supply your own Lossless.dll (from Lossless Scaling by THS).
  • win-fg — Bannerlator's own clean-room default frame-gen engine; its optical-flow front end adapts AMD FidelityFX FSR3 (MIT), with synthesis written from first principles and no proprietary code or weights. (This is separate from the GPL frame-gen path above — win-fg ships no GPL frame-gen code.)
  • Samsung Galaxy Performance SDK (Samsung Electronics · proprietary) — powers the optional no-root Galaxy CPU/GPU/RAM control. The SDK is not redistributed in this repo; the feature stays dormant without it.
  • PulseAudio & ALSA (LGPL) — the foundations the new adaptive audio engines are built on, and DirectAudio (LGPL-2.1) — the experimental third audio engine.
  • JavaSteam (Longi94 · MIT) + javasteam-depotdownloader (joshuatam) — the Steam connection + depot-download engine behind the Steam-store improvements.
  • VEGAS DXVK (isygold) — the Adreno-tuned DXVK builds so much of our performance rides on.
  • Xnick417x — the working Proton 9.0 arm64ec .wcp linked above.
  • WinNative — the controller input-ring hardening ported in this cycle.
  • The Winlator / Star lineage (MIT © 2023 BrunoSX — brunodev85, coffincolors, Pipetto-crypto, jacojayy, StevenMXZ) this project is built on.
  • Everyone filing Mali reports with logs, testing build after build, and adding games and configs to BannerHub & Bannerlator. ❤️

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