Skip to content

Bannerlator 2.8

Choose a tag to compare

@github-actions github-actions released this 21 Jul 13:25
· 2554 commits to main since this release

Bannerlator

2.8  versionCode 48  app-side update

Bannerlator 2.8

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

2.8 is a feature release built around three big additions: gyroscope motion aim, a completely rebuilt Big Picture mode, and PC-accurate controller vibration. Aim by tilting your device — gyro drives the right stick, left stick or the mouse, in Rate or Tilt-to-Aim mode, with Hold-or-Toggle activation, real drift calibration, and settings saved per game. Big Picture is rebuilt from scratch in Compose as a fluid couch launcher with full D-pad navigation and no background music. Rumble now behaves like it does on a PC — dual-motor, per-container mode and intensity, and a winebus patch so sustained rumble actually sustains. The in-game Controls drawer is reorganised into Touch / Mouse / Vibration / Gyro sub-tabs. Like the last several releases it's entirely app-side — no ImageFS reinstall — your containers, themes, custom accent and per-game settings all carry over untouched. Just install over 2.7.1.

✨ Full feature list — click to expand everything Bannerlator offers

Everything the app offers, at a glance.

🍷 Windows compatibility

  • Wine — run native Win32/Win64 apps & games.
  • Box64 / Box86 x86(-64)→ARM translation with performance presets.
  • WOWBox64 for arm64ec containers.
  • FEXCore alt x86/x64 backend, with automatic unixlib (.so) matching per version.
  • arm64ec and x64 container support.

🎨 Graphics & translation layers

  • 📖 Which wrapper/driver for my device? →
  • DXVK (DX8/9/10/11→Vulkan; GPLAsync & Sarek variants).
  • VKD3D-Proton (DX12→Vulkan).
  • WineD3D / DirectDraw OpenGL fallback for older titles.
  • Proton bionic layers (via GameNative) — Proton 11.0-1 & Proton 10.0-4 (arm64ec; FEX-unixlib + fast-yield), per-SDK (28 / 35).
  • VEGAS — Adreno-optimized DXVK (less stutter, real-time upscaling).
  • Turnip / Mesa Adreno drivers (+timeline-semaphore patches), bundled and installable.
  • Wrapper Version Manager (new) — bring your own graphics wrapper (.tzst): import / update / delete, a curated downloadable catalog from across the Winlator family, and auto-detected settings for every wrapper (controls read straight from what the wrapper actually supports).
  • BCn transcoding for Mali / Xclipse — "Wrapper + bcn_layer" driver + BCn settings panel.
  • Mali DX12 (experimental) — opt-in "Wrapper + compat + bcn" driver (leegao BCn + DX12 compat layer) with a GameNative-engine toggle, for Valhall-class Mali.

🖥️ Renderers

  • Vulkan / OpenGL / SurfaceFlinger / VirGL host renderers.
  • SurfaceFlinger colour fix — R/B-swap + crash fix, per-container/game toggle.
  • Native Rendering (Low-Latency Mode) — direct-scanout, cuts input lag (Vulkan & OpenGL).
  • Spatial upscalers — SGSR, FSR / FSR-Fit, NIS, Sharpen (RCAS), Linear / Nearest; live in-game, saved per game.
  • Fullscreen aspect modes — Off / Fit / Stretch / Fill / Integer, live switch, per game.
  • Supersampling — 1.25× / 1.5× / 2× render scale, Lanczos-2 downsample.
  • Screen effects (Vulkan & OpenGL) — FXAA, Toon, CRT, NTSC, colour grading, CAS, fake-HDR.
  • Debanding (Vulkan) — adjustable dither pass for smooth gradients.
  • ReShade — real .fx effects on DXVK / VKD3D, on-device compile, ~100-effect catalog + your own, live in-game tab, per game, solo or stacked.
  • VRR — match refresh to FPS (Auto or 60 / 90 / 120 / 144 Hz), all three renderers.
  • Adjustable resolution & frame-rate limit.

🎞️ Frame generation & pacing

  • Two engines — Off / bionic-fg (bundled) / lsfg-vk (bring your own Lossless.dll), shown as a badge in-game.
  • Live controls — Off / 2× / 3× / 4× + flow-scale slider, hot-reloaded.
  • Standalone FPS limiter — engine-independent present-pacing cap with quick 30 / 60 / 90 / 120 presets; steps aside when lsfg multiplies; both renderers.
  • lsfg Performance mode — a lighter frame-gen model for weaker GPUs; per-container and live in-game, no root required.

