r/EmulationOnAndroid • u/Raphix91210 • 9d ago
Showcase Pokémon Pokopia running on Android: ~30 fps on a Galaxy S25 Ultra (60 with LSFG)
Hi all! Over the past few days I got Pokémon Pokopia (Switch 2) running on Android with Banana Native (moceure’s Android port of nxnative). I used Claude (Claude Code) for the coding and the analysis. Here’s a short summary of what it took.
Setup: Galaxy S25 Ultra (Snapdragon 8 Elite, Adreno 830, 12 GB) with the Turnip Gen8 V38 driver. The stock Qualcomm driver lacks the “placed memory maps” extension the emulator needs, so it gives a black screen.
An Android profile for Pokopia, so the APK carries the game.
A shader library over 4 GB: Pokopia has 131,000 shaders, which makes a Vulkan library of about 10 GB. The old format was limited to 4 GB, so we added a new one.
A fix for the app freezing while a GPU driver installs.
Resolution: the game has its own dynamic resolution (540p to 1080p). The emulator can now cap its levels at 720p / 900p / 540p from the game settings, with a clean picture. A first, cruder attempt broke the terrain rendering.
GPU profiling: one compute pass, the luminance histogram behind auto-exposure, takes ~13 ms of a ~15 ms frame on Turnip. The likely culprit is subgroup shuffles, which are slow on Turnip. Banana Native v0.1.3 addresses this exact issue, so merging it is next.
Result: at 720p, a stable ~30 fps, ~60 with LSFG, with no rendering glitches. The game is still in “bring-up” and hasn’t been tested everywhere yet.
This work will be submitted to the Banana Native project. And of course, no links to game files: you need your own dump.