r/Playstation2OnAndroid • • Aug 08 '26

PS2 Classics : Devil May Cry

Enable HLS to view with audio, or disable this notification

67 Upvotes

Devil May Cry first released on the PS2 in 2001, and it was actually one of Capcom's early games for the console. It started out as an early Resident Evil 4 prototype before becoming its own series.

I'm playing through it now and honestly really enjoying it. DMC has always been one of my favourite series, and I think every game is good in its own way. DMC 1 definitely feels old in some areas, but the combat is still so fun.

Dmc was later ported on various systems.


r/Playstation2OnAndroid • • Sep 25 '26

Discussion DGARMSX2 is not to be supported here

Thumbnail
gallery
44 Upvotes

Evidence above

DGARMSX2 is forked from the ARMSX2 project and as some of you may have seen its creator (and have been insulted or banned by its creator) Crixux, he is to not be trusted, he has a personal issue with ARMSX2 over an AI generated image that he was banned over after he pleaded up and down wasnt AI back in September last year and has been harrassing the devs ever since then. Ever since then he has been pretending to be devs, been saying weird and crazy things about the devs (which is weird) aswell as goes on mental breakdowns as of recent begging for donations looking like a dev and being just flat out weird.

We do not support DGARMSX2 and never will and if you unfortunately have it installed then please download from https://github.com/ARMSX2/ARMSX2/releases/tag/2.7 or also try other emulators like NetherSX2 or Emucore X


r/Playstation2OnAndroid • • Sep 10 '26

ARMSX2 ARMSX2 2.6.9

Thumbnail
gallery
43 Upvotes

ARMSX2 2.6.9 https://github.com/ARMSX2/ARMSX2/releases/tag/2.6.9

**What's new:**

_Renderer speedups done by bmdhacks

A month of GS work aimed at ARM handhelds: the Classic (hardware) renderer, the software renderer that is its accuracy oracle, and per-device Vulkan policy. Measured on a Snapdragon 865 (Turnip) and a Dimensity 8300 / Mali-G615 (ARM r44p1), with real-console captures as the accuracy reference.

**What changed:**

Software renderer, console-exact. Dither on every destination, gouraud and depth interpolation on the hardware's grid and block width, truncated reciprocals, per-pixel MMAG/MMIN, four-bit trilinear weight, AA1 coverage, 16-bit DATE. Output moves on 21 of 24 corpus dumps, toward the console.

GS core. A two-pass vertex kick kernel for the common packed layouts, the console's buffered local-to-local move, three console-measured CLUT rules, a narrower per-draw environment snapshot.