📦 Containers

  • Multiple isolated Wine containers with redesigned spec-chip cards.
  • Run as administrator (per-container toggle) for installers/games needing elevation.
  • Auto-close on game exit (per-container toggle).
  • Import / export containers.
  • Per-container Wine / driver / DXVK / VKD3D / Box64 / drives / Z-drive / env-vars, with env-var presets.
  • Desktop wallpaper picker (per-container or global).
  • Compatibility Layers download menu — browse / install / remove every component with progress bars, continuing in the background.

🕹️ Games, shortcuts & input

  • Game library (grid / list, sort, filters) with redesigned cards.
  • Add shortcuts from storage; back up / restore saves (GameHub-compatible zips).
  • SteamGridDB cover scraping; per-game language / locale.
  • On-screen touch controls (theme-follow or per-game colour) + virtual gamepads.
  • Physical controllers (SDL2) + touchpad / mouse emulation; rebuilt binding screen.
  • PC-accurate vibration — dual-motor rumble, per-container mode + intensity, winebus never-expire duration patch; per-slot and master toggles.
  • Gyroscope motion aim — right-stick or mouse output, Tilt-to-Aim orientation mode, Hold/Toggle activation, device calibration, saved per container and per game.

🌐 Community Configs

  • Catalog browser (globe) with search, filters, sort, and "Matches my device".
  • One-tap Apply — surgically merges just that config's settings, preserving the rest.
  • Smart install of a config's missing DXVK / VKD3D / FEXCore / Turnip, then auto-applies.
  • Config detail — provenance, what-it-sets, before-apply diff, upvotes / downloads / comments.
  • Share your own — export the full recipe (never your files, logins or tuning), anonymous by default; My uploads to edit / delete.
  • Optional account (username + password, recovery-key, no email) so uploads follow you and carry your name — everything works anonymously without it.
  • Read-only for your setup — nothing changes unless you tap Apply.

🛒 Built-in stores & cross-store Download Manager

  • Steam — user/pass or QR, owned library, built-in depot engine (JavaSteam), 4-tier speed, session hardening, DLC picker, true-size fix, optional Goldberg patch.
  • Epic / Amazon — sign in, browse, download / install / launch (incl. Epic free games).
  • GOG — DRM-free library with cloud-save sync.
  • ⬇ Cross-store Download Manager — one view of all downloads + installed library, live progress, background + shade notifications, launch / verified uninstall.

🔒 Security & your store accounts

  • Third-party sign-ins (not affiliated with the stores) — use at your own risk.
  • Credentials redacted from logs — signed URLs, OAuth codes, GOG secret / refresh-token, account IDs — in logcat and shareable files.

🧰 Bundled Start-menu utilities

  • Banner File Manager (1.1.0 — dual-pane split view, Open-as-admin, native Win32 copy), AIO Graphics Test, Game Controller Test; .lnk "Start in" working-directory support.

🎛️ Interface & in-game overlay

  • Jetpack Compose UI with an icon-led drawer; your theme recolours the whole app and the in-game drawer.
  • 16 themes + HSV custom-accent picker.
  • Big Picture mode — Compose couch launcher, full D-pad navigation, rails to games / settings / features, per-game spec chips.
  • In-game overlay drawer + Task Manager (works on any renderer); Controls split into Touch / Mouse / Vibration / Gyro sub-tabs.
  • File Manager with Favorites — storage-badged, real thumbnails, doubles as the universal import picker.
  • Performance HUD — three overlay styles (Classic / GameHub / GameNative-style with live graphs), one shared FPS source + device-complete metrics (FPS / frame time / CPU-GPU load & temp / RAM / battery / power), accent outline, position saved per game.
  • FEX runtime indicator — live arm64ec vs x86-64, translator, and unixlib vs DLL.

📥 Builds & distribution

  • Three flavors (standard / PuBG / Ludashi), optimized release builds, AOSP-testkey signed, GitHub Actions CI + tagged releases.

✨ What's New in 2.8

🎯 Gyroscope — motion aim

