Bannerlator 3.0.4
Bannerlator 3.0.4
Run Windows apps and games on Android — no PC and no root required.
3.0.4 is the Steam update. The app's Steam client has been rebuilt from the ground up as a native engine — sign-in, library, downloads, cloud saves, achievements, friends and chat now all run on it — and the SteamLite online/VAC launcher got the fixes and polish that make real-Steam games launch reliably: no more "Incorrect Version" / "could not connect to Steam" on launch, a pre-flight check before the container opens, and a Friends tab right in the in-game drawer. 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 3.0.3.
SteamLite users: the launch popup will ask you to update the SteamLite client package (v4 or newer) before the first online launch — one tap, then Launch. Verified on this build: Counter-Strike: Source on a VAC-secured server, Stumble Guys online (including its game update through the new engine), Brawlhalla online.
What's New — everything since 3.0.3
🦀 Native Steam engine (new — on by default)
- The Steam client inside the app is now a native engine instead of the Java one inherited from GameNative. Sign-in (QR and password/Steam Guard), your owned library, depot downloads with resume and verify, beta branches, cloud saves, achievements, rich presence, friends, chat and presence all run on it.
- Faster, lighter, more resilient — a single hardened session that self-heals on reconnect, with less memory and battery overhead than the Java stack.
- Steam connection region setting — pick the Steam region the app connects through (Settings → Steam), useful on networks where the auto-picked servers misbehave.
- The Java engine stays available for one release as a fallback: Log Manager → "Native Steam engine (restart required)". If anything Steam-related misbehaves for you, flip it off, restart, and please send the SteamLite/Steam logs. The Java engine is scheduled for removal in the next release.
- Every new Steam control has a ? help button explaining what it does.
🎮 SteamLite (real Steam · online · VAC) — reliability
- Fixed: "Incorrect Version, Please Update" / "Could not connect to Steam servers" on launch (Brawlhalla and others). Steam allows one login per account; the app now pauses its own Steam session right before the container opens and resumes it when the game exits, so the game's login is never kicked.
- Cloud saves sync before the container opens — the pre-launch cloud pull now finishes first, then the hand-off happens.
- Pre-flight before launch — a small "Getting Steam ready" popup (photo slideshow) while the app checks sign-in, cloud, game files, the SteamLite client and your network / NAT type, so a bad network is called out before the game starts instead of failing inside it.
- Fixed an intermittent crash at game start caused by Steam's overlay injecting into the game process; overlay injection is now disabled for SteamLite launches.
- VAC-aware launching — secure (VAC) launch is used when the game needs it, with a per-game override; non-VAC games start faster.
- Live agent channel — the app and the in-container Steam agent now talk directly instead of guessing from log files, so launch status and errors are exact.
- Update & Launch — when a newer SteamLite client package is available, the launch popup shows it and installs it in one tap before launching.
- Better crash diagnostics in the SteamLite log bundle (crash cause quoted at the top, engine section, network verdict).
- Faster fallback for non-VAC titles — when Steam accepts the launch but never spawns the game, non-VAC titles now start directly after ~15 s instead of ~60 s.
⚠️ Known issue (64-bit titles launched directly by Steam): on some 64-bit games Steam's own spawn can still crash at startup with the overlay-injection signature; the launcher then starts the game directly. Non-VAC games (e.g. Stumble Guys) play online normally this way. A 64-bit VAC game that Steam launches directly would end up in an insecure start and be rejected by VAC servers — titles that go through a 32-bit launcher (Counter-Strike: Source, Team Fortress 2, Left 4 Dead 2) are unaffected. Fix in progress.
👥 Friends & chat while you play
- Friends tab in the in-game side drawer — see who's online and chat without leaving the game. Populated by the app's session for normal launches and relayed through the SteamLite agent for real-Steam launches (Steam's headless session doesn't stream presence, so statuses there may show as "last known").
- Steam chat notifications setting is shared between Settings and the Friends page cog — one switch, no conflict.
📦 GOG
- DLC auto-detect + batch extract — Fast Extract and the Unpack Archive screen now spot sibling
setup_*.exeDLC installers next to a GOG base game and extract base + DLC into one merged folder in a single pass.
🧰 Project
- Every pull request is now compiled against
mainby CI before it can be merged.
🗂️ New sister app — BFE (file explorer)
github.com/The412Banner/BFE · latest v0.10 · sideload-only, GPL-3.0
Bannerlator's built-in File Manager and its native extraction engine, lifted into a standalone Android file explorer for managing game files outside the emulator. What it does:
- Dual-pane commander — two panes side by side, one shared toolbar; copy / move / rename / delete / share with multi-select, sort, search, grid or list.
- Every storage you have — internal, SD card and USB, pinnable app-private folders via Android's storage picker, and root browsing on rooted devices.
- FitGirl and DODI repack extraction — unpacks the repack's
setup.exe+Setup-N.binvolumes natively (FreeArc / ISDone decoding on-device), no PC or Windows installer run needed. - GOG offline installer extraction — the
setup_<game>.exeinstaller is unpacked straight to game files, and DLC installers sitting next to it are detected and extracted into the same game folder automatically in one pass. - Archives and disc images — 7z, zip, rar (multi-part), tar / gz / xz, zst, split volumes,
.iso/.udf/.img,.wcp/.tzst— the same extraction engine Bannerlator uses. - Compress folders back to
.wcp/.tzstfor sharing or importing into Bannerlator. - APK cloner + signer — duplicate an APK under a new package name and sign it, on device.
- Convert video to MP4 (bundled ffmpeg), plus New file / New folder, APK icons in listings.
Early 0.x builds — please report anything odd on the BFE issue tracker.
🙏 Credits
Built on the work of many open-source projects and their communities:
- Native Steam engine & SteamLite agent — derived from WinNative's GPL
wnsteamclient andwn-steam-launcher(hardened, extended and rebranded here); protocol groundwork from SteamKit2 (the SteamRE team). - Steam (fallback engine) — JavaSteam (joshuatam's fork of SteamKit2) and Goldberg / gbe_fork (Detanup01 & contributors).
- Graphics & Frame Generation — DXVK (Philip Rebohle & contributors), VKD3D-Proton (Hans-Kristian Arntzen & contributors), Mesa / Turnip (the Freedreno & Mesa teams), and AMD FidelityFX (FSR).
- Containers, launch & runtime — Wine (WineHQ) and Proton / GE-Proton (Valve & GloriousEggroll); box64 (ptitSeb) and FEXCore (the FEX-Emu team).
- Audio — Android AAudio, driven by our own DirectAudio endpoint.
- The app itself — Winlator (brunodev85) and its Cmod lineage; GameNative (GPL-3.0) for the Steam session-hardening and present paths.
Steam is a trademark of Valve Corporation; other names are trademarks of their respective owners. Bannerlator is an independent project — not affiliated with or endorsed by any of them. Each component remains under its own license.
