Skip to content

Bannerlator 2.1.1

Choose a tag to compare

@github-actions github-actions released this 30 Jun 04:01
· 3177 commits to main since this release

Bannerlator

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:

  1. Open this folder on your device (create the ReShade folder if it isn't there):
    Android/data/com.winlator.banner/files/ReShade/
    (Standard build. PuBG = com.tencent.ig, Ludashi = com.ludashi.benchmark.)
  2. Make one folder per effect, named whatever you want it called in the menu (e.g. MySepia).
  3. Put all of the effect's files inside that folder, next to the .fx: the .fx itself, any .fxh files 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
    
  4. In the app, edit a container or game shortcut → ReShade effect picker → your folder now appears, select it.
  5. 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 .fx inside; copy in every #included .fxh and 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 find Android/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.