Aim by tilting your device. Gyro input can drive the right stick, the left stick or the mouse, in either of two modes: Rate (how fast you're turning — feels like a mouse, stops when you stop) or Tilt to Aim (the angle you're holding — a held tilt keeps aiming).

  • Hold or Toggle activation — hold a button while you tilt, or flip it on and leave it on.
  • Device-level calibration in the app's Input Controls screen, plus a live bias correction — so a device that drifts sitting on a table doesn't drift in-game.
  • Saved per container and per game, like the rest of the presets.
  • Gyro-mouse drives the X pointer directly, so motion control works on a Wine container desktop, not only in captured mouse-look games.
  • Choose your activator — L1 / L2 / R1 / R3, or Always On, plus adjustable sensitivity, deadzone, smoothing and axis invert.

📖 Read the complete gyro guide → — every mode and setting explained in plain English: Rate vs Tilt to Aim, which target to pick, Hold vs Toggle, how to tune it, how to kill drift, and troubleshooting.

Modeled on WinNative's rate-mode gyro implementation — thank you.

📺 Big Picture — rebuilt from scratch

Big Picture mode is now a full Compose rebuild — a fluid couch launcher you can actually drive from the sofa.

  • Direct rails to your games, settings and features — no more hunting through menus with a D-pad.
  • Real per-game spec chips showing what each title is actually set to (renderer · DXVK · driver · frame-gen), sized so the full spec fits without clipping.
  • No background music.
  • D-pad navigation fixed throughout — no phantom focus rings, no clipped Play buttons, no hero buttons overflowing on long game titles.

🎮 PC-accurate controller vibration

Rumble now behaves the way it does on a PC.

  • Dual-motor output — the strong and weak motors are driven independently instead of being collapsed into one flat buzz.
  • Per-container vibration mode and intensity.
  • Sustained rumble actually sustains — a winebus duration patch stops SDL rumble from auto-expiring mid-effect (it used to die after about a second). Applied across Proton 10 and 11, on both arm64ec and x86-64, with a build-agnostic structural fallback so it keeps working on future layers.

The vibration feature originates from GameNative #1214, reaching this build via TideGear's port and their preload-free winebus duration patch (#91), adopted with permission.

🕹️ In-game Controls drawer

The Controls tab is split into Touch / Mouse / Vibration / Gyro sub-tabs instead of one long scroll, and the toggle chips are now a uniform 3-across grid with shorter labels and centred short rows.

📁 Banner File Manager 1.1.0

New containers ship the updated build, replacing 1.0.0.

Previously in 2.7.1 — wrapper catalog updates, frame-gen Performance mode, Banner File Manager

