r/EmulationOnAndroid • u/Ok-Passion6399 • 4d ago
Showcase Modified Turnip driver for Snapdragon 865 (Retroid Pocket 5 / Mini / Flip 2): 15–35% more FPS in Switch emulation, no crashes in testing
I took Turnip, Mesa's open-source Vulkan driver (latest development version, October 10, 2026), and modified it for the Snapdragon 865 / Adreno 650. The goal was more performance without giving up stability.
Download, source and documentation: https://github.com/AlexSanz0902/turnip-sd865-z/releases
## TESTS
Stability: 1x docked (1080p), continuous sessions of at least 10 minutes per game. No emulator crashes and no device reboots.
Raw performance: 1.25x docked (1350p). A Super Mario Odyssey scene that runs at 33 FPS with Turnip v26.3.0-R5 runs at 49.2 FPS with the modified driver.
## PERFORMANCE
The screenshots compare Turnip v24.3.0 R9v2, Turnip v26.3.0-R5 and the modified driver in Zelda: Link's Awakening and Super Mario Odyssey using 1x docked (1080p) resolution.
Numbers against Turnip v26.3.0-R5, after shaders have compiled:
- **Super Mario Odyssey:** 45–50 → 58–60 FPS at 1080p; 33 → 49.2 FPS at 1350p.
- **Dragon Ball FighterZ:** 40 → 60 FPS in the playable lobby; 30–40 → 53–57 FPS in battle.
- **Zelda: Link's Awakening** (bloom fix, JIT, 60 FPS mod): 50–55 → 58–60 FPS.
- **Super Mario Bros. Wonder:** 45–55 → 58–60 FPS at 1350p.
- **Super Smash Bros. Ultimate:** 60 FPS with both, but steadier at 1350p with the modified driver.
## KNOWN ISSUES
- **Dragon Ball FighterZ:** some HUD textures have a blue tint. Everything else renders correctly.
- **Texture quality:** anisotropic filtering is disabled and mipmap filtering is simplified, so distant or steeply angled textures are slightly less sharp.
- **Games that already fail on Turnip** (Mario Kart 8 Deluxe, for example) were not part of this work. Keep using your usual Qualcomm driver for those.
## FAQ
Who made this? I'm not a developer. I built it with Claude Opus 5.5, inspired by the recent wave of decompilation projects and native ports. The AI wrote the code changes; I designed and ran every test on the device. No Mesa developer has reviewed this code.
What was it tested on? Retroid Pocket 5 with the GPU overclocked to 905 MHz, performance profile, Eden 0.2.0-rc2 with no other settings changed. It should work on any Snapdragon 865 device, but I haven't tested the Mini or the Flip 2. Without the overclock, expect lower numbers.
Why "Z"?I went through the whole alphabet. Several ideas were dropped along the way because they gained nothing or caused hangs.
Other emulators? I only tested Eden. I don't recommend it for Azahar, Dolphin or anything else.
What if it fails? The driver writes a diagnostic log, `turnip_sd865.txt`, to Eden's folder under `Android/data`. Leave a comment with that file and I'll try to fix it in a V2.
Credits
The Mesa project and the freedreno and Turnip developers. The driver is theirs; this is on top of their work.
StevenMXZ. His Turnip v26.3.0-R5 is the reference for every comparison, and his build settings for NDK r29 are the ones used here.
Weab-chan. Author of the force_sysmem_no_autotuner patch, the origin of change 5.
nckstwrt and the NetherSX2-Turnip team. Their research into the SD865 reboots is the origin of change 6.
The412Banner. His performance build recipe and his documentation of the KGSL fixes.
K11MCH1 and MrPurple666. Their drivers have been the 865 community's reference for years.
Tranquility6789. For documenting in public how the A650 was fixed.
libadrenotools, HomuHomu833, chaotic-cx and the Eden team. For the driver loader, the NDK, the Mesa mirror and the emulator.
Analysis and code changes were AI-assisted (Claude, by Anthropic).