BannerHub Lite

May 14, 2026 Β· View on GitHub

Join the The412Banner Discord Total downloads Latest release downloads

πŸ“₯ Latest stable: v1.0.2

A modified build of GameHub Lite 5.1.4 with BannerHub features ported in β€” GOG, Amazon, and Epic Games Store tabs, Component Manager, in-app component downloader, Export/Import Game Config, Wine Task Manager with Launch tab, Winlator HUD overlay (Normal + Extra Detailed), AI Frame Generation menu (v1.0.2+), performance toggles, CPU core affinity, VRAM unlock, offline Steam skip, root access management, and more. Built with apktool + compiled Java extension (no source code from GameHub).

AI Disclaimer

All smali edits, patches, and code changes in this project are developed with the assistance of Claude AI Sonnet 4.6 by Anthropic. Claude is used to write, review, and modify smali bytecode and Java extension code since this project has no source code to work from β€” all changes are applied directly to the decompiled APK via apktool.

Before any stable release is published, all changes are manually debugged and tested by me across multiple devices β€” both rooted and unrooted. Debugging is done using logcat output and in-app debug log files to diagnose and verify behavior before changes are finalized.


Table of Contents


BannerHub Lite vs BannerHub

Both projects add the same core set of features on top of different GameHub base APKs.

BannerHub Lite (this)BannerHub
Base appGameHub Lite 5.1.4 β€” vanilla, no ReVancedGameHub 5.3.5 β€” ReVanced
APK size~47 MB~138 MB
RTS touch controlsBuilt into 5.1.4 β€” no patch neededPatched in
GPU System Driver defaultYesNo
Launch fix (hardware whitelist bypass)YesNo
Component description in game settings pickerNot yetYes
Community Game Configs browserNot yetYes
Konkr Style HUDNot yetYes
Sustained Perf toggle behaviorsetSustainedPerformanceMode + CPU governor (root)CPU governor only (root)
GOG Games tabYesYes
Amazon Games tabYesYes
Epic Games Store tabYesYes
Export / Import Game ConfigYesYes
Wine Task Manager (Apps/Procs/Launch)YesYes
Winlator HUD (Normal + Extra Detailed)YesYes
AI Frame Generation menuYes (v1.0.2+)Yes (v3.7.x+)
Controller D-pad navigationYesYes
Component ManagerYesYes
Online Component DownloaderYes (6 repos)Yes (6 repos)
CPU Core AffinityYesYes
Extended VRAM limitsYes (up to 16 GB)Yes (up to 16 GB)
Performance togglesYes (root required)Yes (root required)
Grant Root Access buttonYesYes
Offline Steam skipYesYes
BCI launcher buttonYesYes

Choose BannerHub Lite if you are running GameHub Lite 5.1.4 (the most common community build) and want a smaller, vanilla base without a ReVanced dependency.

Choose BannerHub if you are running GameHub 5.3.5 ReVanced and want the latest codebase features.


Backend API

