Based on XiaoJi GameHub 6.3.1 · PC Engine plugin era
BannerHub v6
The next-generation build on the newest GameHub base. Account-free and privacy-hardened at the bytecode level, with a curated catalog API served through BannerHub's own PC Engine plugin, a full GOG store on a Rust download engine, a Component Manager for your own drivers and DXVK builds, PC-accurate per-game vibration, in-game Steam and performance overlays, and 9 side-by-side variants.
banner.hub
9 side-by-side variants
🔒 Privacy-hardened
v6 is a separate project and still a work in progress. It uses a new component system and new Steam clients, re-releases often as XiaoJi ships new bases, and its game compatibility differs from BannerHub 3.7.x and Lite. It can't update over the other two — pick one product per device.
What BannerHub v6 offers
🔓 Access & catalog
- No login required — straight to the home screen; import and play with no XiaoJi account.
- Custom catalog API — redirected to the BannerHub Cloudflare Worker for curated component delivery (DXVK, VKD3D-Proton, Box64, FEX, Mesa Turnip).
- Full GOG store — Store / Library / Downloads / Profile tabs, catalog browse + search, detail pages with media, downloads on Bannerlator's Rust engine (v1.0.0-631+).
- BannerHub-served PC Engine plugin — the 6.1+ runtime plugin is re-signed and patched by BannerHub; catalog + firmware via the Worker, HTTP/1.1 firmware downloads, launch badge (v1.0.0-631+).
- Show PC Game Settings row kept visible even for Steam-linked games; portrait PC-settings rendering.
🛡️ Privacy hardening
- Firebase Analytics & Crashlytics neutralised
- Google Play Services Measurement disabled
- Mob Push SDK removed
- Ad-ID / ADSERVICES permissions stripped
- XiaoJi OTA + heartbeat trackers killed
- Analytics
/eventsendpoints stubbed client-side
🎛️ Per-game tooling
- PC-accurate vibration — per-game mode & intensity, preload-free (no
LD_PRELOAD). - Strict per-game settings store with explicit Save/Cancel — no app-wide leak.
- Show Game ID + a View-All-Games dialog for wiring up external launchers.
- Component Manager — inject your own
.wcpcomponents or GPU-driver.zips, or download them from the online repos; they show up in the normal pickers and are removable in one tap (v1.0.0-631+). - All grouped under a tidy Banner Tools menu (Vibration · Game ID · Audio · GOG · Overlay · Root · Components).
GPU Spoof and the Legacy renderer toggle were 6.0.4-only — 6.0.7+ ships its own native GPU spoof, and its rewritten Vulkan X-server is incompatible with the old GLES2 renderer libs.
📲 Experience & packaging
- In-game Steam friends, chat & voice overlay — draggable pill for your friends list, presence, unread badges, inline read/reply chat (emoji, stickers, images, invite cards) and 1:1 + party voice calls. No root.
- In-game performance overlay (root) — draggable pill for CPU-governor & Adreno-clock toggles, auto-reverts on exit.
- BannerHub Explore homepage with What's-New, version readout & update banner.
- Muted UI sounds, root-free file-manager access. (The recording-compatible audio toggle and the offline component picker are paused on the 6.3.1 base — their host anchors no longer exist.)
- Front-end launcher support (Beacon / ES-DE / RetroHRAI / NeoStation / Daijishou).
- 9 side-by-side variants (~47 MB each). Stable keystore → in-place updates.
🧬 How it's built
v6 is produced with ReVanced CLI 6.0.0 from an unmodified XiaoJi GameHub 6.3.1 base APK (versionCode 141) — only the bytecode and resources the patches need are touched — plus BannerHub's own re-signed, patched build of XiaoJi's 6.3.1 PC Engine plugin, served from the BannerHub API. Builds come from the gamehub-631-build branch. Every patch (login bypass, plugin + catalog redirects, privacy hardening, vibration, the GOG store, the Component Manager, in-game Steam chat & perf overlays, and more) is documented in the repo's Patches Applied section. Each variant is ~75 MB on the 6.3.1 base (the PC Engine plugin is a separate ~27 MB download on first launch).
Built on stock XiaoJi GameHub 6.3.1
Unlike the 5.x builds, BannerHub v6 starts from the unmodified XiaoJi GameHub 6.3.1 APK and applies its own ReVanced patches on top — and, since 6.1.0 moved the runtime into a downloadable PC Engine plugin, BannerHub also ships its own re-signed build of that plugin with a handful of patches (catalog/firmware routing, HTTP/1.1 firmware downloads, launch badge, injected-component loader). The gaming engine itself is still GameHub's — BannerHub v6 changes how the app behaves (login, telemetry, catalog, per-game tooling, components), not how Wine runs your games.
Comes from GameHub 6.3.1
- Wine + Box64 / FEX runtime — the core that runs Windows games on Android, now delivered as the PC Engine plugin.
- Container / Wine-prefix management and the in-game sidebar (Controls / Performance / Settings).
- Native Steam client integration (newer steamkit stack in 6.3.x) and the 6.x component system.
- AI Frame Generation engine —
libGameScopeVKoptical-flow interpolation (the GameHub team's work). - Built-in FPS limiter, performance HUD, dual-battery mode and per-game PC settings.
- The DXVK / VKD3D / Box64 / GPU-driver component pipeline.
What BannerHub v6 adds / changes
- Login bypass (seeds a synthetic account for the plugin) + a custom curated catalog API served through BannerHub's own PC Engine plugin.
- Privacy hardening — 8 telemetry channels killed (details).
- Per-game PC-accurate vibration & a strict per-game settings store.
- In-game Steam friends/chat overlay, the full GOG store + Rust download engine, the Component Manager (inject
.wcp/ driver.zip, online repos), in-game perf HUD + overlay, Explore homepage. - 9 side-by-side variants, ~75 MB each.
Only the bytecode & resources the patches need are touched; the base APK is otherwise unmodified (versionCode 141).
Credit & lineage: GameHub and the AI Frame-Generation engine © XiaoJi / the GameHub team; built with ReVanced CLI. BannerHub v6 is a downstream community patch.
Release history
Stable releases since the first v6 stable, newest first. Each links to its full GitHub release notes.
🩹 Install conflict when upgrading from 609 (or next to stock GameHub)
Fixes "App not installed as package conflicts with an existing package" when installing a 631 build over v1.0.0-609, or on any device that also has stock GameHub 6.1+ (or another GameHub 6.x mod signed with a different key). The 6.1+ base declares a new push permission outside the name pattern our per-variant rename covered, so every 631 variant still declared it under XiaoJi's name — and Android refuses to install a package that redeclares a permission owned by a differently-signed app. Every com.xiaoji.egggame.* permission is now renamed per variant. Device-proven: 609 → 1.0.2 in place.
Nothing else changed since 1.0.1-631 — same PC Engine plugin (111-7), same firmware, same banner.hub package and keystore.
🩹 Component Manager removal fixes
Two bugs found right after 1.0.0-631, both in the remove → re-inject path. Removing a component no longer breaks the games that used it: the PC Engine wires the selected translator / DXVK into each game prefix as symlinks and never re-points an existing one, so after a Remove those links dangled and the game died on launch (could not load libarm64ec_import.dll, Wine exit 53). Remove — and opening Component Manager — now clears dead links; the engine plants fresh ones on the next launch. And re-injecting a component you removed no longer claims it "already exists": the name check read a stale in-process copy of the plugin registry; it now reads the registry file fresh, tells catalog rows from injected ones, and silently heals an orphaned row instead of prompting. Device-proven: inject → use → remove → re-inject (no prompt) → launch.
Nothing else changed since 1.0.0-631 — same PC Engine plugin (111-7), same firmware, same banner.hub package and keystore; installs in place.
🧱 Rebased onto GameHub 6.3.1 (versionCode 141)
The biggest base jump so far: from 6.0.9 (versionCode 121) straight to XiaoJi's 6.3.1. Since 6.1.0 the whole Wine runtime, launch screen and component system live in a separately-downloaded PC Engine plugin, and 6.3.x added XiaoJi's community/social layer, a newer Steam stack and transactional cloud sync. The 6.1.0 and 6.1.1 lines were onboarded but never shipped as stables. Every BannerHub patch was re-derived against 6.3.1 and confirmed on-device; two obsolete PC-engine signature patches were retired.
🔌 BannerHub-served PC Engine plugin
The host only accepts a plugin its manifest names, so BannerHub v6 now serves its own re-signed, patched 6.3.1 plugin (schema 7) from the BannerHub API. Inside it: the component catalog and firmware come from the BannerHub Worker, firmware downloads are forced to HTTP/1.1 (upstream's downloader corrupted the image over multiplexed HTTP/2), the BannerHub launch badge is back, and loader hooks make host-injected components visible in every picker. Plugin updates arrive automatically on app start; firmware stays pinned at 1.4.2 and no earlier BannerHub or v6 build is affected.
🛒 Full GOG store with the Rust download engine
GOG login is fixed (no more white screen after sign-in) and the GOG screen is now a full store ported from Bannerlator — Store / Library / Downloads / Profile tabs, catalog browse + search, Steam-style detail pages with media, generation badges from GOG's content system — with downloads on Bannerlator's Rust engine (staged, verified chunked transfers; 57 MB/s measured on device). Games land in your library and launch like any other PC game.
🧩 Component Manager — inject your own components
A new Components tile in Banner Tools brings v6 to parity with BannerHub 3.8.1's injector: inject any .wcp (DXVK, VKD3D, FEX/Box64 translators, libs) or a GPU-driver .zip from storage, or pull them from the same online repos plus the Turnip Nightlies from a Download screen. Injected components register with the plugin, appear in the right picker next to the catalog, and are removable in one tap. Device-proven end-to-end: a game ran on an injected Turnip driver, an injected DXVK and an injected FEX nightly at the same time, and removal leaves no ghost entries.
💬 Steam · Friends overlay rebuilt · 🔐 login bypass that survives the plugin
The game now runs inside the plugin process, so the in-game Steam · Friends overlay got a new transport (a main-process relay with an IPC fallback for invites) and never blocks the UI thread. Steam sign-in, the Friends list and online play are confirmed on 6.3.1; chat send/receive and voice calls have not been re-verified on this base yet. Bypass login now seeds a synthetic account into the app's Room database (through Room's own bundled SQLite driver) because the plugin reads the signed-in user from there — clean install → first launch → game running with no account is confirmed.
⏸️ Paused on 6.3.1 · ⚠️ upgrade note
Two features lost their host anchors and are paused: the offline component picker (the plugin owns the pickers now) and the recording-compatible audio toggle (the Audio tile is present; that switch does nothing on this base). The heartbeat-disable patch is moot because those calls now go to the BannerHub Worker. Same banner.hub package and public keystore, so Android accepts an in-place update over v1.0.0-609, but the 6.0.9 → 6.3.1 database migration is XiaoJi's and untested by us — a clean install is recommended (sign in to Steam and GOG again afterwards).
🧱 Rebased onto GameHub 6.0.9 (versionCode 121)
BannerHub v6 moves to XiaoJi's first feature release of the 6.0.x line. 6.0.9 adds a native "Team Room" co-op mode with Tencent in-room voice, but no Wine / DXVK / Box64 / FEX / Turnip changes — so component compatibility is unaffected. As always XiaoJi's R8 pass reshuffled the obfuscated class/method map, so every BannerHub patch was re-fingerprinted against the 6.0.9 bytecode and confirmed on-device. (Upstream's own Team Room voice is gated behind XiaoJi's paid cloud "Instant Play" service, so it never unlocks on these builds — BannerHub's WebRTC overlay stays the working in-game voice.)
🛠️ Offline component picker fixed — first build it actually works
The offline component picker now correctly lists your already-downloaded components when you're offline. A long-standing result-wrapper bug (present on earlier bases) was caught and cured in this rebase. PC-accurate vibration (sustained dual-motor + live intensity scaling), the full per-game menu chain, and the analytics-redirect (net-verified live: zero telemetry egress) are all re-pinned and device-verified.
✅ Everything carries over
The in-game Steam chat + voice-call overlay (including voice room codes, cross-compatible with BannerHub 3.8.0), GOG integration, the Explore homepage, the in-game performance overlay (root), recording-compatible audio, portrait PC-settings and the full privacy-hardening stack all ship forward unchanged. Same banner.hub package and stable keystore as the -608 line — installs straight over it.
🔊 Voice room codes — cross-play with BannerHub 3.8.0
The Steam overlay's 🔊 screen can now create or join a voice room by a short code — no Steam friends and no Steam login required. Create mints a 5-character code (or type someone else's to join), and the call box drops straight into the room showing the room code and who's in it, upgrading from a "waiting for others to join…" state to a live call timer the moment someone connects. A BannerHub v6 user and a BannerHub 3.8.0 user can share the same room and talk, in either direction — room codes use the same format on both builds, and it's device-confirmed both ways across different networks. It rides the same WebRTC mesh + Cloudflare Realtime TURN as the 1:1 / party calls; your Steam-native friend & party calls are unchanged.
Same banner.hub package and stable keystore as 1.3.0-608 — installs straight over it.
🎧 In-game Steam voice calls (1:1 & party)
The Steam overlay can now place real voice calls while you're in a game — no root, no extra app. Tap a friend's 🎙 to ring them; the call rides on WebRTC served from the BannerHub Cloudflare Worker (a real HTTPS origin, so the mic actually opens) with Cloudflare Realtime TURN for cross-network / strict-NAT peers — device-confirmed across different ISPs. A draggable call window (independent of the chat panel) collapses to a compact 🎧 N in call tile with a running timer, mute and hang-up; incoming calls pop an Answer / Ignore box labelled with the caller's name (30 s auto-dismiss) with full ringtone settings — synth tones, bundled ringtones, your own MP3 or silent, plus volume, preview and vibrate. Party calls add more friends to a connected call over a peer-to-peer mesh with a live roster, and a 🔗 share-call link lets anyone with a browser (a PC, another emulator, a non-BannerHub device) join as a guest. The collapsed pill shows a green 🎧 party-count badge and a blue unread-message count.
💬 Steam chat overlay v2
The friends/chat overlay (still no root) gains a 3-tab picker (Unicode emoji, Steam emoticons, stickers), send image (hosted via the BannerHub Worker so it sidesteps Steam's flaky web-upload), game-invite cards (rendered from BBCode invites with live / expired state), typing indicators, auto-scroll, and a collapsible pill-opacity slider.
Same banner.hub package and stable keystore as the 1.2.0-608 / 1.1.0-608 line — installs straight over it.
🔒 Firebase Crashlytics fully disabled
Verifying the privacy patches with a live DNS/SNI capture revealed that GameHub's own startup code was re-enabling Crashlytics data collection at runtime, silently overriding the manifest kill-switch — so Crashlytics was still phoning home to firebase-settings.crashlytics.com, firebaselogging-pa.googleapis.com (the Firebase "Firelog" transport) and firebaseinstallations.googleapis.com. The new Disable Firebase auto-init patch stops that runtime re-enable while leaving FirebaseApp initialized (so the app launches normally), so the manifest "off" finally holds. Device-confirmed: those three Firebase hosts no longer appear in the app's traffic, and the Firebase-driven share of play.googleapis.com drops too. Firebase Analytics was already dead via a hard manifest flag — so this completes the Firebase shutoff. See the privacy page.
Same banner.hub package and stable keystore as the 1.1.0-608 / 1.0.0-608 line — installs straight over it.
💬 In-game Steam friends & chat overlay
A new draggable 💬 pill over your game opens your full Steam friends list — avatars, online / in-game presence, and unread badges — and lets you read and reply to chats inline without leaving the game. Conversations render like the native client: left/right message bubbles, sender names, timestamps, inline images and live incoming messages; opening a chat marks it read and clears its badge. Pin it anywhere down the right edge and fade it with a per-pill opacity slider. Just needs you signed into Steam in GameHub — no root required.
🧹 Banner Tools → one "In-game Overlays" menu
The Steam-chat and performance overlays now share a single In-game Overlays tile that opens for everyone. The Steam-chat toggle is free; the performance toggle is root-gated in place (with a tap-to-grant prompt) instead of locking the whole tile — so non-root users get the chat overlay without hitting a root wall.
Same banner.hub package and stable keystore as the 1.0.0-608 line — installs straight over it.
🧱 Rebased onto GameHub 6.0.8
6.0.8 is a tiny upstream bump — the only native change is libsteamkit_core.so (Steam game-library management, plus the GPU-spoof PC-settings keys moved to a …V2 namespace); no Wine, renderer, DXVK or Turnip changes. But XiaoJi's R8 pass reshuffled the obfuscated class/method map again, so all 41 patches were re-fingerprinted against the 6.0.8 bytecode and the build is green end-to-end.
✅ Device-verified on 6.0.8
Re-tested on device after the rebase: the Banner Tools menu + grid, the custom catalog API, local-game import into the library, and PC-accurate controller vibration (per-game mode + live intensity scaling) all confirmed working.
✅ Everything carried forward
GOG integration, the BannerHub Explore homepage, PC-accurate vibration, the in-game performance overlay (root), recording-compatible audio, the offline component picker and the full privacy-hardening stack all ship forward from the 607 line unchanged. As on 6.0.7 there's still no separate Lite build, and the GPU Spoof & Legacy renderer tiles stay retired. Same keystore as the 607/604 lines — installs in place.
🧱 Rebased onto GameHub 6.0.7
First stable on the 6.0.7 base (versionCode 118). Every BannerHub v6 patch was re-fingerprinted against the 6.0.7 bytecode — R8 reshuffle, the :wine process folded into the main process, the Compose menu rewrite — and device-verified end-to-end. Same keystore as the 6.0.4 line, so it installs in place over the 604 series.
🪶 Smaller — and no separate Lite
XiaoJi's own −46% size pass keeps each variant to ~47 MB — already smaller than the old 6.0.4 Lite, so there's no separate Lite build anymore; the concept is absorbed into every variant.
⚠️ GPU Spoof & the Legacy renderer toggle removed
Both are now 6.0.4-only. 6.0.7 ships its own native GPU spoof (so the patch is redundant), and its rewritten Vulkan X-server is incompatible with the old GLES2 libxserver.so / libwinemu.so pair (device-confirmed SIGABRT), so the renderer patches stay pinned to 6.0.4.
✅ Everything else carries over
GOG integration, the BannerHub Explore homepage, PC-accurate vibration, the in-game performance overlay (root), recording-compatible audio, the offline component picker and the full privacy-hardening stack all ship forward unchanged.
- In-game performance overlay (root) — a draggable edge pill slides out CPU-governor → performance and Adreno min-clock boost toggles, with an opacity slider; off by default and auto-reverts on exit.
- Banner Tools moved into the Explorer screen as strictly per-game options.
- Redesigned Explore homepage — wordmark hero, a What's-New article that auto-syncs from release notes, live JSON override, still fully offline-capable.
- In-app update check — installed-vs-latest version readout with an amber update banner and settings cog.
- GOG "Set .exe" / "Copy to Downloads" doubled-directory path fix.
- GOG integration — log in, browse your owned library, download & install GOG games in-app; they launch like any other PC game.
- BannerHub Explore screen (offline, GOG card) replaces the stock discovery feed.
- Recording-compatible audio toggle — routes PulseAudio through the mixer so screen recorders capture in-game sound.
- Imported / Epic / GOG games now launch from Beacon, ES-DE, RetroHRAI, NeoStation & Daijishou.
- New Banner Tools menu groups PC Vibration, GPU Spoof, Renderer & Show Game ID.
- External launcher integration (Beacon device-confirmed; ES-DE/Daijishou shared impl).
- Show Game ID menu row + a View All Games dialog (copy any game's id); proper per-row menu icons; portrait layout for the PC Vibration dialog. (PR #6, TideGear)
- Strict per-game settings store (explicit Save/Cancel, crosses the
:wineprocess boundary). - GPU Spoof and Legacy renderer (GLES2) toggle, both per-game.
- Sustained-rumble launch fix and an offline component picker for every per-game picker.
- Preload-free vibration — defeats SDL2's auto-stop via an on-disk
winebus.sopatch, fixing the x86_64 / Box64 launch crash.
- Privacy-hardening stack — 8 functional patches killing Firebase Analytics & Crashlytics, Mob Push, Ad-ID, OTA, heartbeat, GMS Measurement and the analytics
/eventsendpoints, plus a public PRIVACY.md disclosure. - Show PC Game Settings row for every game type.
- First v6 stable — PC-accurate XInput rumble, a per-game PC Vibration Settings menu row, the BannerHub v6 visual rebrand, and a stable signing keystore enabling in-place updates.
Earlier bring-up builds (1.0.0-604 and the 6.0.0–6.0.2 pipelines) and all assets are on the GitHub releases page.
Reports & the GameHub 6.x master maps
The v6 work is the most heavily documented — including the GameHub bytecode maps and reports that track the base codebase:
- GameHub 6.0.0 Master Map — the base-codebase map the v6 work started from.
- GameHub bytecode maps & reports — letter maps and design docs for the current base.
- Progress log — running dev journal.
- PRIVACY.md — the full telemetry kill/leave disclosure.
- Front-end launcher setup for Beacon / ES-DE / RetroHRAI / NeoStation.
- GOG library tab design & all releases.
Full lineage & contributor credits are on the Credits page.
Get BannerHub v6
9 variants ship side-by-side on the GameHub 6.3.1 base. Curious what "privacy-hardened" really means? Read the honest breakdown.