Download GPU Driver for ArmSX1 (Adreno / Turnip)

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.

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

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

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

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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 a PS1 BIOS. The driver and the BIOS solve different problems, and no driver lets a game start without a BIOS.

Frequently Asked Questions

Because the Vulkan driver that ships with your phone was written for games, not for an emulator that recompiles PlayStation 3 shaders at runtime. Stock Adreno drivers hit paths that games never reach, and the usual result is a crash on boot, a freeze partway into a game, or a black screen. Turnip is an open-source rewrite of the same Vulkan driver, and swapping it in is the single most effective fix for those crashes on Adreno hardware.

It depends on the Adreno GPU inside your chip, not on the phone brand. The table on this page maps Snapdragon chips to the driver package to use. Broadly: Adreno 610 through 750 take the regular Turnip build, Adreno 710, 720, 732 and 735 take the Gmem build, and Adreno 830 and 840 are better off on a Qualcomm package for now. The table runs down to the Snapdragon 4 series, but a driver does not change what a chip can do, and PS3 emulation is not playable on entry-level hardware.

No. These are Adreno drivers. Mali GPUs in Exynos, Dimensity and Tensor chips cannot load any of them, and ArmSX3 has to use whatever driver the system provides on those devices.

Inside the app, not in Android. Open Settings, find the GPU driver section, and either import a zip you downloaded or use the built-in list. ArmSX3 ships with the same driver repository this page draws from as its default download channel, so the packages listed here are the packages the app itself offers.

No, and this is worth knowing before you chase revisions. A newer Turnip revision sometimes regresses on a particular GPU, and support for Adreno 710 and 720 has been dropped and re-added more than once. If a new revision breaks a game that used to run, go back one and report it upstream.

They load only inside ArmSX3 and do not replace your system driver, so uninstalling the app or picking Default again undoes everything. The Adreno 8xx builds carry a real caveat from their author: one test left the default driver unable to recover until the phone was rebooted.

Yes. The driver and the firmware fix different problems. A driver stops the emulator crashing on your GPU; PS3UPDAT.PUP is what lets a game boot at all. You need both.

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.