Affiliate disclosure: This guide contains affiliate links. As an Amazon Associate, we earn from qualifying purchases at no extra cost to you. Learn more.
2026-09-09 · News and analysis
Affiliate disclosure: This guide contains affiliate links. As an Amazon Associate, we earn from qualifying purchases at no extra cost to you. Learn more.
ARMSX2 released version 2.6.9 today, and the release notes open with a line that should get the attention of anyone reading this site: a month of Graphics Synthesizer work aimed at ARM handhelds.
Not aimed at phones. Not aimed at ARM laptops. Handhelds.
The proof is in what they benchmarked on. Every performance number in the 2.6.9 notes comes from two chips: the Snapdragon 865 with Adreno 650, and the Dimensity 8300 with Mali-G615. The 865 is the Retroid Pocket 5 and the Pocket Mini. The Dimensity 8300 is the Anbernic RG477M and the RG557. Those are not chips you pick at random. That is a development team testing on the hardware this audience actually owns.
This is also the third ARMSX2 release in ten days. 2.6.7 landed August 31, 2.6.8 on September 4, and now 2.6.9. That pace is worth talking about on its own.
The Short Version
- Snapdragon 865 (Adreno 650): Xenosaga frame times down 38%, most titles improved 6 to 27%, and 20 of 22 test games now hit their frame budget
- Dimensity 8300 (Mali-G615): Xenosaga frame times down 84%, and all 22 test games now fit worst-case budgets, up from 16 of 22
- Vulkan is now automatic on Dimensity 8300 with in-tile framebuffer fetch enabled
- 128 MiB of memory freed on the Snapdragon 865 by halving the Vulkan stream rings
- Shader cache version bumped 108 to 114, so your first launch after updating will be slow
- Fixes: Jak X save-screen softlock, Ridge Racer V reflections, God of War II haze, Syphon Filter half-pixel offset
- New: ASTC KTX and tar.zstd texture pack support
What Actually Got Faster
The headline number is Xenosaga, and it is worth explaining why that game and not something more famous.
Xenosaga is a stress test. It is one of the heaviest things on the PS2 in terms of what it asks the Graphics Synthesizer to do, and it is the kind of title that separates a chip that technically runs PS2 from a chip that runs PS2 comfortably. If your optimisation work moves Xenosaga, it moves everything lighter as well.
On the Snapdragon 865, frame times dropped 38%. On the Dimensity 8300, they dropped 84%. The rest of the library moved a more ordinary 6 to 27%.
The counts matter more than the percentages, though. Before this release, 16 of the project's 22 test games fit inside their worst-case frame budget on the Dimensity 8300. After it, all 22 do. On the Snapdragon 865 the number is now 20 of 22.
"Fits the frame budget" is the metric that actually corresponds to your experience. It means the emulator finishes drawing each frame with time to spare, so the game holds its target rate instead of stuttering when the scene gets busy. Going from 16 to 22 out of 22 is the difference between a device that mostly runs PS2 and a device that runs PS2.
The Per-Device Vulkan Work Is the Interesting Part
Buried under the benchmark numbers is something more unusual. ARMSX2 2.6.9 introduces per-device Vulkan policy, meaning the emulator now makes different decisions depending on which GPU it finds.
Three examples from the notes:
Dimensity 8300 and Mali-G615 now auto-select Vulkan with in-tile framebuffer fetch turned on. Mali GPUs are tile-based, meaning they render the screen in small chunks held in fast on-chip memory. In-tile framebuffer fetch lets the emulator read what it already drew in that tile without a round trip to main memory, which is exactly the kind of thing PS2 blending effects need constantly.
Adreno stencil kill is now narrowed to Turnip drivers below version 26.2, rather than applied broadly. This is a workaround being retired as the drivers improve.
Adreno 610 gets cached stream-ring memory. The 610 is a low-end GPU found in cheaper Android handhelds, and this is the project doing work for hardware that will never run PS2 well, which is a decent signal about who they are building for.
There is also a straightforward memory win. Vulkan stream rings were halved, freeing 128 MiB of resident memory on the Snapdragon 865. On a handheld with 8GB shared between the OS and everything else, 128 MiB back is real.
One Thing to Know Before You Update
The shader cache version went from 108 to 114.
That means your existing compiled shaders are invalid and the emulator has to rebuild them. Practically: the first time you launch a game after updating, it will stutter while it compiles, and it may do so for a while on a slower chip. This is normal and it is a one-time cost per game.
Do not benchmark ARMSX2 immediately after updating and conclude it got slower. Play through a level first, let the cache rebuild, then judge it.
Game Fixes Worth Naming
Four specific fixes in 2.6.9:
- Jak X no longer softlocks on the "Saving Data" screen
- Ridge Racer V car reflections render correctly
- God of War II full-screen haze is now blended by destination alpha, and the project recommends high blending accuracy with AA1 enabled for this one
- Syphon Filter: Logan's Shadow half-pixel offset corrected
The two releases just before this one added more. 2.6.8 fixed Sly 3 rendering white, added a rounding mode for Mortal Kombat: Shaolin Monks, corrected blending in Tales of the Abyss and Metal Gear Solid 2 and 3, and got DualSense and DualShock 4 rumble working over USB. 2.6.7 added a fourth VU clamping mode called Exact, game categories for library organisation, and per-slot save state hotkeys.
That is a lot of ground covered in ten days.
The Texture Pack Story
2.6.9 adds ASTC KTX and tar.zstd texture pack support, building on native ASTC support added in 2.6.7.
The number from that earlier release makes the case better than any explanation: the God of War II texture pack went from 4.5 GB to 538 MB.
ASTC is a texture compression format that mobile GPUs decode in hardware. Storing packs in it rather than as raw images means they take roughly a tenth of the space and the GPU reads them directly. On a handheld where you are juggling a microSD card full of games, an 8x reduction in texture pack size changes whether you bother with them at all.
Where ARMSX2 Sits Now
We have recommended NetherSX2 as the default Android PS2 emulator for a while, and our PS2 emulator guide still reflects that. It is time to be clearer about the landscape.
| Emulator | Platform | Status | Best for |
|---|---|---|---|
| NetherSX2 | Android | Maintained community fork | Most people, most devices |
| ARMSX2 | Android, Linux | Actively developed, fast release cadence | Handheld owners who want current performance work |
| AetherSX2 | Android | Legacy, developer left in 2023 | Nobody new |
| PCSX2 | Windows | The definitive desktop version | PC handhelds |
The honest read: NetherSX2 is still the safe default, and if your games run fine you have no reason to move. But ARMSX2 is where the development is actually happening. It is a native ARM64 recompiler rebased on the PCSX2 2.7 core rather than a fork of an abandoned project, and it is shipping meaningful ARM handheld optimisation every few days.
The gap that used to justify "use NetherSX2, ARMSX2 is early" is closing quickly. If you own a Snapdragon 865 or Dimensity 8300 handheld, 2.6.9 is worth trying against your current setup on a game you know well.
The project also notes that RetroArch buildbot integration is underway for Android and Linux distribution, which would make it considerably easier to get.
Which Handhelds Benefit Most
Directly, based on what was benchmarked:
- Snapdragon 865 devices: Retroid Pocket 5, Retroid Pocket Mini
- Dimensity 8300 devices: Anbernic RG477M, Anbernic RG557
Indirectly, anything with an Adreno or Mali GPU in the same families, which covers most of the Android handheld market. Faster chips like the Snapdragon 8 Gen 2 in the Retroid Pocket 6 and AYN Odin 2 Portal Pro were already comfortable with PS2, so the gains matter less there, though the game-specific fixes apply everywhere.
The devices this does not help are the ones that were never going to run PS2. Rockchip RK3566 and Allwinner H700 handhelds are not in this conversation regardless of emulator. Our best handhelds for PS2 emulation guide covers where the real floor sits.
Should You Switch?
Switch to ARMSX2 if you own a Snapdragon 865 or Dimensity 8300 handheld and there are PS2 games that have never quite run right for you. That is precisely the hardware this release targeted, and the Xenosaga-class heavy titles are where you would notice.
Stay on NetherSX2 if your library already runs well. There is no prize for chasing versions, and NetherSX2 remains stable and well understood. Revisit in a few months.
Use PCSX2 if you are on a Windows handheld. Nothing on Android competes with the desktop version for compatibility and upscaling.
Upgrade your hardware instead if you are running PS2 on a Unisoc T820 or weaker. No emulator update fixes a chip that is short on headroom, and the 865 class is the realistic entry point.
One legal note, as always. ARMSX2 is emulator software and it is entirely legal. The PS2 BIOS it requires is not distributed with it, and the lawful way to obtain one is to dump it from a PlayStation 2 you own. We do not link to BIOS files. Our emulation legal status guide covers where the lines are.
Frequently Asked Questions
What is ARMSX2?
ARMSX2 is a PlayStation 2 emulator built specifically for ARM64 platforms, based on the PCSX2 codebase. Unlike AetherSX2 and its forks, it uses a native ARM64 recompiler rather than relying on translation, and it has been rebased onto the newer PCSX2 2.7 core.
What changed in ARMSX2 2.6.9?
A month of Graphics Synthesizer optimisation aimed at ARM handhelds. Frame times dropped 38% on Snapdragon 865 and 84% on Dimensity 8300 in the Xenosaga test case, with most titles improving 6 to 27%. It also added per-device Vulkan policy, ASTC KTX texture pack support, and fixes for Jak X, Ridge Racer V, God of War II and Syphon Filter: Logan's Shadow.
Is ARMSX2 better than NetherSX2 now?
For handheld owners, the gap has narrowed considerably. NetherSX2 remains the safer default because it is stable and widely understood, but ARMSX2 is where active development is happening and it is shipping handheld-specific optimisation every few days. If your games run well on NetherSX2, there is no urgency to move.
Why is ARMSX2 slow right after I update it?
Version 2.6.9 bumped the shader cache from version 108 to 114, which invalidates your existing compiled shaders. The emulator rebuilds them the first time you launch each game, which causes stutter. It is a one-time cost per game and performance returns to normal afterwards.
Which handhelds did ARMSX2 optimise for?
The 2.6.9 benchmarks were run on Snapdragon 865 with Adreno 650 and Dimensity 8300 with Mali-G615. Those chips are in the Retroid Pocket 5, the Retroid Pocket Mini, the Anbernic RG477M and the Anbernic RG557. Devices with related Adreno and Mali GPUs should see similar benefits.
Do I still need a PS2 BIOS file?
Yes. Every PS2 emulator requires a BIOS image, and it is not included with the emulator. The lawful route is dumping it from a PlayStation 2 console you own. We do not link to BIOS downloads.
What are ASTC texture packs and why do they matter?
ASTC is a texture compression format that mobile GPUs decode in hardware. Storing HD texture packs in it makes them roughly a tenth the size and lets the GPU read them directly. The God of War II pack dropped from 4.5 GB to 538 MB, which is the difference between a pack fitting on your microSD card and not.
Can I run ARMSX2 on a budget handheld?
Not usefully. PS2 emulation needs a Snapdragon 865 or Dimensity 8300 class chip at minimum. Rockchip RK3566 and Allwinner H700 devices found in sub-$100 handhelds cannot run PS2 acceptably on any emulator, and this release does not change that.
Related Reading
- Best PS2 Emulators for Retro Handhelds
- Best Handhelds for PS2 Emulation
- AetherSX2 Setup Guide for Android Retro Handhelds
- PS3 Emulation on Android Handhelds in 2026
- Most Demanding PS2 Games
- Best PS2 Games on a Handheld
- Emulation Legal Status in 2026
Figures reflect the ARMSX2 2.6.9 release notes as of 9 September 2026. The project is releasing frequently and these numbers will move.

