Causes
- The stock Qualcomm Vulkan driver lacks formats emulators need — the RP6's Adreno 740 ships with Qualcomm's Vulkan 1.3.x driver, and demanding emulators (notably Switch emulation) require formats it doesn't expose. The documented failure is games that load, apply patches, then die with
Render.Vulkan <Error> vulkan_device.cpp:749:GetSupportedFormat: Format=44 ... host hardware does not support itrepeated in the log — a driver capability gap, not a bad ROM. - A Turnip driver dropped into the emulator's folder is never registered — copying the Mesa Turnip driver zip into Eden's directory sets
driver_pathbut does not register the driver with the emulator. Eden silently falls back to Qualcomm with no error, so owners think they installed Turnip when they're still running the stock driver that was crashing. - Older Turnip builds fail to load on the Adreno 740 — not every Turnip release works on the RP6's GPU; older builds can silently fail to initialize, leaving you back on the stock driver. Only recent Turnip releases (Vulkan 1.4.x) are confirmed working on the Adreno 740.
- Beetle PSX's hardware renderer corrupts on the OpenGL driver — on the RP6, RetroArch's Beetle PSX core with the hardware renderer on the OpenGL video driver produces a corrupted, color-noise mess on screen. It renders correctly once RetroArch is switched to the Vulkan video driver, which is an Adreno-specific quirk rather than a broken core.
- An ADB-pushed config leaves the emulator unable to save settings — if
config.iniwas pushed to Eden over ADB, the file ends up owned by theshelluser and Eden can't write it, loggingConfig file could not be saved!. Settings you think you changed are silently discarded, which looks like a GPU/settings bug but is a file permission problem.
How to Fix
- Confirm the GPU driver is the culprit from the log — with USB debugging enabled, run
adb logcat -d | grep -i vulkanafter a crash (or check the emulator's log from its own menu). TheGetSupportedFormat: Format=44 ... host hardware does not support itsignature confirms the stock-driver format gap and tells you the Turnip install in step 2 is the fix. - Install a current Mesa Turnip driver through the emulator's UI — download a recent Turnip build for the Adreno 740 from the AdrenoToolsDrivers releases (github.com/K11MCH1/AdrenoToolsDrivers/releases), then in Eden go to Settings → Graphics → GPU Driver → Install and select the zip. Installing through the UI registers the driver — copying the zip into Eden's folder only sets
driver_pathand silently falls back to Qualcomm. - Use a recent Turnip build, and verify it actually loaded — if the first build you try still crashes, update to the newest Turnip release; older builds can silently fail on the Adreno 740. After installing, confirm the emulator reports the Turnip driver on its graphics settings screen — if it still says Qualcomm, the install didn't register and needs repeating through the UI.
- Fix RetroArch PS1 corruption by switching to the Vulkan driver — open RetroArch → Settings → Drivers → Video: vulkan, then set the Beetle PSX core option Renderer = hardware (it becomes
hardware_vkon the Vulkan driver) and raise internal resolution to 4x for a crisp, glitch-free, upscaled picture. The OpenGL hardware renderer is the corrupt one on Adreno; the Vulkan path renders correctly. - Repair Eden's config permissions — if you pushed
config.iniover ADB, runadb shell chmod 666 /sdcard/Android/data/org.eden.emulator/files/config.ini(or the app's actual config path) so Eden can write it. Cleanest fix: delete the pushed file and set all options through Eden's UI instead — no ADB-edited config, no permission problem. - Use the community-tuned settings and let the shader cache settle — for Switch emulation on the RP6, start with resolution 1x, Async shaders ON, GPU accuracy Normal, CPU accuracy Auto, and AA off. Early stutter is the shader cache filling, which settles over the first hour of play — change one setting at a time and give each change a real play session before judging it.
- If glitches persist with Turnip, isolate the app — test the same game in a different emulator (for example ARMSX2 instead of NetherSX2 for PS2, or a different Switch emulator build). If the corruption follows the game across emulators, re-dump or re-download the ROM; if it follows one emulator only, the emulator's own GPU settings need tuning rather than the driver.