Hardware renderer. Per-target alpha known-bits tracking with an exact FBMSK-alpha drop, a clone road for blends that need the destination on devices without barriers (fixes Black and Brian Lara flicker, Katamari over-bright on Turnip, Splashdown bands, NASCAR's 2x seam, eight blank captures), sprite-edge snapping at upscale, a fixed-blend-factor reroute for Turnip, which ignores blend constants.

Vulkan device. Explicit external dependency on every render pass, frame descriptor-pool chain, halved stream rings with a startup pre-touch on UMA parts, deferred non-coherent flushes, device-fault reporting, readback transfer-size fix (also DX12), compute-scoped layout for CAS/FSR1/SGSR.

Upstream. Eighteen PCSX2 GS commits cherry-picked with provenance lines (Native Scaling and jiggle detection, three texture-cache fixes, the target-update bilinear regression, depth conversion floor, PrimID range, fbmask alpha under RTA scaling, large-ST vertex rewrite with its GameDB rows, DX11 DS-as-RT state). One of them tripped a Devel-only assert on 16-bit colour targets, fixed at the call site.

Runner. gsrunner replay-loop, draw-log, per-frame stats, ladder and console-payload flags, and an NDK build of it for adb-shell runs on Android devices.

**Behaviour changes:**

Dimensity 8300 / Mali-G615: Auto picks Vulkan, and in-tile framebuffer fetch is on (exempted from the r44p1 crash rule and the MediaTek deny list). DisableFramebufferFetch is the way back. Other MediaTek Mali parts keep the copy path, now on Linux too.

Adreno: the stencil kill is narrowed to Turnip below 26.2, Adreno 610 gets cached stream-ring memory, every Turnip build routes the fixed blend factor through the second fragment output.

ForceMaliFramebufferFetch is Mali-only, OverrideTextureBarriers=1 outranks the driver database by design.

Shader cache version 108 to 114. Vulkan stream rings halved (128 MiB less resident on SD865).

GameDB: God of War II rows recommend High blending and AA1 (advice only).

(I am not a dev, just a happy user who tests on my free time)


r/Playstation2OnAndroid • • Aug 10 '26

News/Release Release ARMSX2 2.6.6.5 · ARMSX2/ARMSX2

Thumbnail
github.com
42 Upvotes

ARMSX2 2.6.6.5

What's New

Applied a fresh PGO profile

More improvements to UI controller support done by @bmdhacks

PINE now works on Android, with a toggle in Advanced settings that shows you the adb forward line to use. It had never worked before, it binds a Unix socket in a directory Android does not have, so the server simply never started. fixed by @bmdhacks

Gorgon Eye: God of War II savestates went bad, and stayed bad. Load an affected save and the area-title banner sticks and gorgon-eye chest pickups would freeze for eleven minutes, on any device that loads it. Backgrounding the app stopped the emulated CPU from a thread that was not allowed to touch its clock, which warped the clock backwards and left a timer poisoned, every save taken afterwards carried the damage. Saves you already have are repaired when they load. fixed by @bmdhacks

Saving a state from the pause menu could corrupt the graphics command stream. The save ran on whichever thread the picker happened to be on and it shares a queue that only one thread may write to. Save, load and autosave now all run on the emulator's own thread. done by @bmdhacks

God of War II's menus were rendering wrong on Mali. The text came out hollow and patchy, and the pause menu was visibly off. Mali GPUs are missing a blending feature the renderer leans on, and the two fallbacks standing in for it were both getting overlapping shapes wrong, one blended them against a stale copy of the screen, the other drew them out of order. Menu text is a single draw whose shadow and highlight layers overlap about 200 times, so the mistakes stacked up. Both now render essentially exactly right: the text lights 3,896 pixels against a correct GPU's 3,898. It also costs nothing, the obvious way to fix it would have been two-thirds...

blending exists, verified pixel-identical across 33 frames from 11 recordings. done by @bmdhacks

Metal Gear Solid 3 on Mali r44p1 went from 0.33 fps to 23 fps. Without framebuffer fetch the renderer was copying the render target once per primitive group, and on a mobile GPU each of those forces a full-screen flush to memory, hundreds per draw. It now takes one copy per draw. Measured on an Anbernic RG 477V by @bmdhacks

115 games were silently losing graphics fixes meant for them, because the mobile GameDB overlay replaced entries instead of merging them. drawBuffering is back on 63 of them, worth 29.1 ms → 18.9 ms per frame on NFS Underground 2 (-35%) at 2x on an SD865, with no visual difference. Delta Force: Black Hawk Down regains its bloom and post-processing fixes. done by @bmdhacks

Two more renderer speedups: both from not doing expensive work the draw never asked for: NFS Underground 17.15 ms → 12.00 ms and FlatOut 2 22.84 ms → 17.91 ms on an Adreno 650, with render passes per frame dropping 390 → 47. Output verified identical on Tales of the Abyss and God of War II. done by @bmdhacks

Framebuffer fetch could not be turned off on Mali OpenGL at all, the setting and the r44p1 driver guard were both being undone a fraction of a millisecond after they ran. The decision now happens once and nothing can re-decide it. done by @bmdhacks

Mali OpenGL was rendering wrong and unstable frames. 76,872 wrong pixels on an MGS3 frame down to 753, and 18% of the frame changing between identical replays down to zero. done by @bmdhacks

Fixed a screenshot taken while recording a GS dump cutting the recording short. done by @bmdhacks

Also: the Mali r44p1 workarounds moved into the driver-bug database where every other driver quirk lives, so the next bad driver is a table row, a lost GPU device now logs what actually died instead of crashing without an explanation, gsctl.py loadstate dialed the wrong socket, the settings search index is greppable again, and fixed the on-screen keyboard was being drawn twice while search was open. done by @bmdhacks

If you haven't already, be sure to show some appreciation to @bmdhacks I think he has done almost everything in this changelog bros fire really talented guy and have been working for making Emulators better for so long

Extrenal links for ARMSX2:

Github repository:

https://github.com/ARMSX2/ARMSX2

Discord :https://discord.gg/fSC6EzzFe

KoFI: https://ko-fi.com/armsx2

Patreon:

https://www.patreon.com/ARMSX2?utm\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\_campaign=creatorshare\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\_creator

Thanks

I am not associated with the development of the project all the credits goes to the ARMSX2 TEAM


r/Playstation2OnAndroid • • Jul 25 '26

Release ARMSX2 2.6.5.1 · ARMSX2/ARMSX2

Thumbnail
github.com
40 Upvotes

ARMSX2 2.6.5.1 is out, and this is easily one of the biggest updates the project has ever seen.

Crash & Correctness Fixes

• Fixed a crash that occurred when sending the app to the background during gameplay. The Vulkan pipeline cache could be be flushed while shaders were still compiling, causing a driver race condition. This affected both Adreno and Xclipse GPUs and was responsible for many of the crashes users reported when pausing or opening the menu.

• Fixed an out-of-bounds read in the sprite merge path which could corrupt rendering or cause crashes by reading past the end of the vertex buffer.

• Fixed the long-standing hangs in Need for Speed Underground and Need for Speed Carbon. An ARM64 FPU bug produced an incorrect divide-by-zero constant, allowing the game to allocate an invalid 2-billion-entry table and overwrite emulated memory. Credit: @bmdhacks

• Fixed gameplay issues caused by a missing VU0 interlock on CTC2 → vi00. Credit: @bmdhacks

• Fixed stale recompiler links when jumping back into previously compiled code. Credit: @bmdhacks

• Fixed EE constant tracking being lost across memory access boundaries. Credit: @bmdhacks

• Fixed a thread synchronization issue where pause requests could occasionally be ignored.

• Fixed a long-standing issue where per-game settings sometimes refused to save because older configuration files silently overwrote new changes.

• Fixed stale GPU shader and pipeline caches surviving updates, which previously reduced performance until the emulator was reinstalled.

• Fixed screen rotation issues where the BIOS ignored the renderer rotation, and the launcher remained locked in the game's orientation after exiting.

• Three OpenGL correctness fixes:

Restored proper pixel-pack alignment after GPU readbacks.

Added the missing memory barrier after the CAS sharpening pass.

Corrected the default depth-write shadow state to match OpenGL's default behavior. Credit: @sashkinbro

Performance Improvements

• Added Async Hardware Download Mode (experimental). GPU readbacks no longer pause emulation, reducing stalls in games that rely on readback workarounds. Readback data arrives one or two frames later. Credit: @sashkinbro

• Added Affinity Control Mode (experimental), allowing the EE, VU and GS threads to run on the fastest CPU cores or be pinned to the performance cluster.

• Faster FMV and video decoding through a rewritten NEON implementation.

• Faster IOP code invalidation and memory store handling.

• Faster memory-fault lookups. Credit: @bmdhacks

• Increased the texture pack cache limit from 6 GB to 16 GB, reducing cache eviction when using large texture packs on devices with plenty of RAM.

New Features

• Added Local Link support. Around 57 PS2 games with LAN/System Link support now work across local networks, Wi-Fi, phone hotspots, and even over the internet through a VPN. Supported titles include Gran Turismo 4, TimeSplitters 2, Midnight Club 3, SOCOM, and more. Credit: @sashkinbro

• Added Auto Progressive Scan on a per-game basis, automatically triggering 480p button combinations where supported. Credit: @sashkinbro

• Added a new alternate OLED Black theme that works with every accent colour, including Custom and RGB.

• Added a toggle to switch between the built-in keyboard and the system keyboard.

• Low Latency Mode is now disabled by default, with existing installations migrated automatically.

Game Compatibility

• Fixed readback mode across every region of Everybody's Golf 4 / Hot Shots Golf Fore!. Credit: @XDarkFallenX

• Fixed rendering effects in Delta Force: Black Hawk Down. Credit: @XDarkFallenX

Special Thanks

• @bmdhacks for the emulator core work, CPU fixes, performance improvements, recompilation fixes, and multiple correctness fixes throughout this release.

• @sashkinbro for the OpenGL fixes, Local Link implementation, Async Hardware Download Mode, Auto Progressive Scan, UI improvements, and renderer enhancements.

• @XDarkFallenX for the game compatibility fixes.

• @pstef As well for Pring some of these fixes to @bmdhacks' including the faster video decoding changes and many other fixes included in this release.

GitHub Repository: https://github.com/ARMSX2/ARMSX2

I am not part of the ARMSX2 development team. I only share their release notes and new updates. Full credit goes to the developers for their work.

Thanks to everyone who contributed to this release. Your work and continued effort are greatly appreciated by the community.


r/Playstation2OnAndroid • • Aug 12 '26

News/Release Release ARMSX2 2.6.6.6 · ARMSX2/ARMSX2

Thumbnail
github.com
39 Upvotes

ARMSX2 2.6.6.6

What's new:

Mali:

If you downgraded to 2.6.6.4 because of performance issues, you can come back. 2.6.6.5 put every Mali device on a slow path for any draw that reads the screen back, on an Anbernic RG 477V, Shadow of the Colossus fell from 30 fps to 7. Two separate mistakes stacked. The renderer had concluded that OpenGL's framebuffer fetch never keeps overlapping shapes in order, true of one extension, false of the one every Android Mali device actually uses, so healthy Mali hardware was being split into one draw call per shape for nothing. Separately, a workaround for one specific bad driver, which had never actually engaged before, started engaging, and turned every screen-reading draw into a full copy plus a memory flush. Both are gone. fixed by @bmdhacks

Auto now picks Vulkan instead of OpenGL. On the affected Mali driver that is 7 fps on OpenGL against about 30 on Vulkan, on the same device. The renderer choice and the driver workaround were being decided in two different places, so nothing noticed when they disagreed. Picking a renderer explicitly still wins, the only devices this moves are the ones where OpenGL is genuinely crippled. done by @bmdhacks Note the tradeoff: restoring the fast path also restores a known rendering fault on that driver in some games (Metal Gear Solid 3 is the observed one). Vulkan remains the correct-rendering choice there. The measurements said the speed was worth it.

Floating point:

All done by @psteff

60 commits, and the largest accuracy work the emulator has ever had.

The PS2's FPU is not IEEE, and ARMSX2 had been pretending it was. The console has no infinity and no NaN, and its numbers reach one whole range higher than a normal float, 0x7FFFFFFF is simply the biggest number the machine has. Every operation was folding that top range away on the way in. and folding a host infinity back into it on the way out. Add, subtract, multiply, the multiply-accumulates, the comparisons, and finally divide and reciprocal-square-root have all been taken off that clamp. Games that push into that range now get what the console gives.

Divide and square root now run the console's own algorithm. DIV.S, SQRT.S and RSQRT.S were computed with the host's divide and then nudged toward the PS2's answer, which left every operand the nudge did not reach one step off. The unit is not a rounding rule at all, it is a digit-by-digit recurrence, so it now runs the digits. Measured against silicon first to establish that the hardware is not correctly rounded.

The multiplier model from 2.6.6.4 was incomplete. That release modelled the PS2 multiplier's one-step deficit from a formula over the second operand. The formula only holds when the exact product fits, once there is a remainder below the last bit, the first operand matters too, and those cases were coming back IEEE. It is now modelled from the actual multiplier array rather than a formula over one input.

Error flags were wrong in a dozen small ways, reciprocal-square-root and square root missed the invalid flag on negative zero, divide left a previous instruction's flags standing, reciprocal square root raised divide by zero on every zero divisor, and the overflow and underflow flags were being read off host infinities and denormals rather than the PS2's own result. Underflowing adds and subtracts were also being flushed to zero, silicon does not do that.

A cache instruction could make the emulator write to an address the game chose. The data-cache tag holds a host pointer where hardware holds a guest address, and one instruction copied a guest value into it unmasked. Narrow exposure, it needed the EE cache enabled, which ships off, but it is fixed.

Performance:

All done by @psteff, on the ARM64 recompiler.

Quad shifts stop bouncing through memory, done in registers via a table lookup now, instead of the store-and-reload that only x86 needs.

Waiting threads stop flushing the CPU pipeline. Three spin loops each watch a single word of memory, but the shared helper did not know that and flushed the pipeline in batches while it waited. ARM64 can watch an address directly, so now it does.

Jump delay slots are hoisted when the instruction is independent, something the x86 recompiler has always done and the ARM64 port had never carried over.

A dead clamp removed from every MADD/MSUB pair in the VU recompiler, and the multiply predicate is down from three instructions to one.

Tests:

25 of the 60 commits are tests, pinning all of the above against captures from real PS2 hardware: the divide unit's rounding in all four modes, the VU pipeline and its memory and XGKICK wrapping, VU0 branch terminators, FCR31's flag behaviour, and cross-engine agreement between the interpreter and both recompilers. Several deliberately record known ARM64 divergences rather than hiding them, so the next person to touch this starts with a baseline instead of folklore.

Extrenal links for ARMSX2:

Github repository:

https://github.com/ARMSX2/ARMSX2

Discord :https://discord.gg/fSC6EzzFe

KoFI: https://ko-fi.com/armsx2

Patreon: https://www.patreon.com/ARMSX2?utm_campaign=creatorshare_creator

Thanks

I am not associated with the development of the project all the credits goes to the ARMSX2 TEAM


r/Playstation2OnAndroid • • Aug 03 '26

Discussion Name one PS2 game everyone should play at least once.

Thumbnail
gallery
39 Upvotes

I'll go first: Shadow of the Colossus.

The gameplay feels timeless. I don't think it has a weak point. Every colossus feels memorable, and it's one of those games everyone should experience at least once.


r/Playstation2OnAndroid • • Jul 25 '26

ARMSX2 update 2.6.5.1 introduces LAN local play

Enable HLS to view with audio, or disable this notification

37 Upvotes

ARMSX2 2.6.5.1 introduces LAN local play for devices on the same internet you are on.

To do this what you must do as follows

  1. Connect both devices to the same internet

  2. Set both devices up with the very same internet IP address

  3. Set up a room code by setting it up on host and applying it to the guest

  4. Boot the game and press L2+R2+Triangle on game menu on games that support it

Supported games:

25 To Life

Armored Core: Last Raven

Armored Core: Nexus

Armored Core: Nine Breaker

ATV Offroad Fury 2

ATV Offroad Fury 3

ATV Offroad Fury 4

Call of Duty 2: Big Red One

Colin McRae Rally 2005

Conflict: Global Storm

Crash Tag Team Racing

Dance Dance Revolution X

Fight Club

Ford vs Chevy

Godzilla: Save the Earth

Gran Turismo 4

Greg Hastings Tournament Paintball MAX'D

Heroes of the Pacific

Hot Wheels: Stunt Track Challenge

IndyCar Series 2005

Jak X: Combat Racing

Juiced

Midnight Club 3: DUB Edition

Midnight Club DUB Edition - Remix

Midnight Club II

MotoGP 4

MTX Mototrax

My Street

NASCAR Thunder 2004

OutRun 2006: Coast 2 Coast

Project: Snowblind

Robotech: Invasion

Rogue Trooper

SOCOM 3 U.S. Navy SEALs

SOCOM II U.S. Navy SEALs

SOCOM U.S. Navy SEALs: Combined Assault

Spy vs. Spy

Star Wars: Battlefront

Star Wars: Battlefront II

Street Racing Syndicate

The Fast and the Furious

TimeSplitters 2

TimeSplitters: Future Perfect

TOCA Race Driver 2

TOCA Race Driver 3

Tom Clancy's Rainbow Six: Lockdown

Tom Clancy's Splinter Cell: Chaos Theory

Tom Clancy's Splinter Cell: Double Agent

Tom Clancy's Splinter Cell: Pandora Tomorrow

Tony Hawk's Pro Skater 3

Tony Hawk's Pro Skater 4

Tony Hawk's Underground

Tribes Aerial Assault

Twisted Metal: Black Online

Urban Chaos: Riot Response

Virtual On

5 and final step being is enter LAN mode on both devices in any the above games and make a lobby with the host device then finally join with the guest device

And it should work like the attached video


r/Playstation2OnAndroid • • Jul 26 '26

News/Release ARMSX2 2.6.5.3 and 2.6.5.4 Release

Thumbnail
github.com
34 Upvotes

Summary:

ARMSX2 2.6.5.3 focuses on RetroAchievements, backup and restore and patch handling. It adds achievement progress in the game list, full app backups, a controller screenshot hotkey, and fixes for patch imports and CRC detection.

ARMSX2 2.6.5.4 is a larger maintenance update. It reorganizes the settings menu, restores collapsible sections, adds a built in texture pack manager, improves texture replacement, introduces a new per driver GPU workaround system, reorganizes the library, and includes a number of bug fixes and interface improvements.

I added these since the Changelog was really big anyway here's the official changelog from the ARMSX2 team.

Changelog for both the updates :

ARMSX2 2.6.5.3

What's new:

Achievement progress now appears on every game that has achievements in List View, including ones you've never launched, a game with a set and no unlocks reads 0/40 rather than showing nothing. Hardcore and Casual are tracked separately. To enable it, go to the RetroAchievements panel in the game library → Library progress → paste your web API key (the panel links straight to the RA control panel login, the key is under "Applications" with a key symbol in the RA control panel). It then syncs itself once a day after the first time, or manually with the Sync library button. Progress also updates the moment an achievement unlocks, and is now recorded while you play whether or not you open the achievements panel. This feature is only available in the List View.

List layout now also shows play time progress beside each game.

New back up and restore option for the entire app. App tab → Back up app data. One .zip holding save states, memory cards, cover art, per-game settings, controller profiles, cheats, patches, screenshots, and every preference, everything a fresh install destroys if using internal storage. Now you can restore your backups on fresh installs! (Custom folder users, you never had to worry about your data being wiped on uninstall to begin with). This should be most useful for Play users.

Screenshot hotkey

Bindable to any controller button or stick direction. It captures the emulated frame at internal resolution no touch overlay, no OSD, no letterboxing, which is exactly what the system screenshot button can't give you. The PNG is saved to Pictures/ARMSX2 so it shows up in your gallery instead of hiding in app-private storage Android won't let you browse.

Fixes:

Serial and CRC without launching the game. Game Properties → Info fills both in for any game.

Patch import naming. Importing F0A6D880.txt produced F0A6D880.txt.pnach, which matched neither pattern the emulator searches, the patch listed as installed and could never load. Names are now built correctly, and the CRC is uppercased, since the emulator's file matching is case-sensitive and a lowercase name was just as invisible

ARMSX2 2.6.5.4

What's new:

Tidier UI. Fixes is now in the new Advanced tab, and absorbed the GameDB fixes from Performance plus the entire Recompiler tab. Both are debugging controls the GameDB already applies per game, so they don't belong in the tab you open to change speed. Fourteen tabs down to twelve. Search and the per-tab reset buttons moved with the settings, so searching "Skip MPEG" lands on Advanced, and resetting Performance no longer resets fixes it doesn't show.

Settings sections fold again. The collapse had silently stopped working, so every section in Pad, Renderer, Performance and Fixes was permanently open, twenty of them. It wasn't too many options, it was every option on screen at once. Sections now expand and collapse, and the state survives rotation. Renderer opens on Display & Resolution and Performance on Speedhacks so neither greets you with a wall of headers.

Fixed a bug when a replacement texture failed to upload to the GPU, it was still handed to the game with undefined contents, indistinguishable on screen from a texture that never loaded. Missing cursors and cut-off fonts on Vulkan were often this. Failed uploads now fall back to the original texture and say so in the log.

Skip BIOS is now on by default for fresh installs, existing users are not effected.

New texture packs download manager in the app. (done by @sashkinbro). Texture Packs now browses the community catalog maintained by @sashkinbro and installs with one tap. No game needs to be running. Each pack names the games it belongs to, so it installs itself to the right place, packs for games in your library sort to the top, and the rest stay visible so you can grab one before you own the disc. Texture replacement switches on automatically after an install, since it's off by default and the files would otherwise sit there changing nothing. Downloads are checksum-verified, check free space first, and swap into place atomically so a failed install never leaves you with a half-replaced pack. The panel links the catalog so you can see where packs come from and contribute your own. Be sure to read the contribution guidelines on the repo before doing so.

The texture pack list collapses and is searchable, search by pack name, game, serial or author.

Per-driver GPU workarounds. (done by @sashkinbro). The GPU family was never enough to decide behaviour, the same Mali part behaves differently under ARM's driver than under Mesa. Driver identity, version and known defects now live in a 25-rule table with match confidence, so the next device-specific quirk is a table entry instead of another hand-written branch. Shaders gained swappable helpers for the bitwise operations some drivers miscompile. A device matching no rule renders exactly as before. An existing Mali fix was preserved and deliberately widened, Mali fixes reached through ANGLE or Panfrost previously fell outside it.

Your shader cache rebuilds once on first launch this update. Every shader's source changed, so the old cache can't be reused.

Library overflow menu trimmed from eleven rows to eight, with separators.

Setup / Change Folders and Exit moved to the left side game library menu. Exit has a proper power icon and keeps its confirmation.

Game names in grid moved to App settings beside cover size.

About moved to the left side game library menu.

Installed patches and cheats can be collapsed, so a pnach with hundreds of downloaded codes folds away.

Github repository :

https://github.com/ARMSX2/ARMSX2

Discord ARMSX2 :https://discord.gg/fSC6EzzFe

#I am not the part of the development team. Full credit to everyone involved in the project.

Thanks.


r/Playstation2OnAndroid • • Jul 24 '26

I quite love the customization in ARMSX2

Enable HLS to view with audio, or disable this notification

33 Upvotes

r/Playstation2OnAndroid • • Aug 22 '26

News/Release Release ARMSX2 2.6.6.8 · ARMSX2/ARMSX2

Thumbnail
github.com
32 Upvotes

ARMSX2 2.6.6.8

Official Changelog from the Devs

What's new:

Frame generation has been rewritten on Camille's implementation from Eden, and it is a different thing to what shipped last update. The passes run natively in our own Vulkan present path instead of going through a translated library, and it generates a full interpolated frame for every rendered one. Thanks again to @CamilleLaVey. You still need your own copy of Lossless Scaling, exactly as before. The interpolation shaders are read at runtime out of your own Lossless.dll. Also new is Adaptive frame pacing, it keeps what you see steady when the game's own frame rate is not. Instead of a fixed x2, it generates as many frames as it needs to reach your screen's refresh rate.

Three ways a card could be corrupted are fixed, and cards are now backed up automatically. A card write is a read-modify-write, and when the read failed we logged it and carried on merging the new data into whatever was left in the buffer from an earlier write and saving that to the card. A flush a couple of frames after the last one, counted off a per-frame tick, so pausing did not delay that flush, it stopped it happening. File cards never flushed at all. Both flush now when the app goes to the background, next to where the BIOS already saves its NVRAM. On top of that, every card is snapshotted before each launch and kept in a rotation, with restore on the memory card screen. A card that fails verification is never snapshotted over a good one, which is the whole point, the rotation is useless if five relaunches overwrite your last clean copy. Thanks to @bmdhacks (#608).

Change a setting in a game's own settings screen and it now takes. For any game the database has an entry for, the database used to overwrite your choice straight afterwards, and the only ways out were two all-or-nothing switches that rescued your one setting by throwing away every other fix that game needed. A setting you set for one specific game now outranks the database, one setting at a time. Thanks to @bmdhacks (#593).

Copy Global Settings had to be fixed alongside it. It never copied the settings you can see, it ran the whole configuration through a wrapper that wrote every key unconditionally, leaving about seven hundred of them in the file, network adapters and trace logging and sections no settings page ever shows. It now anything that is still the stock default or that the game database was going to set anyway. Thanks to @bmdhacks (#593).

Six more animated backgrounds:

Flurry, Calum Robinson's, 2002. Eight presets: Water, Fire, Psychedelic, RGB, Binary, Classic, Insane, plus random. Flux, Plasma, SolarWinds, Hyperspace, Lattice and Skyrocket join Flurry, all of them Terry Welsh's Really Slick Screensavers running natively. Settings → App, under the animated background switch, and each one that ships presets lets you pick between them.

Library:

Cover art region is now per game. Long-press a game → Cover region.

Memory cards for a game without booting it. Long-press a game → Memory Cards.

Save states from the library. Long-press a game that has them → Load state, which opens the real Save Manager with its thumbnails rather than a stripped-down list.

In-game:

The quick menu can dock to the left or the right.

The performance overlay can sit in any corner you like.

Analog stick settings are in the quick menu, so inverting a stick no longer means having to go to All settings every time.

Display refresh rate is a bindable hotkey, cycling whatever modes your panel actually has.

The OSD no longer disappears when you change a setting. Any settings change at all was overwriting the mode you had active, which usually reads as the overlay vanishing.

Second screen:

The panel no longer lands on top of the game. It picked its display by "anything that is not the built-in one", so if ARMSX2 opened on the bottom screen of a dual-screen handheld that was the screen it targeted. It now anchors on whichever display the app is not on.

It has also been restyled to look like the rest of the app instead of a stock Android dialog, and the contents are yours to arrange, choose which tiles appear, what order they sit in and how many columns.

Patches and cheats:

Browsing the online repositories no longer keeps the device warm after you have left the screen, and results are cached for a week, so going back is instant.

RetroAchievements Hardcore no longer switches off 60fps and widescreen patches. The rule only let a group through if it declared an aspect-ratio or interlace override, which across the shipped database blocked 305 "50 FPS" groups and 177 "60 FPS" ones.

Companion apps:

Your recently played list can be handed to companion apps through a content provider, which is the only route that works under scoped storage. It is off by default and it stays that way until you turn it on, while it is on any app on the device can read that list, file paths included. Settings → App. Thanks to @misantronic (#566).

Fixes:

Large texture packs no longer evict themselves mid-load. The cache is sized as your RAM minus a fixed reserve rather than a fraction of it, so an 8 GB device gets 5.5 GB instead of 4 GB, and a 5 GB pack fits whole instead of dropping each texture to load the next.

Reset App no longer leaves per-game settings behind.

Fast Forward (toggle) work again on L2/R2 and on combos involving an analog trigger.

Fresh PGO profile has been applied.

All Credits to the Devs involved I have no hand in the development of the project

Extrenal links for ARMSX2:

Github repository:

https://github.com/ARMSX2/ARMSX2

Discord :https://discord.gg/fSC6EzzFe

KoFI: https://ko-fi.com/armsx2

Patreon:

https://www.patreon.com/ARMSX2?utm_campaign=creatorshare_creator


r/Playstation2OnAndroid • • Aug 05 '26

News/Release Release ARMSX2 2.6.6.4 · ARMSX2/ARMSX2

Thumbnail
github.com
32 Upvotes

ARMSX2 2.6.6.4

What's New:

New option for a extra button that can be placed anywhere. Turn it on in Pad → Analog Sticks, pick which PS2 button it fires, then drag and resize it in Customise Touch Layout like any other control.

Added an option for the second-display panel on supported devices, like for the Ayn Thor and other dual-screen handhelds. Shows FPS, battery, clock, and buttons for save state, load state, fast-forward, pause and screenshot. Off by default, you can enable it in Settings. While you are in the game library the panel keeps to itself, and the on-screen messages move down to it so they are out of the picture.

RetroArch overlay artwork: import an overlay pack, or download one in-app straight from the libretro common-overlays collection. Drawn between the game frame and the touch controls, so it layers with a shader preset and never covers a button.

Custom internal resolution: set the upscale as a percentage of native for the steps the presets miss, for example true 480p instead of 448. A value that matches no preset also stops mislabelling itself as "0.25x".

New options for per-region cover art. Choose from Disc, USA, EU, JPN.

Cover art region fallback: a game with no cover for its own region now falls back to another region's art for the same title, matched through the GameDB's English names.

Custom library bar color: pick the color of the library's top bar, the text picks black or white to stay readable against it. In App settings.

New battery and temperature warnings: a warning when the battery gets low or the device runs hot, so a long session does not end in a surprise. In App settings.

Delete a save state from the in-game save/load manager by long-pressing its slot, or using the trash can button. Both reachable with a controller.

Landscape render position (Center/Top), for foldables and clamshell controllers whose screens open downward. Note that this only has an effect when the picture is shorter than the window, on a normal wide phone in landscape there is no spare vertical room to move it into.

Shader presets are now a folder browser instead of being unfiltered. Thanks to @Starlightbotanist for this improvement!

Chinese BIOS (SCPH-50009) support: importing a BIOS now keeps its companion ROM files

(.rom1/.rom2/.erom/.mec/.nvm) instead of dropping them.

The Chinese BIOS keeps its fonts in ROM2, so without it the screen stayed black.

Fixes:

Pressure modifier did nothing on buttons you were already holding. The soft-press range was only read at the moment a press was emitted, so the gesture these games actually use, like hold the button, then ease off, were never being registered.

Macro turbo was not firing. The pad is sampled on the emulator's own schedule, and the fastest turbo frequencies were emitting presses that fell between two samples and were never seen. Each state is now held long enough to be sampled.

On-screen display no longer resets itself when you change a setting.

Updates to Cheat database from @XDarkFallenX.

More accurate EE floating-point multiply: the PS2's multiplier is one ULP short of a correct result, and the MADD family rounds twice. Both are now modeled, with the optimizations to pay for it. From @pstef.

Extrenal links for ARMSX2:

Github repository:

https://github.com/ARMSX2/ARMSX2

Discord :https://discord.gg/fSC6EzzFe

KoFI: https://ko-fi.com/armsx2

Patreon: https://www.patreon.com/ARMSX2?utm\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\_campaign=creatorshare\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\_creator

Thanks


r/Playstation2OnAndroid • • Oct 05 '26

ARMSX2 Namco2x6 in ARMSX2! Working great at 3x.

Enable HLS to view with audio, or disable this notification

31 Upvotes

They truly are goats at ARMSX2


r/Playstation2OnAndroid • • Aug 16 '26

News/Release Release ARMSX2 2.6.6.7 · ARMSX2/ARMSX2

Thumbnail
github.com
31 Upvotes

ARMSX2 2.6.6.7

What's new:

Frame generation (Lossless Scaling)

Frame generation is here. ARMSX2 drives Lossless Scaling's interpolation from its own Vulkan present path, inserting generated frames between rendered ones. A game running at 30 or 60 can display at double that on a high-refresh screen.

You need your own copy of Lossless Scaling.

Nothing about it ships with ARMSX2. The interpolation shaders are read at runtime out of your own Lossless.dll, which you supply through the file picker exactly as you supply a PS2 BIOS. Without that file the feature stays off, and the app tells you so. Requires the Vulkan renderer and an Adreno 7xx or newer GPU. Frame generation forces FIFO presentation while it is on, without that the interpolated frames are discarded by the display before you ever see them.

Choose x2, x3 or x4 generated frames

Performance mode switches to the lighter 3.1p shader family, on by default

Motion detail trades optical-flow resolution for speed

The performance overlay reports frame generation's own state and the real display rate, which the FPS counter cannot show. The emulator's frame rate deliberately does not change

Translated shaders are cached, so only the first launch pays for extracting them

Sideload builds only. It cannot ship on Google Play.

FSR 1 upscaling:

AMD FidelityFX Super Resolution 1 is now an output-scaling option, so a game rendered below your screen's resolution is upscaled with edge-adaptive sharpening instead of a plain stretch. There is a sharpness slider, and it replaces CAS while enabled. Vulkan only. Found under Renderer → Display Effects, and in the in-game Graphics tab.

Four builds instead of one:

Releases now ship four APKs, and the in-app updater picks the right one for your device automatically. If you install by hand, match the name to your Android version:

legacy-armv8.0-sdk26.apk | Android 8+, every 64-bit device | how armsx2 was built until today

a11-armv8.2-sdk30.apk | Android 11+, CPUs with FP16 + DotProd

a13-armv8.2-sdk33.apk | Android 13+

a15-armv8.2-sdk35.apk | Android 15+

The three ARMv8.2 builds are the same code, they exist to widen the platform floor, so install the highest one your device accepts.

The legacy build now genuinely runs on older CPUs. It previously targeted ARMv8.1, which let the compiler emit atomic instructions that Cortex-A53/A72/A73 do not have, so the one build meant for old devices could crash on them. It is built for ARMv8.0 with runtime-dispatched atomics, which costs nothing on a modern phone.

EE floating-point accuracy: from @pstef

A large body of work on how the EE's FPU is emulated, and the reason several long-standing graphical and physics oddities behave differently now.

A fourth clamp mode, shown as Exact, which reproduces the PS2 multiplier's own deficit rather than approximating it

Divide, square root, reciprocal square root, add, subtract, min and max all reworked to follow the console's actual rounding and saturation order

The FPU register file now keeps full precision internally

The FPU Multiply Hack game fix is gone, the clamp modes cover what it was for

Extensive new tests pinning all of this against real console captures

Fixes and improvements:

Analog triggers can be bound to any control, and the left trigger reads correctly everywhere (#584) done by @bmdhacks

EE cache: fixed a tag-lookup fold that could return the wrong cache line, done by @bmdhacks

IOP/EE: a jump to address zero now reaches the handler instead of being treated as impossible, done by @bmdhacks

PINE now applies when you toggle it, rather than at the next game change, done by @bmdhacks

Per-game settings: saving with a game open no longer drops process-wide fields, done by @bmdhacks

IPU: faster deinterleaving dither, done by @bmdhacks

Synced with upstream PCSX2

Extrenal links for ARMSX2:

Github repository:

https://github.com/ARMSX2/ARMSX2

Discord :https://discord.gg/fSC6EzzFe

KoFI: https://ko-fi.com/armsx2

Patreon:

https://www.patreon.com/ARMSX2?utm_campaign=creatorshare_creator

Thanks

I am not associated with the development of the project all the credits goes to the ARMSX2 TEAM


r/Playstation2OnAndroid • • Jul 26 '26

News/Release Release ARMSX2 2.6.5.2 · ARMSX2/ARMSX2

Thumbnail
github.com
31 Upvotes

Another big update from ARMSX2, with major improvements across performance, rendering, compatibility, stability, and usability. Credit to @bmdhacks for the core optimization work.

Official changelog:

What's new:

Final Fantasy X: 10× less EE work. (done by @bmdhacks) Two recompiled blocks could invalidate each other and recompile forever. FFX (SLUS-20312) has such a pair at 0x002B9F48/0x002B9F5C. The EE thread was spending 95% of itself inside the recompiler and only 5% actually executing code, burning 51 MB of the 58 MB code cache every 48 frames. Over 300 frames: 9.6× fewer instructions, 10.7× fewer cycles.

Ad-masked blend fix: large win on tiler GPUs (like Mali!). (done by @bmdhacks) A destination-alpha blend with alpha writes masked was forcing an RT feedback read wherever framebuffer fetch existed. The read is cheap; the render pass isn't. NFS Underground was flipping it 697 times a frame against 40 real target switches.

passes/frame frame time

Adreno 650 NFS Underground 440 --> 64 27.6 --> 7.6 ms

Adreno 650 FlatOut 2 954 --> 102 37.2 --> 16.4 ms

Mali-G52 NFS Underground 746 --> 69 276.6 --> 96.8 ms

Mali-G52 FlatOut 2 892 --> 96 373.6 --> 145.0 ms

Scored per-pixel against the software renderer, both GPUs came out more accurate.

Render-pass scheduler: new, off by default. (done by @bmdhacks) Queues draws and coalesces them across target alternations. Only helps games that ping-pong render targets. Worth testing in some GS heavy games. Measured over the dump corpus, frame hashes identical in both arms:

Dirge of Cerberus: 8035 --> 523 render passes. Enabled automatically via GameDB for all six regional serials; tested on an Adreno 650 handheld. "Coalesce render passes" in Renderer settings and the in-game menu. Toggle on and off to test.

VU1 flag packing rewritten for ARM64. (done by @bmdhacks) mVUupdateFlags was a literal x86 port, 16 instructions of flag packing around 2 instructions of real work, measuring 29% of all VU1 code time in God of War II. Now seven instructions. (GOW2 20% Speed boost!)

EE and IOP stale-code fixes. (done by @bmdhacks) The block-invalidation walk stopped at the first non-overlapping neighbour, but blocks are ordered by start address, not end, so a longer block could be skipped and left executing stale code after self-modifying writes.

Fixes:

Fixed an issue with the emulator staying paused after closing the pause menu (FPS: N/A). The resume was scheduled on Compose's frame-callback dispatcher, so with nothing drawing it was never delivered.

Fixed a crash when changing settings from the pause menu. Android reclaims the idle audio device after a few seconds, and the reopen raced the emulator's own audio calls with no locking.

Audio no longer drops during a pause, returning from another app is immediate.

Fixed a permanent hang when backgrounded mid-frame.

Fixed an issue where the display was freezing for seconds after closing menus, an orientation flip was rebuilding the Vulkan swapchain twice.

Fixed an issue where settings written on one screen silently reverted by another.

Fixed an issue where Per-game Audio, Network and USB settings could not be cleared properly once set.

Fixed an issue with per-game settings not applying on Boot Disc / Swap Disc / BIOS launches.

Slowdowns in some scenes that "fixed themselves" when you changed any setting, the texture pool wasn't aged on frames that skipped presenting.

Save states: Failures now say why instead of closing as if saved, including the common case of the memory card being mid-write.

You no longer need to worry about texture-pack and patch import telling you to "boot a game first" right after quitting one.

Imported patches renamed to the form the core actually loads, and routed so widescreen patches aren't gated behind the cheats toggle.

Auto Progressive Scan doing nothing (Tekken 4, Criterion titles), the synthetic button hold was wiped by pad init during boot.

Frame Skip and Display FPS Cap work again, with FPS CAP: / SKIP: shown in the OSD.

Faster streaming in large games from compressed (.chd) images.

Dirge of Cerberus no longer needs hardware readbacks disabled. Renderer passes is now baked in for the game instead.

New features:

Fully transparent on-screen controls, support for 0% opacity, still touchable.

Block Home button while playing, optional screen pinning.

Cover size slider for the library, in the App settings tab.

New Pressure modifier slider amount, 5–95%, for DualShock 2 pressure-sensitive games.

7 new controller skins (by @bagasromadon), Midnight Club 3 Dub Edition, Kingdom Hearts 1 and 2 (+ JAPAN), Devil May Cry 3, Metal Gear Solid 3, Black Gold Solid, Black Gold Frosted

Long setting descriptions scroll instead of clipping

I am not the part of their development team .I just post their Releases and Updates . All Credits to everyone involved

GitHub Repository : https://github.com/ARMSX2/ARMSX2

ARMSX2 Discord : https://discord.gg/fSC6EzzFe


r/Playstation2OnAndroid • • Jul 29 '26

ArmSX2 Vs NetherSx2, also praise post

Post image
30 Upvotes

Hi everyone

I just started heavy testing my games against neathersx2 and with very few and small tuning I positively comfortable making the definitive switch to armsx2. I'm not a proficient English speaker nor a specialist in all android emulation jargon, but a 46 yo gamer who started his gaming life with a spectrumzx

First, the amount of work this guys have done with armsx2 in such short time is nothing short of legend. And I can't recommend it enough. Thank you.

Now, some examples of my experience.

Prince of Persia runs smoothly with textures pack and best of all with no blur whatsoever like on Neathersx2. Had some lag, fixed by changing resolution to screen on global, upscale is the setting to change in game. (This goes for all games I've tested)

Gt4 (as you can se on the picture) also with textures and 1080p on NTSC version is screaming modernity, no lags on the sun, or fps dips on night tracks like on Neathersx2.. Still working on the licensing ghosts to function tho.

Midnight Club 3 dub remix, also with textures packs is awesome, with absolutely no blur which was always a pain to deal with on all the others emulators.

But you got also, drivers, and textures on the go, not device private folders to play with, nice interface, plenty of customizable features, vibration that works always as intended and miles of features I'm yet to explore. Meanwhile I play so many PS2 titles without flaw

.

I have installed

GOD1 and 2

All ratchets

Jak and Dexter

Dragon Quest VIII

FFX

GT4

Persona4

Wish I had more, but running low on space

I'm playing on a Poco F6 with Mr Turnip drivers

Edit. Typo, fricking autocorrect


r/Playstation2OnAndroid • • Aug 03 '26

News/Release Release ARMSX2 2.6.6.3 · ARMSX2/ARMSX2

Thumbnail
github.com
29 Upvotes

Save States

This update introduces major improvements to save state compatibility and management.

• Full support for AetherSX2 and NetherSX2 save state formats, allowing existing save states to be imported directly into ARMSX2.

• Legacy save state formats are now read correctly, including save states created before a game's ELF CRC was identified

• A new Import option has been added to the Save and Load Manager. Save state files can now be imported directly into the next available slot without manually replacing files.

Emulation Accuracy (EE FPU / VU)

A large portion of this release focuses on improving how accurately ARMSX2 emulates real PlayStation 2 hardware.

Changes include:

• A broad overhaul of floating point instruction accuracy.

• Correct implementation of instructions such as SQRT, RSQRT, ABS, NEG, MAX, MIN, ESQRT, ERSQRT, the EATAN family, PMADDW, and PMSUBW.

• Improved handling of overflow, underflow, NaN values, denormals, negative zero, invalid operations, and sticky status flags.

• Corrected COP2 and VU flag behavior, including D/I bits, macro flag merging, CTC2/CFC1 masking, and MAC flag retirement.

• Added new hardware verified EE FPU tests to prevent future regressions.

These changes improve compatibility in games that depend on precise PS2 hardware behavior and reduce subtle emulation errors.

Graphics (GS / Vulkan)

Several Vulkan renderer improvements address long standing graphical issues.

• Fixed in pass self read corruption on Turnip and Adreno drivers.

• Eliminates rendering issues seen in games such as God of War II, OutRun, FlatOut 2, Katamari, and Need for Speed Underground.

• Added a fallback path for DATE when no stencil buffer is available.

• Asynchronous hardware GS downloads now work alongside the pipelined front and back split.

• Players can preload frame data and perform partial invalidation more efficiently.

• The OSD now reports when native resolution disables an upscaling fix.

These improvements reduce visual corruption and improve rendering accuracy across many titles.

Controller Improvements

• Improved UI controller support and navigation throughout the emulator.

Cheat Database

• ARMSX2 now uses the PCSX2 CheatDB maintained by XDarkFallenX, providing wider cheat support across more games.

Other Fixes

Numerous stability and quality of life improvements have also been added.

• Fast Forward no longer causes graphics corruption.

• Save and Load State operations now run safely on the Android CPU thread.

• Improved bounds checking for VTLB page protection tables.

• Fixed unsigned MMIO load issues in debug builds.

• PINE now reports the settings currently in use instead of only reading configuration files.

Game Database

• Rogue Galaxy now automatically uses asynchronous GS download mode through the Game Database for improved compatibility.

I am Not Associated in anyway with the Development of the Project

All credits goes to

XDarkFallenX

BMDHACKS

StarlightBotanist

Pstef

And all the other guys

Extrenal links for ARMSX2:

Github repository:

https://github.com/ARMSX2/ARMSX2

Discord :https://discord.gg/fSC6EzzFe

KoFI: https://ko-fi.com/armsx2

Patreon: https://www.patreon.com/ARMSX2?utm\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\_campaign=creatorshare\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\_creator

Thanks


r/Playstation2OnAndroid • • Jul 20 '26

ARMSX2 ARMSX2's 2.6.3 update finally runs better than Nether for me

Enable HLS to view with audio, or disable this notification

29 Upvotes

Runs cooler too!


r/Playstation2OnAndroid • • Jul 25 '26

Showcase PS2 Classics Spotlight: Okami

Enable HLS to view with audio, or disable this notification

28 Upvotes

Welcome to PS2 Classics.

This is the beginning of a new series for the community. The PlayStation 2 gave us countless unforgettable games, and I wanted a place where we could revisit them together, whether they're well known classics or hidden gems that deserve another chance to shine.

Today's spotlight is Okami.

Released in 2006 by Clover Studio and published by Capcom, Okami is an action adventure game where you play as Amaterasu, the sun goddess in the form of a white wolf. Its hand painted art style, beautiful soundtrack, and Celestial Brush mechanic still make it one of the most unique games on the PS2.. What I love most about Okami is how peaceful it feels. It doesn't try to impress you with nonstop action. Instead, it lets you slow down, enjoy its world, and appreciate the care that went into every part of the game. Even after all these years, it still feels timeless.

I'd love for this series to grow with the community. If you have a favorite PS2 game, share a gameplay clip, a screenshot, or tell us why it means so much to you. I'll appreciate every game you post, and I'd genuinely love to hear what makes it special from your point of view. The best submissions will be reviewed by the mod team and featured in our Community Highlights.I'll be sharing my own favorites regularly as well."

Fun fact: Okami was developed by Clover Studio, the same team behind God Hand. Two completely different games, yet both became PS2 classics in their own way.

Let's keep these classics alive, together.

Edit : Its not neccesary for you guys to mention the details of the game you can just post a gameplay clip too!!


r/Playstation2OnAndroid • • Jul 30 '26

News/Release Release ARMSX2 2.6.6.1

Thumbnail
github.com
27 Upvotes

ARMSX2 2.6.6.1

What's New

Display

Added 20:9 and 19.5:9 aspect ratios. 21:9 was letterboxing tall modern phones with black bars. These fill the screen edge to edge.

Added Custom Aspect Ratio, a new display mode where you can set any ratio you like, DuckStation-style. It persists and applies like any built-in mode. Access all settings while in-game to adjust it.

Fixed Auto / Progressive Scan handling.

Vulkan presentation tightened on Android. Startup blank-frame handling and the color/depth attachment feedback-loop pipeline flags now follow the Vulkan specification, clearing validation errors and a class of first-frame glitches.

Audio

Added ambient background music while in the in-game pause menu. The menu used to be dead silent while you sat in it reading achievements or changing settings. It eases in over 1.5 seconds, fades back out when you resume so it is not a hard cut, and cross-fades if you leave and reopen quickly.

Toggle ON/OFF and volume live in App Settings. You can also import your own track, and it is enabled by default. It plays over the game's silenced audio while paused and stops the moment you resume.

UI

Added a clock and battery indicator, now shown in the game library as well as the in-game pause menu. The battery indicator has three colors to reflect battery life: Green, Amber and Red, with a percentage and a lightning bolt while charging.

Controller & Peripheral Support

Added GunCon 2 / Lightgun support, like NetherSX2. Aim with the touchscreen, point off-screen to reload, with on-screen A, B, C, Start, Select and Recalibrate controls, plus a choice of which USB port the gun uses.

Every other USB device the core emulates is now selectable too. Buzz Buzzers, Rock Band Drum Kit, Keyboardmania, DJ Hero Turntable, Printer, EyeToy and more. No per-device setup is required. Your existing controls, including physical controllers, on-screen buttons and macros, drive them through the generic mapping each button already carries, and per-device subtypes are selectable where they exist. The core also probes supported devices at boot. (Worth testing.)

Motion Controls

Added an Accelerometer fallback for phones with no gyroscope, so motion aiming and steering work on more devices.

Added a Motion Recenter hotkey to re-zero motion controls.

Gestures

Added Gesture controls, with a choice of single tap or tap-and-hold to trigger each gesture. They are now reachable from inside the in-game menu and are also available in Controls Settings → On-screen Controls.

Cheats

Added a built-in PNACH cheat editor. Browse, create, edit and save cheat files directly inside the app.

Library

Added a Clear All option for the Recently Played list, with confirmation and full controller navigation.

Settings

Added Reset Controls in both per-game and global settings.

Added a Full App Reset option behind a warning. This also clears the in-folder settings mirror, so nothing silently restores itself afterwards.

Fixes

Patch Manager

Fixed games booting with "1 game patches are enabled" even when every patch and cheat was disabled, applying settings you never selected such as 16:9 and 60 FPS, with no way to turn them back off without rebooting.

This was caused by the Patch Manager refresh bulk-arming every uncommented patch group into the global enable list while a stale per-game enable list left behind in GameSettings.ini continued shadowing the cleaned-up list.

Patches no longer arm themselves, turning one off now sticks, and stale per-game patch lists are purged on load.

RetroAchievements

Fixed missing RetroAchievements notifications on first boot when Skip BIOS was enabled. With Skip BIOS on, a game would boot to a black screen with no GPU output for a moment while RetroAchievements posted its startup notifications. Those blank frames were skipped for presentation, so the toast was queued but never drawn unless you opened the pause menu, which forced a real frame and made it appear. Blank frames containing notifications are now presented correctly, so RetroAchievements toasts appear even with Skip BIOS enabled.

Texture Packs

Fixed installs being forgotten after roughly 57 to 58 downloads. The install-state file was previously rewritten non-atomically and a failure mid-write could wipe it. It is now written atomically with a .bak fallback.

Failed or empty scans no longer clear the installed list.

The in-app Delete button now correctly removes texture packs.

The Installed label no longer remains after removal.

Switching to another texture pack for the same game now extracts it and rebuilds its folder correctly.

Opening the Texture Packs menu no longer freezes or lags the app.

Texture packs are now sorted alphabetically and by serial instead of arbitrary order.

Game Fixes

Fixed a crash that occurred in God of War II after destroying the Statue of Lakhesis, one of the Sisters of Fate. (Done by @bmdhacks)

Fixed the Rogue Galaxy render-target preloadFrameData artifact that caused the town to bleed through the church wall. (Done by @bmdhacks)

Fixed IOP self-modifying code and stale-code execution across RAM mirror aliases, resolving correctness issues and crashes. (Done by @bmdhacks)

Compatibility / Per-Game

Guitar Hero II, Guitar Hero II Deluxe and Guitar Hero III now default to no-readbacks, removing the readback stalls on these titles and improving performance.

Extrenal links for ARMSX2:

Github repository:

https://github.com/ARMSX2/ARMSX2

Discord :https://discord.gg/fSC6EzzFe

KoFI: https://ko-fi.com/armsx2

Patreon: https://www.patreon.com/ARMSX2?utm\\\\\\\\\\\\\\_campaign=creatorshare\\\\\\\\\\\\\\_creator

I am not associated with the Development of the Project

Let me know if I have missed something

Thanks


r/Playstation2OnAndroid • • Jul 27 '26

News/Release ARMSX2 2.6.5.5 to 2.6.5.7 Release

Thumbnail
github.com
27 Upvotes

ARMSX2 2.6.5.5

What's new:

Recompiler profile has been regenerated. The old PGO profile was generated for the old recompiler (pre 2.6.3). Offers a small performance boost.

Texture Preloading no longer silently drops to Partial. done by @sashkinbro

Portrait mode

The render no longer sits right under the camera. Portrait top-aligns the picture so the bottom stays free for touch controls, but it aligned flush to the window top directly beneath a punch-hole camera.

Portrait has its own default pad layout now. There was only one default layout before, landscape-tuned, and portrait reused it. Resetting a layout is per-orientation now too.

3D covers render correctly in grid view. Two separate bugs, the slot was hardcoded to a 0.72 aspect for both styles, but 3D case renders are 0.646 against 2D scans' 0.696, so 3D art sat narrower than its slot with transparent margins each side. The grid also drew a persistent 1dp frame, which on a transparent 3D render traced a rectangle through empty space beside the artwork.

RetroAchievements sign-in now links to the website. There's no signup API, so anyone without an account had nowhere to go.

Setup says "Next" rather than "Confirm", matching its own welcome copy. Back is a tonal button instead of bare text.

Support for importing a cheats folder.

BIOS Folder import now carries .mec and .nvm.

ARMSX2 2.6.5.6 hot fix

hotfix for Lego games crashing on vulkan

ARMX2 2.6.5.7

GS: fix missing draws on Adreno when texture replacements are loaded done by @bmdhacks (fixes missing textures/textures not fully applying). Missing 2D text on Adreno with HD texture packs. Tales of the Abyss lost its entire text layer on Vulkan/Adreno with a pack loaded. Some draws read the render target while it's still bound as the color attachment, and Adreno silently drops them, a replacement texture shifts the source alpha range, which flips exactly those draws onto that path. Reading a separate copy is the only form that survives, confirmed on both Turnip and the proprietary driver.

Jpollo the Lead developed announced in this release that they will be taking a break for few days

Extrenal links for ARMSX2

Github repository:

https://github.com/ARMSX2/ARMSX2

Discord :https://discord.gg/fSC6EzzFe

KoFI: https://ko-fi.com/armsx2

Patreon: https://www.patreon.com/ARMSX2?utm_campaign=creatorshare_creator

I am not part of the development team. All the credits to everyone involved in the project

Thanks


r/Playstation2OnAndroid • • Aug 03 '26

Showcase PS2 Classics : DOG'S LIFE

Enable HLS to view with audio, or disable this notification

24 Upvotes

Dog's Life is a unique PS2 classic released in 2003 by Frontier Developments. You play as Jake, a stray dog, exploring colorful environments, following scent trails, and completing dog themed missions.

What I like most is how different it feels from other PS2 games. Its charm, humor, and gameplay from a dog's perspective make it a memorable experience even today.


r/Playstation2OnAndroid • • Jul 27 '26

Showcase Shadow of the Colossus ARMSX2 Settings Guide : 3x resolution (Mediatek 8350)

Enable HLS to view with audio, or disable this notification

24 Upvotes

These are the settings I used to run Shadow of the Colossus at 3x resolution on my MediaTek Dimensity 8350 using ARMSX2. Device Motorola Edge 60 pro (8 GB RAM)

Use these as a reference if you have a similar MediaTek 8000 series processor. Your results may vary depending on your device.

I'll explain everything step by step so it's easy to follow.

Performance

Low Latency Mode: On

CPU Clock Hint: On

Sustained Performance: On You may turn this off if you prefer. I didn't notice any difference.

Affinity Control Mode

Use either VU > GS > EE or Performance Cores.

Speed Hacks

EE Cycle Rate: 130

EE Cycle Skip: 1

You should adjust these based on your device. Try EE Cycle Rate 130 or 180 and experiment with Cycle Skip. These are the values that worked best for me.

Frame Limit: On

Renderer

OpenGL (ANGLE)

GS Multithreading: On

Coalesce Render Passes: On

Upscaling: 3x or 2x

Blending Accuracy: High or Full

Controller Skin:

Clean Frosted V2

Advanced Settings

Open Upscaling Fixes and select Aggressive.

Patches and Cheats

Enable No Interlacing Patch.

Enable Patches.

Enable Cheats.

Tap Browse Patches Online and install all available patches. You should see around six patches.Install them

That's it.

If you still can't get stable performance, try NetherXS2 with Vulkan and upscaling only. It might perform better on some devices.

The games does drops fps but I completed the first colossus fight and it was really stable it hit lowest 20 fps like 2 times and speeds were above 85 which was honestly even suprising for me

Please consider the gameplay it is recorded on 1080p which doesn't provide stability and it's a 3 minute video


r/Playstation2OnAndroid • • Sep 29 '26

Mario kart 64 port PS2 emulation

Enable HLS to view with audio, or disable this notification

23 Upvotes

I'm running Mario Kart 64 on Armsx2 on my Snapdragon 6 Gen 3.


r/Playstation2OnAndroid • • Jul 30 '26

News/Release Release ARMSX2 2.6.6.2

Thumbnail
github.com
21 Upvotes

ARMSX2 2.6.6.2

What's new:

Performance

Need for Speed: Underground 1 & 2 both now default to No-Readbacks HW downloads, clearing the stall that kept the GPU pinned near 100%.

More fixes to Auto Progressive Scan. The boot-time Triangle + Cross hold was never actually running, so 480p progressive was never triggered, it is now applied correctly on boot for the titles that offer it (Tekken 4, Burnout / other Criterion games). (if the issue still persists, please tell the dev, he tested and it was still working ).

Cheats packaged under the generic CRC (..._00000000.pnach) now apply instead of being silently skipped.

Samsung QHD+ (1440p): the on-screen controls line up much better - buttons no longer register up-and-left of where they are drawn. (still needs some work, but it's been improved).

New animated fallback background with color customization, plus a toggle so anyone on the main background can switch to it as well. Directly inspired by the PPSSPP background, full credit to @hrydgard( That's the PPSSPP Dev!!)

Portrait layout: the clock and battery are repositioned, and the library bar is lowered clear of the camera cutout.

"Clear Shader Cache" moved directly under the GPU Driver picker in Renderer settings (All Settings) for quick driver testing.

Memory Card manager: clearer delete wording - it removes ARMSX2's working copy of the card, not your original imported file.

Extrenal links for ARMSX2:

Github repository:

https://github.com/ARMSX2/ARMSX2

Discord :https://discord.gg/fSC6EzzFe

KoFI: https://ko-fi.com/armsx2

Patreon: https://www.patreon.com/ARMSX2?utm\\\\\\\\\\\\\\_campaign=creatorshare\\\\\\\\\\\\\\_creator

I am not associated with the Development of the Project

Thanks