Bannerlator 2.1.1
Bannerlator 2.1.1
Run Windows apps and games on Android — no PC and no root required.
2.1.1 adds a major new feature — ReShade post-processing — plus a low-latency mode for the OpenGL renderer, and fixes two community-reported bugs. You can now run real ReShade .fx effects on top of your DXVK / VKD3D games, compiled on-device and tunable live in the in-game drawer; the direct-scanout Native Rendering low-latency path now works on the OpenGL renderer too; and the controller-binding screen and container Duplicate / Export issues are fixed.
✨ What's New
🎨 ReShade post-processing — new
Real ReShade .fx effects now run on top of your games — colour grading, sharpening, film grain, CRT looks, tonemapping and more — compiled on-device through a bundled vkBasalt layer, so there's no PC step.
- On-demand catalog — pick from a built-in list of ~100 curated, license-safe effects right in the container / shortcut editor. Each effect downloads on tap (the app itself stays small), then fills in and is ready to use; downloaded effects work offline.
- Drop-in folder — drop your own self-contained effect folders into
Android/data/<package>/files/ReShade/and they appear in the picker alongside the catalog. - Dedicated in-game ReShade tab — each effect's controls are auto-generated from the shader's own parameters, with the right control type for each: sliders, on/off toggles, dropdowns and colour pickers. Toggle an effect on/off live and tune every parameter while the game runs, with a Reset to defaults button.
🧩 Bringing your own effects (drop-in) — step by step
Want an effect that isn't in the catalog? Add it yourself:
- Open this folder on your device (create the
ReShadefolder if it isn't there):
Android/data/com.winlator.banner/files/ReShade/
(Standard build. PuBG =com.tencent.ig, Ludashi =com.ludashi.benchmark.) - Make one folder per effect, named whatever you want it called in the menu (e.g.
MySepia). - Put all of the effect's files inside that folder, next to the
.fx: the.fxitself, any.fxhfiles it#includes (e.g.ReShade.fxh,ReShadeUI.fxh), and any textures it uses.ReShade/ MySepia/ MySepia.fx ReShade.fxh ← copy in any .fxh the .fx #includes ReShadeUI.fxh - In the app, edit a container or game shortcut → ReShade effect picker → your folder now appears, select it.
- Launch a DirectX (DXVK / VKD3D) game → in-game drawer → ReShade tab to toggle it and tune sliders live.
Not showing up / no effect? Make sure it's in its own subfolder with a
.fxinside; copy in every#included.fxhand texture next to the.fx; and remember it's colour effects on DirectX games only (no depth/SSAO/DOF, no OpenGL/WineD3D titles). Can't findAndroid/data? Many stock file managers hide it on Android 11+ — use one that can open it, or copy the folder over from a PC via USB.
🎮 ReShade runs through the bundled vkBasalt Vulkan layer, which compiles
.fx→ SPIR-V on-device and feeds Turnip — so it affects Vulkan-backed (DXVK / VKD3D) games on any host renderer. Colour effects work today; depth effects (SSAO / DOF) are not included yet. A few catalog effects may not compile on every device.
⚡ Native Rendering (Low-Latency Mode) on OpenGL — new
The direct-scanout Native Rendering path — which skips the compositor blit to cut input lag — now works on the OpenGL renderer, not just Vulkan. It's a per-container toggle; like the Vulkan path it's mutually exclusive with that renderer's post-processing effects / scaling (they grey out while it's on, since it bypasses the compositor).
🎮 Controller binding screen now readable — fixed (#37)
On the external-controller binding screen the dropdown menus rendered dark text on a dark background, leaving the bindings effectively invisible. The text is now clearly readable. This completes the controller-binding fixes (bindings now persist, and Ludashi-format profile import works).
📦 Container Duplicate / Export — fixed (#39)
Duplicating a container — especially a downloaded Proton 11 one — could silently produce nothing, or a copy that lost its game drive-letters, lost its settings, or wouldn't boot. This turned out to be five separate bugs:
- drive-letter symlinks were dropped instead of recreated (so the copy couldn't find your games),
- a single unreadable file aborted the whole copy,
- only a handful of settings were copied (graphics driver, frame-gen, etc. were lost),
- a crash when a referenced graphics driver was missing,
- and the wine socket directory was copied in a way that stopped the copy from booting.
Duplicate and export now copy a container faithfully — it appears in the list, keeps its drive mappings and all settings, and boots. A failed duplicate now shows a clear message instead of silently doing nothing.
📥 Downloads
| Variant | File |
|---|---|
| Standard | Bannerlator-2.1.1-standard.apk |
| PUBG | Bannerlator-2.1.1-pubg.apk |
| Ludashi | Bannerlator-2.1.1-ludashi.apk |
ℹ️ Updating in-app? The standard APK update covers everything in this release. ReShade effects download on demand from the in-app catalog the first time you pick them.
🙏 Credits — ReShade / post-processing
| Feature | Source | Author | License |
|---|---|---|---|
ReShade .fx compiler + post-processing layer |
vkBasalt | DadSchoorse | zlib |
| vkBasalt → Winlator integration | Winlator (vkBasalt to shortcuts) | Pipetto-crypto | — |
| Vulkan rendering line carrying it forward | Winlator-Ludashi | StevenMXZ | — |
Bundled / catalog .fx effects |
ReShade shaders · prod80 · FXShaders · fubax | crosire · prod80 · luluco250 · fubax | MIT / CC0 |
Bannerlator's ReShade feature is a continuation of DadSchoorse's vkBasalt — the bundled layer is built from its source, patched for live on-device effect toggle and slider control. Only MIT / CC0 effects are bundled or offered in the catalog.
🙏 Thanks to everyone who reported the controller-binding (#37) and container-duplication (#39) issues.
