BannerHub Lite
May 14, 2026 Β· View on GitHub
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
- Backend API
- Installation
- Features
- GOG Games Tab
- Amazon Games Tab
- Epic Games Store Tab
- Component Manager
- Online Component Downloader
- BCI Launcher Button
- Export / Import Game Config
- Wine Task Manager
- Winlator HUD Overlay
- AI Frame Generation
- Performance Sidebar Toggles
- RTS Touch Controls
- VRAM Limit Unlock
- Per-Game CPU Core Affinity
- GPU System Driver Default
- Offline Steam Launch
- Launch Fix (Hardware Whitelist Bypass)
- Settings: Advanced Tab
- Controller Navigation
- UI Tweaks
- How It Works
- FAQ
- Implementation Reports
- Credits
- Build Info
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 app | GameHub Lite 5.1.4 β vanilla, no ReVanced | GameHub 5.3.5 β ReVanced |
| APK size | ~47 MB | ~138 MB |
| RTS touch controls | Built into 5.1.4 β no patch needed | Patched in |
| GPU System Driver default | Yes | No |
| Launch fix (hardware whitelist bypass) | Yes | No |
| Component description in game settings picker | Not yet | Yes |
| Community Game Configs browser | Not yet | Yes |
| Konkr Style HUD | Not yet | Yes |
| Sustained Perf toggle behavior | setSustainedPerformanceMode + CPU governor (root) | CPU governor only (root) |
| GOG Games tab | Yes | Yes |
| Amazon Games tab | Yes | Yes |
| Epic Games Store tab | Yes | Yes |
| Export / Import Game Config | Yes | Yes |
| Wine Task Manager (Apps/Procs/Launch) | Yes | Yes |
| Winlator HUD (Normal + Extra Detailed) | Yes | Yes |
| AI Frame Generation menu | Yes (v1.0.2+) | Yes (v3.7.x+) |
| Controller D-pad navigation | Yes | Yes |
| Component Manager | Yes | Yes |
| Online Component Downloader | Yes (6 repos) | Yes (6 repos) |
| CPU Core Affinity | Yes | Yes |
| Extended VRAM limits | Yes (up to 16 GB) | Yes (up to 16 GB) |
| Performance toggles | Yes (root required) | Yes (root required) |
| Grant Root Access button | Yes | Yes |
| Offline Steam skip | Yes | Yes |
| BCI launcher button | Yes | Yes |
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
executeScriptrow 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.
| APK | Package | App label |
|---|---|---|
| Normal | banner.hub.lite | BannerHub Lite |
| Normal(GHL) | gamehub.lite | BannerHub Lite |
| PuBG | com.tencent.ig | BannerHub Lite PuBG |
| AnTuTu | com.antutu.ABenchMark | BannerHub Lite AnTuTu |
| alt-AnTuTu | com.antutu.benchmark.full | BannerHub Lite AnTuTu |
| PuBG-CrossFire | com.tencent.tmgp.cf | BannerHub Lite PuBG CrossFire |
| Ludashi | com.ludashi.aibench | BannerHub Lite Ludashi |
| Genshin | com.miHoYo.GenshinImpact | BannerHub Lite Genshin |
| Original | com.xiaoji.egggame | BannerHub Lite |
Steps
- Uninstall your existing GameHub Lite β BannerHub Lite is signed with AOSP testkey (a different certificate) and cannot update over the original
- Download the correct variant APK from Releases
- 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_prefsSharedPreferences - 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):
- Fetches the build manifest from GOG's content-system API
- Downloads and parses the depot manifest to get the full file list (paths normalized for Android)
- Downloads each file chunk-by-chunk; per-file filename + speed (MB/s) + percentage shown in real time
Generation 1 (legacy pre-Galaxy games):
- Fetches builds using the
generation=1parameter - Downloads each file using
RangeHTTP requests
Installer fallback (very old pre-Galaxy games with no content-system builds):
- Calls
api.gog.com/products/{id}?expand=downloads - Reads
downlinkormanualUrlfrom the downloads object - Follows up to 5 redirect hops to the final CDN URL and downloads the Windows installer
.exedirectly
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
GetEntitlementsAPI; 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.jsonfor launch arguments; sets FuelPump env vars; deploysFuelSDK_x64.dllandAmazonGamesSDKDLLs 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;
authorizationCodeextracted 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:
| Field | Source |
|---|---|
| CPU Cores | WINEMU_CPU_AFFINITY bitmask from the Wine process environment; falls back to active core count |
| Sys RAM | /proc/meminfo β used MB / total MB |
| VRam Limit | pc_g_setting{gameId} SharedPreferences β pc_ls_max_memory; shows "Unlimited" if unset |
| Device | Build.MODEL |
| Android | Build.VERSION.RELEASE + API level |
Tabs
| Tab | What it shows |
|---|---|
| Applications | Wine infrastructure processes (non-.exe): wineserver, wine64-preloader, etc. β each with PID and Kill button |
| Processes | Windows .exe processes running under Wine β each with PID and Kill button |
| Launch | WINEPREFIX 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
| Action | How to trigger | What it does |
|---|---|---|
| Add New Component | Tap "+ Add New" in the bottom bar | Type picker β file picker β injects as a new component slot |
| Inject / Replace | Tap a card β "Inject / Replace file..." | Replaces the component's contents |
| Backup | Tap a card β "Backup to Downloads" | Copies the component folder to Downloads/BannerHub/<name>/ |
| Remove | Tap a card β "Remove" | Deletes folder, unregisters from GameHub, clears metadata |
| Remove All | Tap "Remove All" in header | Removes only BannerHub-managed components |
Supported File Formats
| Format | Used for | Extraction |
|---|---|---|
.wcp (zstd-compressed tar) | DXVK, VKD3D, Box64 | Preserves system32/ + syswow64/ structure |
.wcp (XZ-compressed tar) | FEXCore nightlies | Flat extraction to component root |
.zip | GPU Drivers / Turnip / adrenotools | Flat 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
| Source | What it provides |
|---|---|
| Arihany WCPHub | DXVK, VKD3D, Box64, FEXCore, GPU Drivers |
| The412Banner Nightlies | DXVK, VKD3D-Proton, Box64, FEXCore, GPU Drivers |
| Kimchi GPU Drivers (K11MCH1 / AdrenoToolsDrivers) | GPU Drivers only |
| StevenMXZ GPU Drivers | GPU 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
| Control | What it sets |
|---|---|
| Enable switch (top of dialog) | Mirrors the sidebar switch; the same persisted flag |
| Preset radios | 6 quality/cost presets β picking one auto-loads its flowScale and AI model values into the controls below; you can still override them manually |
| flowScale slider | 0.20 β 1.00 β the optical-flow scale factor passed to libGameScopeVK. Lower = cheaper + softer motion; higher = sharper but more GPU cost |
| Multiplier radios | 2Γ / 3Γ / 4Γ β the integer frame-multiplication factor. 2Γ generates one synthetic frame per real frame, 4Γ generates three |
| FPS limit input | Caps the source render rate (engine FPS) so frame-gen has thermal headroom for the additional generated frames |
Presets
| Preset | AI model | flowScale | Use case |
|---|---|---|---|
| ECO | Standard | 0.2 | Lowest overhead, suitable for lower-end devices or battery-sensitive play |
| FLOW | Standard | 0.4 | Low-overhead smoothness boost for most lightweight games |
| BAL (default) | Standard | 0.6 | Recommended β balances smoothness, power usage, and stability |
| BOOST | Standard | 0.8 | Stronger motion smoothing for users who prefer extra fluidity |
| CLEAR | Clear | 0.6 | Prioritizes a steadier, cleaner image with fewer motion artifacts |
| MAX | Clear | 0.8 | Highest 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.solayer that runs the AI compute pipeline first shipped in imagefs 1.3.6. As ofbannerhub-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.
| Gesture | Mouse action |
|---|---|
| Single tap | Move cursor + left-click |
| Drag | Hold LMB while dragging (box selection) |
| Long press (300 ms) | Right-click |
| Double-tap (250 ms / 50 px) | Double left-click |
| Two-finger pan | Camera pan |
| Pinch to zoom | Mouse 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β3 | Efficiency |
| Core 4β6 | Performance |
| Core 7 | Prime |
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
| Setting | What it does |
|---|---|
| Grant Root Access | Shows 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
- The original GameHub Lite 5.1.4 APK (vanilla, no ReVanced) is stored as a permanent release asset under the
base-apktag. - CI downloads the base APK, decompiles it with apktool, overlays the
patches/directory, and builds all 9 package variants. - All new BannerHub Lite code is written in Java, compiled via
javac+d8toclasses11.dex. GameHub Lite 5.1.4 usesclasses.dexthroughclasses10.dexβclasses11has no conflict. - The rebuilt APK is zipaligned and signed with AOSP testkey (v1 + v2 + v3).
- 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.
| Report | Description |
|---|---|
| GOG_IMPLEMENTATION.md | GOG API, OAuth2 auth, Gen1/Gen2 depot manifests, download pipeline, cloud saves, DLC, update checker |
| EPIC_IMPLEMENTATION.md | Epic Games Store API, OAuth2 auth, chunked manifest download, CDN selection, cloud saves, free games, DLC |
| AMAZON_IMPLEMENTATION.md | Amazon Games API, PKCE auth, manifest.proto protobuf, XZ/LZMA decode, FuelPump env vars, SDK DLLs |
| STEAM_IMPLEMENTATION.md | JavaSteam integration, PICS library sync, DepotDownloader, credential + QR auth, depot key caches, critical gotchas |
| STORE_FEATURES_REPORT.md | Cross-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-apktag - Extension DEX: All BannerHub Lite Java code compiles to
classes11.dexβ no conflict with GameHub Lite'sclasses.dexthroughclasses10.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