🧩 Wrapper Version Manager — smarter catalog + bundled updates

  • Persistent "Installed ✓" and "Update available" badges — the catalog now remembers what you've installed across restarts and flags when a newer version exists, with one-tap Update. A "From catalog" chip marks catalog-installed wrappers in the manager.
  • Bundled wrappers get updates too — built-in wrappers now show real version labels (not "Unknown"), and a bundled slot lights up "Update available" when its catalog entry has a newer build — updatable in one tap, no app release needed.
  • GameNative wrapper refreshed to their latest July build (adds 32-bit game support).
  • Bundled Mali layers on leegao's latest — the leegao BCn transcode and DX12 compat layers ship with leegao's layer-composition fix, so the two stack correctly together (fixes device-hook propagation when both are active).
  • Fixes — the BCn layer (leegao) entry now detects correctly (was "Vulkan ICD" / 0 settings → BCn layer / 13 knobs); the shared "Extra libraries" payload is hidden from the manager (it isn't a wrapper); card text no longer truncates; and the catalog's Installed mark now clears properly on Reset.

🎞️ Frame generation — Performance mode (lsfg)

A new "Performance mode" toggle for lsfg-vk frame generation — per-container in settings and live in the in-game drawer. It switches to a lighter frame-gen model for a real FPS gain on weaker GPUs, with no root or read-only file hacks. Defaults off. (Thanks @Tony57319 — #152.)

🎮 Controllers — vibration control

  • New "Controller vibration" master switch in the in-game Vibration section — one tap silences all rumble regardless of slot, saved globally.
  • Fixed the per-slot vibration toggles that snapped back instead of reflecting your changes.

📁 Banner File Manager (replaces WFM)

New containers now ship Banner File Manager — our own native Win32 file manager, forked from BrunoSX's Winlator File Manager: dual-pane split view, Open as administrator / Open with, native Win32 copy that sidesteps the Proton 10.0-4 shell32 copy-paste crash, byte-accurate copy progress with cancel, and light/dark theming.

🎨 Interface

  • Consistent menu styling everywhere — every dropdown / overflow menu now uses the same outlined-card look (dividers + accent icons) as the File Manager.

🌐 Community — thank you 🙏

Everything you've shared directly to Bannerlator's own Community Config repo now adds up to:

249 Bannerlator games  291 Bannerlator configs  accounts growing

And because the in-app browser also merges the BannerHub catalog, the full set you can browse and one-tap-apply inside the app is bigger still — thousands of games and configs.

249 games and 291 configs shared straight to Bannerlator by the community — and thousands more usable in-app once the BannerHub catalog is merged in. All of it growing. Every config you share, every game you add, every account that joins makes this better for the next person. This project grows only because of the community's support and participation — thank you.

📥 Downloads

Variant File
Standard Bannerlator-2.8-standard.apk
PUBG Bannerlator-2.8-pubg.apk
Ludashi Bannerlator-2.8-ludashi.apk

ℹ️ Updating in-app? 2.8 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. Just install over 2.7.1.

📖 Guides

🙏 Credits — click to expand: everyone this build stands on
  • WinNative — the reference for the new gyroscope (motion aim) support. Their rate-mode gyro implementation is what ours derives from: the sensor→stick pipeline (deadzone → sensitivity → exponential low-pass → clamp), the axis and sign conventions, and the fractional-remainder accumulator that keeps slow tilts from rounding away to nothing. Bannerlator adapted it to our evdev gamepad-injection path and extended the gyro-mouse mode to drive the X pointer directly. GPL-3.0, same as this project. Thank you.
  • TideGear — the PC-accurate controller vibration this release's rumble is built on. TideGear authored both halves: the vibration feature port (carrying GameNative #1214 forward) and the preload-free winebus.so rumble-duration patch (#91) that drops the libevshim LD_PRELOAD hook and byte-patches SDL's rumble duration to never auto-expire — which is what makes sustained rumble actually hold. Adopted with the author's permission; Bannerlator re-derived the patterns per Proton build and added a build-agnostic structural fallback.
  • leegao — the Mali BCn transcode layer (bcn_layer) and the DX12 compat layer (compat_layer) that power the new "Wrapper + compat + bcn" driver are leegao's work, built from their own CI — including the just-landed layer-composition fix. Huge thanks.
  • GameNative — the GameNative wrapper is the engine behind the DX12 toggle, and Bannerlator's HUD, present path, FPS-limiter and SurfaceFlinger colour work build on GameNative's foundations — and the PC-accurate vibration feature originates from GameNative #1214. Thank you to the GameNative team.
  • WinlatorMali (GunaCharanTeja / Charan) — the Wrapper Version Manager is modeled on WinlatorMali's graphics-driver manager, introduced in Winlator Mali Bionic 1.1; a number of the catalog wrappers come from WinlatorMali too (each credited in-app). The feature was requested in #132 by @6ui99uhkllj — thank you both.
  • BrunoSX — the bundled file manager is Banner File Manager, our fork of BrunoSX's Winlator File Manager (MIT), rebuilt with native Win32 file operations (sidestepping the Proton 10.0-4 shell32 crash), a dual-pane split view, and Open-as-administrator / Open-with.
  • Recent reports & requests — @Tony57319 (#152 — lsfg Performance mode) and @6ui99uhkllj (#132 — Wrapper Version Manager), carried over from the 2.7 / 2.7.1 cycle.
  • The wider stack — built on the Winlator → cmod → Star Bionic lineage (brunodev85, coffincolors, Pipetto-crypto, star-emu) with DXVK, VKD3D-Proton, Box64, FEXCore, JavaSteam, and wrappers credited to their upstreams (WinlatorMali, GameNative, leegao). Full attribution in the repo README.

🔗 Notes

  • Banner File Manager ships in new containers — it's installed from the container template at creation, so existing containers keep the previous file manager until recreated.
  • The Mali DX12 driver (from 2.7) remains experimental and opt-in — inert unless you select it, and Qualcomm/Adreno devices are unaffected. DX12 on Mali is not yet fully proven on hardware; reports with logs are welcome.
  • Gyroscope motion aim needs a device with a gyroscope; on devices without one the gyro controls simply stay inert.
  • Nothing about your existing containers or settings changes on update — install over 2.7.1.