Starting in v1.0.1, all variants ship pointed at the BannerHub API (https://bannerhub-api.the412banner.workers.dev/) instead of the EmuReady worker. Effects:

  • Firmware: the BannerHub API now serves imagefs 1.3.7 to every BHL install on every code path (Add-Game and Firmware-upgrade check). v1.0.1 shipped with a stale executeScript row that still advertised the old 1.3.3 imagefs to Add-Game; that was fixed server-side on 2026-05-12 (bannerhub-api@45c3d2f), so every BHL APK β€” including v1.0.0 and v1.0.1 installs β€” now gets 1.3.7 on first-game-add automatically, no client update required.
  • Components: the in-app component browser is fed by the BannerHub Components release on this org, so the catalog tracks BannerHub's curated drivers/wine builds.
  • HID-mode launch dialog suppressed: GameHub Lite 5.1.4 backports a touch/HID picker dialog from 5.3.5 that ships with a transparent close button and an unfocusable checkbox. EmuReady's worker 404s the upstream notice endpoint so the dialog never appeared; BannerHub API serves valid data, which would normally trigger it. The smali method that shows the dialog is rewritten to a no-op so launches go straight through.

The legacy EmuReady-flavored build remains available via manual Build APK workflow_dispatch for anyone who needs it.


Installation

Choosing your APK

9 APK variants are built β€” pick the one matching the package name of your existing GameHub Lite installation.

APKPackageApp label
Normalbanner.hub.liteBannerHub Lite
Normal(GHL)gamehub.liteBannerHub Lite
PuBGcom.tencent.igBannerHub Lite PuBG
AnTuTucom.antutu.ABenchMarkBannerHub Lite AnTuTu
alt-AnTuTucom.antutu.benchmark.fullBannerHub Lite AnTuTu
PuBG-CrossFirecom.tencent.tmgp.cfBannerHub Lite PuBG CrossFire
Ludashicom.ludashi.aibenchBannerHub Lite Ludashi
Genshincom.miHoYo.GenshinImpactBannerHub Lite Genshin
Originalcom.xiaoji.egggameBannerHub Lite

Steps

  1. Uninstall your existing GameHub Lite β€” BannerHub Lite is signed with AOSP testkey (a different certificate) and cannot update over the original
  2. Download the correct variant APK from Releases
  3. Install and launch

Your game library, containers, and settings are stored in app data. They will be lost on uninstall unless you back them up first.


Features

GOG Games Tab

Accessible via the left side menu β†’ GOG.

Authentication

  • OAuth2 login β€” a WebView opens GOG's standard authorization page. The access token is stored in bh_gog_prefs SharedPreferences
  • Auto token refresh β€” expiry is checked before every API call; silent refresh issued if expired. Manual re-login is never required unless you uninstall
  • Login persistence β€” your session survives restarts and reboots

Library

  • Instant load from cache β€” the library is cached after every sync and displayed immediately on next open. A background sync runs silently to update it
  • β†Ί Refresh button β€” in the top-right of the library header; forces a fresh full sync
  • Parallel sync β€” game metadata and generation checks are fetched on a 5-thread pool (~3–5x faster than sequential)
  • Real-time search bar β€” filters the game list by title on every keystroke; no network calls, works entirely on the cached in-memory list
  • 3 view modes β€” toggle button in the top-right of the library header cycles between List, Grid, and Poster. Your preference is saved across sessions
    • List: collapsible cards (60Γ—60 cover icon, gen badge, title, βœ“, β–Ό arrow). Tap to expand install controls; tap expanded card β†’ detail dialog; tap β–² to collapse. One card expanded at a time
    • Grid: 5-column tile layout (105dp art). Gen badge top-left, title + βœ“ bar at bottom. Tap β†’ action row slides out (Install / Add to Launcher + progress bar). Long-press β†’ detail dialog
    • Poster: same as grid with 176dp tall portrait cards and wider gaps β€” movie poster proportions. Pairs with SteamGridDB cover art
  • SteamGridDB cover art β€” grid and poster tiles fetch vivid 600Γ—900 portrait covers from SteamGridDB on library sync; cached so no repeated API calls; falls back to GOG icon then background if not found
  • Installed indicator β€” a green βœ“ on every view mode so install status is visible at a glance

Download Pipeline

BannerHub Lite supports three download methods depending on the age of the game:

Generation 2 (Galaxy-era games):

  1. Fetches the build manifest from GOG's content-system API
  2. Downloads and parses the depot manifest to get the full file list (paths normalized for Android)
  3. Downloads each file chunk-by-chunk; per-file filename + speed (MB/s) + percentage shown in real time

Generation 1 (legacy pre-Galaxy games):

  1. Fetches builds using the generation=1 parameter
  2. Downloads each file using Range HTTP requests

Installer fallback (very old pre-Galaxy games with no content-system builds):

  1. Calls api.gog.com/products/{id}?expand=downloads
  2. Reads downlink or manualUrl from the downloads object
  3. Follows up to 5 redirect hops to the final CDN URL and downloads the Windows installer .exe directly

Install Flow

  • Tapping Install opens a confirmation dialog showing the game's download size and your available storage. Nothing downloads until you confirm
  • During the download, the Install button turns red and becomes Cancel. Tapping it stops the download thread and deletes all partial files from the install directory
  • After install, BannerHub Lite scans the install directory for qualifying executables. If exactly one is found it is auto-selected. If two or more are found, a picker dialog lets you choose the correct one
  • On completion, βœ“ Installed appears on the card and the button changes to Add Game (green)
  • Tapping Add Game opens GameHub's game import dialog with the exe path pre-filled

Post-Install

  • Persistent install state β€” already-installed games show the checkmark and Add Game button on every open
  • Set .exe β€” long-press any installed game β†’ detail dialog shows the current launch executable filename and a Set .exe… button to re-scan and re-pick
  • Uninstall β€” detail dialog β†’ Uninstall; deletes the install folder, clears prefs, and resets the card to Install immediately
  • Copy to Downloads β€” detail dialog β†’ Copy to Downloads; copies the game folder to Download/GOG Games/<title>/ using MediaStore (no storage permission required)

Amazon Games Tab

Accessible via the left side menu β†’ Amazon Games.

  • PKCE OAuth2 login β€” WebView opens Amazon's authorization page; authorization code exchanged for access + refresh tokens via PKCE flow
  • Library sync β€” fetches your entitled games via GetEntitlements API; cover art downloaded and cached
  • manifest.proto download β€” downloads the Amazon-format manifest (protobuf, LZMA/XZ compressed) to get the full chunk list
  • 6-parallel chunk download β€” concurrent download with SHA-256 verification per chunk; live speed (MB/s) + percentage display
  • Game launch β€” reads fuel.json for launch arguments; sets FuelPump env vars; deploys FuelSDK_x64.dll and AmazonGamesSDK DLLs to the game directory before launch
  • Installed βœ“ indicator, Uninstall

Epic Games Store Tab

Accessible via the left side menu β†’ Epic Games.

  • OAuth2 login β€” WebView opens Epic's login page; authorizationCode extracted from the redirect JSON body
  • Catalog sync β€” fetches your entitled games with cover art; cover images cached locally
  • Chunked manifest download β€” downloads the Epic JSON manifest; parses ChunkFilesizeList (hex values), windowSize (uncompressed size), and decimal group subfolder paths
  • CDN selection β€” prefers Fastly (egdownload.fastly-edge.com) or Akamai (epicgames-download1.akamaized.net) public CDNs; no auth token required on chunks
  • 6-parallel chunk download β€” concurrent download with live speed (MB/s) + percentage display
  • Exe picker + launch via GameHub's import dialog
  • Installed βœ“ indicator, Uninstall

Wine Task Manager

Accessible via the three-bar icon in the in-game sidebar (between Settings and the keyboard shortcut icon).

Container Info

Always visible at the top:

FieldSource
CPU CoresWINEMU_CPU_AFFINITY bitmask from the Wine process environment; falls back to active core count
Sys RAM/proc/meminfo β€” used MB / total MB
VRam Limitpc_g_setting{gameId} SharedPreferences β†’ pc_ls_max_memory; shows "Unlimited" if unset
DeviceBuild.MODEL
AndroidBuild.VERSION.RELEASE + API level

Tabs

TabWhat it shows
ApplicationsWine infrastructure processes (non-.exe): wineserver, wine64-preloader, etc. β€” each with PID and Kill button
ProcessesWindows .exe processes running under Wine β€” each with PID and Kill button
LaunchWINEPREFIX file browser β€” navigate drives and directories

The Applications and Processes tabs auto-refresh every 3 seconds while the fragment is visible.

Launch Tab

When you first open the Launch tab, a background thread reads WINEPREFIX from the running Wine process environment and opens WINEPREFIX/dosdevices/ (which contains drive letter symlinks like c:, d:, z:).

  • Yellow β–Ά entries β€” directories; tap to navigate into them
  • ↑ .. β€” tap to go up one level (not shown at the WINEPREFIX root)
  • White entries β€” launchable files (.exe, .msi, .bat, .cmd); tap to launch

Tapping a launchable file shows a "Launching: filename" toast, then runs it via Runtime.exec(wine <path>) using the Wine process's own environment β€” the same environment variables (WINEPREFIX, WINELOADER, etc.) that the already-running Wine session uses.


Export / Import Game Config

PC game settings include Export Config and Import Config options accessible from the game's "…" settings menu (My Games β†’ long-press a game β†’ settings).

Export Config

Saves all per-game Wine settings (DXVK version, VKD3D version, Box64 version, GPU driver, VRAM limit, CPU affinity, and all other per-game settings) to a JSON file at /sdcard/BannerHub/configs/<gamename>-<devicename>.json.

The JSON includes device model, SOC, settings count, component list, and app_source="bannerhub_lite" for community backend filtering.

Import Config

Lists .json files saved in /sdcard/BannerHub/configs/. Selecting a file applies all settings from that config to the current game. A SOC mismatch warning is shown if the config was created on a different GPU β€” you can still apply it.

Cross-Compatibility with BannerHub

Configs exported from BannerHub Lite are fully compatible with BannerHub, and vice versa.

Both apps store per-game settings under the same SharedPreferences keys (pc_g_setting<gameId>) and export to the same folder (/sdcard/BannerHub/configs/). The export format is identical β€” the app that created the config has no effect on whether it can be imported. The app_source field is only used by the community config site for filtering and is ignored during import.


Component Manager

Accessible via the left side menu β†’ Components.

Gives you full control over the emulation components GameHub uses β€” DXVK, VKD3D, Box64, FEXCore, and GPU Driver entries that appear in per-game settings.

Card UI

Each installed component shows as a card with:

  • Color-coded left accent strip β€” DXVK (blue), VKD3D (purple), Box64 (green), FEXCore (orange), GPU Driver (yellow)
  • Type badge derived from component name or saved at download time
  • Source badge β€” components downloaded via BannerHub Lite show the repo they came from
  • Install count in the header
  • Live search bar β€” filter cards by name in real time

The header shows a red Remove All button when BannerHub-managed components are present.

Actions

ActionHow to triggerWhat it does
Add New ComponentTap "+ Add New" in the bottom barType picker β†’ file picker β†’ injects as a new component slot
Inject / ReplaceTap a card β†’ "Inject / Replace file..."Replaces the component's contents
BackupTap a card β†’ "Backup to Downloads"Copies the component folder to Downloads/BannerHub/<name>/
RemoveTap a card β†’ "Remove"Deletes folder, unregisters from GameHub, clears metadata
Remove AllTap "Remove All" in headerRemoves only BannerHub-managed components

Supported File Formats

FormatUsed forExtraction
.wcp (zstd-compressed tar)DXVK, VKD3D, Box64Preserves system32/ + syswow64/ structure
.wcp (XZ-compressed tar)FEXCore nightliesFlat extraction to component root
.zipGPU Drivers / Turnip / adrenotoolsFlat extraction β€” meta.json + .so files at root

Online Component Downloader

Browse and install components from community repos directly within the app. Open it from the Download button in the Component Manager.

Three-level navigation: Repo β†’ Type β†’ Asset list

Built-in Sources

SourceWhat it provides
Arihany WCPHubDXVK, VKD3D, Box64, FEXCore, GPU Drivers
The412Banner NightliesDXVK, VKD3D-Proton, Box64, FEXCore, GPU Drivers
Kimchi GPU Drivers (K11MCH1 / AdrenoToolsDrivers)GPU Drivers only
StevenMXZ GPU DriversGPU Drivers only
MTR GPU Drivers (MaxesTechReview)GPU Drivers only
Whitebelyash GPU Drivers (freedreno Turnip CI)GPU Drivers only

BCI Launcher Button

A shortcut button in GameHub's top-right toolbar opens BannersComponentInjector (com.banner.inject) directly. If BCI is not installed, a toast is shown instead.


Winlator HUD Overlay

An in-game heads-up display overlay controlled from the Controls sidebar tab. Two modes are available β€” enable Winlator HUD first, then optionally enable Extra Detailed for the expanded view.

Normal HUD

Enable Winlator HUD in the Controls sidebar. The overlay appears in the top-right corner and persists while a game is running.

Displays per second: GPU%, CPU%, RAM%, battery wattage, battery temperature, FPS, and a rolling FPS graph.

Extra Detailed HUD

Enable both Winlator HUD and Extra Detailed in the Controls sidebar. Replaces the Normal HUD with a richer two-row layout (horizontal) or a full per-metric vertical list (tap to toggle).

Horizontal layout β€” Row 1: TIME | CPU% / CPUΒ°C | C0 | C2 | C4 | C6 | BAT W / BATΒ°C

Horizontal layout β€” Row 2: API | GPU% / GPUΒ°C | C1 | C3 | C5 | C7 | RAM% | FPS graph (spans both rows)

Vertical layout: API, TIME, BAT W, BATΒ°C, CPU%, CPUΒ°C, GPU%, GPUΒ°C, GPU MHz, per-core C0–C7, RAM%, SWAP used/total, FPS graph

Drag to reposition. Position and orientation persist across sessions. Extra Detailed is automatically greyed out when the HUD toggle is off.

Opacity Slider

Drag the HUD Opacity (0–100%) slider to adjust background transparency live. The value is saved and restored on next session.


AI Frame Generation

Added in v1.0.2. Ports BannerHub 3.7.x's AI frame-interpolation menu β€” a runtime motion-smoothing pipeline that doubles, triples, or quadruples the on-screen frame rate by synthesizing intermediate frames between rendered ones.

Located in the in-game Controls sidebar tab, directly below the Winlator HUD row. Two widgets:

  • Switch β€” enables / disables frame generation for the current and future game sessions
  • βš™ gear button β€” opens the Frame Generation Settings dialog

Settings Dialog

ControlWhat it sets
Enable switch (top of dialog)Mirrors the sidebar switch; the same persisted flag
Preset radios6 quality/cost presets β€” picking one auto-loads its flowScale and AI model values into the controls below; you can still override them manually
flowScale slider0.20 β†’ 1.00 β€” the optical-flow scale factor passed to libGameScopeVK. Lower = cheaper + softer motion; higher = sharper but more GPU cost
Multiplier radios2Γ— / 3Γ— / 4Γ— β€” the integer frame-multiplication factor. 2Γ— generates one synthetic frame per real frame, 4Γ— generates three
FPS limit inputCaps the source render rate (engine FPS) so frame-gen has thermal headroom for the additional generated frames

Presets

PresetAI modelflowScaleUse case
ECOStandard0.2Lowest overhead, suitable for lower-end devices or battery-sensitive play
FLOWStandard0.4Low-overhead smoothness boost for most lightweight games
BAL (default)Standard0.6Recommended β€” balances smoothness, power usage, and stability
BOOSTStandard0.8Stronger motion smoothing for users who prefer extra fluidity
CLEARClear0.6Prioritizes a steadier, cleaner image with fewer motion artifacts
MAXClear0.8Highest quality preset with the highest power and performance cost

The two AI models β€” Standard (model 0) and Clear (model 1) β€” trade artifact suppression against compute cost; Clear runs a heavier optical-flow path that reduces ghosting on busy scenes.

How it works

Settings are persisted to bh_framegen SharedPreferences. On every game launch, BannerHub Lite writes them into the firmware's 10-byte mmap control file at <imageFs>/etc/gamescope.control (LE byte layout: FPS limit at 0–1, enabled flag at 2, flowScale float at 4–7, AI model at 8, multiplier at 9). libGameScopeVK.so β€” the Vulkan layer that lives in imagefs.zst and intercepts the swap chain β€” reads this file every frame and dispatches the frame-interpolation compute shaders accordingly.

On first launch, BannerHub Lite also writes the Vulkan ICD JSON manifest under the current package name (/data/data/<pkg>/files/usr/share/vulkan/icd.d/). This is required because the firmware ships an ICD JSON hardcoded to /data/data/com.winemu/..., which doesn't match any BHL variant package. Rewriting it at launch makes frame-gen work uniformly across banner.hub.lite, gamehub.lite, com.tencent.ig, and every other variant package.

Requirements

  • Firmware 1.3.6 or newer β€” the libGameScopeVK.so layer that runs the AI compute pipeline first shipped in imagefs 1.3.6. As of bannerhub-api@45c3d2f (2026-05-12), every BHL install gets 1.3.7 on first-game-add, so this requirement is satisfied automatically.
  • Adreno GPU recommended β€” the optical-flow path is dispatched against Mesa Turnip on Adreno chip 6/7/8. Non-Adreno devices may still see the option but frame-gen quality and performance vary by driver.

Verified results (BannerHub 3.7.x reference data)

On the same AYANEO Pocket FIT hardware where this menu was first shipped (BannerHub 3.7.x, 2026-05-08): 42 FPS source β†’ 75–80 FPS displayed at 2Γ— multiplier β€” roughly 1.8–1.9Γ— effective frame rate at default BAL preset. Your mileage depends on game, GPU thermal headroom, and chosen preset.


Performance Sidebar Toggles

Located in the in-game Controls sidebar tab. Both toggles persist their state in bh_prefs and re-apply when the sidebar opens.

Root access is checked once when you grant it in Settings β†’ Advanced. The toggles read that stored result β€” no root permission popup appears every time you open the Controls tab.

WARNING β€” USE AT YOUR OWN RISK

These toggles override your device's thermal management. Forcing the CPU and GPU to run at maximum frequency continuously generates significantly more heat than normal operation. Sustained high temperatures can cause permanent damage to your device's processor, battery, and other components. Device manufacturers do not support or warrant against damage caused by overriding performance governors. By using these toggles you accept full responsibility for any damage, data loss, throttling, unexpected shutdowns, or reduced component lifespan that results. Do not leave these enabled unattended. Monitor your device temperature. Disable them immediately if your device becomes uncomfortably hot.

Both toggles require root. Without root, both are greyed out at 50% opacity and have no click listener.

Sustained Performance Mode

Requires root.

Enables Window.setSustainedPerformanceMode(true) (Android 7.0+ thermal-stable performance hint) and sets all CPU cores to the performance governor via su. On disable, schedutil is restored.

Max Adreno Clocks

Requires root. Adreno GPUs only (Qualcomm Snapdragon devices).

Locks the KGSL DVFS minimum frequency equal to the current maximum frequency β€” the GPU physically cannot clock below maximum short of a kernel thermal emergency. On disable, the floor is removed and DVFS returns to normal.


RTS Touch Controls

RTS touch controls are built into GameHub Lite 5.1.4 β€” no patch is needed. Enable them via the Controls tab in the in-game sidebar.

GestureMouse action
Single tapMove cursor + left-click
DragHold LMB while dragging (box selection)
Long press (300 ms)Right-click
Double-tap (250 ms / 50 px)Double left-click
Two-finger panCamera pan
Pinch to zoomMouse wheel scroll

VRAM Limit Unlock

PC game settings β†’ VRAM Limit now includes 6 GB, 8 GB, 12 GB, and 16 GB options alongside the original 512 MB–4 GB range.


Per-Game CPU Core Affinity

PC game settings β†’ CPU Core Limit opens a checkbox dialog to pin the game process to specific CPU cores.

Core(s)Label
Core 0–3Efficiency
Core 4–6Performance
Core 7Prime

GPU System Driver Default

New games automatically default the GPU Driver setting to System Driver instead of leaving it unset. This prevents launch crashes on first-time setup.


Offline Steam Launch

When Steam's auto-login request fails at cold start and no network is available, BannerHub Lite skips the Steam login screen and proceeds with the locally cached Steam configuration.


Launch Fix (Hardware Whitelist Bypass)

GameHub Lite performs an HTTP device-check at launch time. On many devices this returns HTTP 404 (device not in the list), which blocks game launch entirely. BannerHub Lite treats the 404 as a pass.


Settings: Advanced Tab

SettingWhat it does
Grant Root AccessShows a warning dialog explaining what root is used for. On confirmation, runs su -c id on a background thread β€” your root manager will show its own prompt. The result is stored in bh_prefs. Tapping again while root is already granted shows a Revoke option

Controller Navigation

All three game store activities (GOG, Epic, Amazon) support full D-pad / gamepad controller navigation.

  • Game cards (list view) β€” navigate up/down with D-pad; focused card shows a gold border and slightly lighter background; press A to expand/collapse
  • Game tiles (grid view) β€” navigate in all four directions; focused tile shows a gold border overlay; press A to expand/select
  • Header buttons (back, view toggle, refresh) β€” focusable with a gold border on focus; press A to activate

Focus highlight uses gold (#FFD700) consistently across all stores and view modes.


UI Tweaks

  • The "Dashboard" sidebar tab is renamed to "My Games" for clarity.
  • Japanese translations β€” 3,534 strings from Crowdin.

How It Works

  1. The original GameHub Lite 5.1.4 APK (vanilla, no ReVanced) is stored as a permanent release asset under the base-apk tag.
  2. CI downloads the base APK, decompiles it with apktool, overlays the patches/ directory, and builds all 9 package variants.
  3. All new BannerHub Lite code is written in Java, compiled via javac + d8 to classes11.dex. GameHub Lite 5.1.4 uses classes.dex through classes10.dex β€” classes11 has no conflict.
  4. The rebuilt APK is zipaligned and signed with AOSP testkey (v1 + v2 + v3).
  5. The CI matrix uploads all 9 variant APKs to the GitHub Release.

No external dex is injected into the base classes β€” the extension code is self-contained in classes11.dex.


FAQ

Q: Does BannerHub Lite require root?

Most features work without root. The only features that require root are the two Performance sidebar toggles (Sustained Performance Mode and Max Adreno Clocks) β€” both are greyed out and non-interactive on non-rooted devices. Everything else β€” GOG/Amazon/Epic tabs, Component Manager, downloader, VRAM unlock, CPU core limit, HUD overlay, offline modes, launch fix, and settings β€” works on any non-rooted device.

Q: Will this replace my existing GameHub Lite?

Yes β€” because BannerHub Lite is signed with a different certificate (AOSP testkey), Android treats it as a different signer and will not allow an in-place update. You must uninstall your existing GameHub Lite first. Your game library and containers stored in app data will be lost unless you back them up beforehand.

Q: Why does Max Adreno Clocks require root?

BannerHub Lite writes directly to /sys/class/kgsl/kgsl-3d0/devfreq/min_freq β€” a privileged sysfs node that requires root to write to.

Q: Max Adreno Clocks is greyed out on my device β€” is it broken?

If it is greyed out, root has not been granted yet. Go to Settings β†’ Advanced β†’ Grant Root Access and follow the prompt. If root is granted and it is still greyed out, your device may not have an Adreno GPU (this toggle is Adreno/Qualcomm-only).

Q: My GOG game has no builds available β€” what does that mean?

Your game may be a very old pre-Galaxy title that pre-dates GOG's content system. BannerHub Lite will automatically fall back to the installer download path, which fetches the Windows .exe installer directly from GOG's download API.

Q: Where are GOG / Amazon / Epic games installed?

Inside the app's private storage: Android/data/<package>/files/gog_games/<title>/, amazon_games/<title>/, or epic_games/<title>/ respectively. These files are only accessible via a file manager with root, or if you grant SAF access via BCI. GOG games have a Copy to Downloads button in the detail dialog to copy files to Downloads/GOG Games/<title>/ for access from any file manager.

Q: Are game configs compatible with BannerHub?

Yes β€” configs exported from BannerHub Lite can be imported in BannerHub and vice versa. Both apps use the same SharedPreferences keys and the same export folder (/sdcard/BannerHub/configs/). See Export / Import Game Config for details.

Q: I don't see the AI Frame Generation row in the Controls sidebar β€” what's wrong?

The row was added in v1.0.2. If you are running v1.0.1 or earlier, install the v1.0.2+ APK over your current variant (same package names; no uninstall needed). If you are already on v1.0.2 and don't see it, the in-game sidebar may have cached the old layout β€” fully close and re-open the game.

Q: AI Frame Generation says it can't find libGameScopeVK β€” what does that mean?

The Vulkan frame-gen layer ships inside the firmware (imagefs.zst) and requires version 1.3.6 or newer. After the 2026-05-12 server-side fix (bannerhub-api@45c3d2f), every BHL install pulls firmware 1.3.7 automatically on first-game-add. If you have an older container created before that fix, open Settings β†’ Components β†’ Firmware and update manually.


Implementation Reports

Detailed technical breakdowns of each store integration β€” API endpoints, auth flows, data models, download pipelines, and known gotchas. Reports live in the BannerHub repo since the implementations originate there and are ported to BannerHub Lite.

ReportDescription
GOG_IMPLEMENTATION.mdGOG API, OAuth2 auth, Gen1/Gen2 depot manifests, download pipeline, cloud saves, DLC, update checker
EPIC_IMPLEMENTATION.mdEpic Games Store API, OAuth2 auth, chunked manifest download, CDN selection, cloud saves, free games, DLC
AMAZON_IMPLEMENTATION.mdAmazon Games API, PKCE auth, manifest.proto protobuf, XZ/LZMA decode, FuelPump env vars, SDK DLLs
STEAM_IMPLEMENTATION.mdJavaSteam integration, PICS library sync, DepotDownloader, credential + QR auth, depot key caches, critical gotchas
STORE_FEATURES_REPORT.mdCross-store feature comparison matrix

Credits

  • GameHub Lite β€” Python (original GameHub Lite creator) and Producdevity (current maintainer)
  • GOG / Amazon / Epic integration β€” The GameNative Team. The store pipelines, authentication flows, download architecture, and library sync in BannerHub Lite are ported from BannerHub, which is based on their research and implementation.
  • BannerHub β€” all ported features originate from BannerHub
  • Winlator HUD β€” StevenMXZ. The Extra Detailed HUD is a continuation and extension of the original Winlator HUD.
  • Component sources β€” Arihany WCPHub, The412Banner Nightlies, Kimchi, StevenMXZ, MaxesTechReview, Whitebelyash

Build Info

  • Base APK: GameHub Lite 5.1.4 (vanilla, no ReVanced) β€” stored as a permanent release under the base-apk tag
  • Extension DEX: All BannerHub Lite Java code compiles to classes11.dex β€” no conflict with GameHub Lite's classes.dex through classes10.dex
  • Signing: AOSP testkey (v1 + v2 + v3) via apksigner β€” same key across all variants and all releases
  • Variants: 9 package variants built per release β€” see Installation for the full list

β˜• Support on Ko-fi

Community

Join our Discord: https://discord.gg/n8S4G2WZQ4