Download GPU Driver for ArmSX3
If ArmSX3 closes itself the moment a game starts, the driver is the first thing to change — not the settings. These are Vulkan drivers for Adreno GPUs, loaded from inside the app.
Adreno only. If your phone runs a Mali GPU — most Exynos, Dimensity and Tensor devices — none of these packages will load, and there is no equivalent for that hardware.
Which driver for which chip
Pick by the GPU inside your chip, not by the phone. Everything below comes from K11MCH1's AdrenoToolsDrivers, which is also the repository ArmSX3 itself points at by default when you use the driver downloader built into the app.
| Chip | Driver | Download |
|---|---|---|
| Snapdragon 8 Elite Gen 5 Adreno 840 | Qualcomm v849 Turnip a8xx 26.0.0 R8 · alternative Turnip on Adreno 8xx is beta and known to render badly outside OpenGL, so the Qualcomm driver comes first here. | |
| Snapdragon 8 Elite Adreno 830 | Qualcomm v842.6 Turnip a8xx 26.0.0 R8 · alternative Same beta caveat for the Turnip a8xx build. | |
| Snapdragon 8 Gen 3 Adreno 750 | Turnip 26.0.0 R8 Qualcomm v837 · alternative | |
| Snapdragon 8s Gen 3 Adreno 735 | Turnip Gmem 26.0.0 R8 Support is a hack, not upstream. Use the Gmem build. | |
| Snapdragon 8 Gen 2 Adreno 740 | Turnip 26.0.0 R8 Do not use the Qualcomm v744, v757, v777 or v786 packages here: they load, then take the Android interface down with them while a game runs. | |
| Snapdragon 8 Gen 1 · 8+ Gen 1 Adreno 730 | Turnip 26.0.0 R8 Qualcomm v615.77 · alternative | |
| Snapdragon 7+ Gen 3 Adreno 732 | Turnip Gmem 26.0.0 R8 Support is a hack, not upstream. Use the Gmem build. | |
| Snapdragon 7+ Gen 2 Adreno 725 | Turnip 26.0.0 R8 Qualcomm v615.77 · alternative Upstream, unlike its 710/720/732/735 neighbours — the plain build is right here. | |
| Snapdragon 7 Gen 3 Adreno 720 | Turnip Gmem 26.0.0 R8 Support is a hack, not upstream. Use the Gmem build. | |
| Snapdragon 6 Gen 3 · 6 Gen 1 Adreno 710 | Turnip Gmem 26.0.0 R8 Support is a hack, not upstream. Use the Gmem build. | |
| Snapdragon 888 · 888+ Adreno 660 | Turnip 26.0.0 R8 Qualcomm v615.77 · alternative | |
| Snapdragon 870 · 865 Adreno 650 | Turnip 26.0.0 R8 Qualcomm v615.77 · alternative | |
| Snapdragon 860 · 855 Adreno 640 | Turnip 26.0.0 R8 Qualcomm v615.77 · alternative Below the realistic floor for a PS3 emulator, but the driver is the same one. | |
| Snapdragon 782G · 780G · 778G Adreno 642 · 642L | Turnip 26.0.0 R8 Qualcomm v615.77 · alternative | |
| Snapdragon 768G · 765G Adreno 620 | Turnip 26.0.0 R8 Qualcomm v615.77 · alternative | |
| Snapdragon 732G · 730G · 720G Adreno 618 | Turnip 26.0.0 R8 Qualcomm v615.77 · alternative | |
| Snapdragon 695 · 690 · 750G · 4 Gen 1 · 480 Adreno 619 · 619L | Turnip 26.0.0 R8 Qualcomm v615.77 · alternative The driver loads, but this is entry-level hardware and PS3 emulation will not be playable on it. | |
| Snapdragon 4 Gen 2 · 4s Gen 2 Adreno 613 | Turnip 26.0.0 R8 Qualcomm v615.77 · alternative The driver loads, but this is entry-level hardware and PS3 emulation will not be playable on it. | |
| Snapdragon 678 · 675 Adreno 612 | Turnip 26.0.0 R8 Qualcomm v615.77 · alternative The driver loads, but this is entry-level hardware and PS3 emulation will not be playable on it. | |
| Snapdragon 685 · 680 · 665 · 662 · 460 Adreno 610 | Turnip 26.0.0 R8 Qualcomm v615.77 · alternative The driver loads, but this is entry-level hardware and PS3 emulation will not be playable on it. |
Turnip 26.0.0 R8 was published 8 Jan 2026 — release notes. Versions and links on this page are read from the driver repository, not typed in, so they follow whatever it publishes next.
Turnip or Qualcomm?
Two different things share this page, and they are not two versions of the same product.
- Turnip is the open-source Vulkan driver for Adreno, built from Mesa. It is the one that gets fixed when an emulator reports a bug, and ArmSX3's own release notes name it repeatedly — the ZCULL deadlock fix in 0.7 and the half-precision shader fix in 0.9.2 were both Turnip-specific. For Adreno 640 through 750 it is the default answer.
- Qualcomm packages are the proprietary driver, lifted out of the firmware of some other device — a Quest 3, a Galaxy S23 Ultra, an iQOO 15. They are not built for emulators and nobody fixes them for you, but on the newest Adreno 8xx hardware they are currently the more reliable of the two.
There is one trap worth spelling out. Several Qualcomm packages — v744, v757, v777 and v786 — load happily on an Adreno 740 and then take the whole Android interface down while a game is running. Their own release notes say so. If you are on a Snapdragon 8 Gen 2, stay on Turnip.
Gmem, Sysmem and the plain build
A Turnip release ships the same driver more than once, with different memory behaviour:
- Plain — what most Adreno GPUs should use, from the 610 in a Snapdragon 680 up to the 750 in an 8 Gen 3. Every Turnip release states that support for the whole a6xx family is implied, and the Adreno 725 in the 7+ Gen 2 is upstream too.
- Gmem — forces the tiled path. Adreno 710, 720, 732 and 735 are not supported by Mesa upstream; they run through a patch the driver's author maintains by hand, and that patch expects the Gmem build. Support for these has been removed and restored more than once, so a revision that works is worth keeping a copy of.
- Sysmem — forces the opposite path. Worth trying only if the other two render incorrectly on your device.
How to install it in ArmSX3
-
Download the zip that matches your chip.
Keep it zipped. ArmSX3 reads the package as it comes; unpacking it yourself gives you a folder the app will not accept.
-
Open the driver screen in ArmSX3.
It lives in the app's settings, under the GPU driver section — the same screen that lists Default as the current driver on a fresh install.
-
Add the package.
Choose the option to install a driver and point the Android file picker at the zip you downloaded. You can also skip the download entirely and use the app's own import list, which reads the same GitHub repository this page does.
-
Select it, then restart the emulator.
Installing does not switch to it. Pick the new driver from the list, and let the app restart — a driver change is applied when a session starts, not while one is running.
-
Boot a game and watch the first minute.
The shader cache is rebuilt after a driver change, so the first launch is slower than usual. That is expected, and it happens once per driver.
If nothing loads and the app says the driver could not be applied, your device is one where Android blocks custom driver loading altogether. That is a platform restriction, not a broken download, and no package on this page works around it.
A driver is not a fix for everything
Swapping the driver solves crashes and rendering faults that come from the GPU side. It does not make a Snapdragon into a PlayStation 3. ArmSX3 is an early port of RPCS3 to arm64, a handful of titles reach gameplay, and most of the library has never been tried — a game that runs at eight frames a second with the stock driver will not run at sixty with Turnip.
You also still need the console's system software. The driver and PS3UPDAT.PUP fix different problems, and skipping the firmware stops every game at a Missing Firmware dialog no matter which driver is loaded.
Frequently Asked Questions
This site is a community mirror. The drivers are built and published by K11MCH1 and the Mesa project; nothing on this page is hosted here, and every link points at the original GitHub release.