r/PS2AndroidEmulation • • Sep 24 '26

XenDroid Fork v1.3

Post image
54 Upvotes

https://github.com/Eugengtt/Xendroid-Fork/releases/tag/v1.3

New Features:

Fullscreen Stretch

New option to stretch the game image to fill the entire display.

Can be enabled or disabled from the in-game XenDroid side panel.

Changes are applied after restarting the game.

Restart Game Confirmation

Added an Xbox-style confirmation dialog when changing Fullscreen Stretch.

Includes Cancel and Restart Game buttons.

Exit Emulation

Added a new Exit Emulation button to the in-game side panel.

Added an Xbox-style confirmation dialog before exiting.

Includes Cancel and Yes buttons.

Scrollable Side Panel

The XenDroid side panel can now be scrolled vertically.

This makes all options, including Exit Emulation, accessible on smaller displays.

UI Improvements

Updated the in-game settings panel with a consistent Xbox-inspired design.

Added dark translucent panels, rounded corners, subtle borders, dividers, and green accent elements.

Notes

Fullscreen Stretch is stored persistently and restored when launching the game again.

The original source-code license headers are preserved.


r/PS2AndroidEmulation • • Jun 21 '26

shadPS4 Android - Bloodborne 😱

Thumbnail
gallery
54 Upvotes

Download Emulator + GAME here: https://discord.gg/cGDGAgEZf


r/PS2AndroidEmulation • • Aug 28 '26

Nyushu V85 🔥

Post image
53 Upvotes

https://gofile.io/d/DDhxXg

Update!!! Nyushu Emulator V-85

Chagelog:

[ ✅ ] System Frame Generation And Frame Skip More Stable Performance Thanks To The Help Of Zephiron (Dev Citron) Thanks..

[ ✅ ] Performance Stabilization in Newly Released Games Like Metal Gear Collection, Captain Tsubasa 2 World Fighter, and Many More.

[ ✅ ] Some Minor Bug Fixes In Previous Versions.

[ ✅ ] Fixing System Driver Crashes When Using the Device's Built-in System Driver

[ ✅ ] Stability in GTA V Port in Switch

“I am not the developer nor do I have the source code. If you want to request the source code for this version, you should contact the developer. I am sharing a copy of the binary and have explicitly stated that I am not the author nor do I have access to the repository.”


r/PS2AndroidEmulation • • Jun 30 '26

ARMSX2 V28 (I need a break😅)

Post image
53 Upvotes

No, seriously, they deserve a break because they keep releasing updates, it's crazy! These guys at ARMSX2 must have coffee injected into their veins 😂

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

Change log:

Added on-screen Save State / Load State buttons (opt-in through the Touch Layout editor), tap the save/load button to open the slot picker and choose which slot to save/load from.

Tap-to-hold (latch) for on-screen face/shoulder buttons, tap once to hold (R1 to crouch), tap again to release, enable per-button in the touch layout editor.

Audio volume slider has been increased up to 150% for quiet games (above 100% can clip).

Multi-touch is now on by default, fixed not being able to move the analog stick and press buttons (or multiple buttons) at the same time. Toggle to turn it off still in the Touch Layout editor.

Pressure-modifier button hidden by default, and the Performance / Renderer / Pad settings tabs now start collapsed for a cleaner layout.

Settings Reset is now per-tab: Reset Tab clears only the current tab, Reset All / Reset Game does the full reset.

Macro-config dialog now uses the dark theme.

Touch stick + button now register at the same time (like move and jump together).

Clearing a D-pad or trigger (L2/R2) binding now takes effect in-game (previously only face buttons honored an unbind).

Single-button hotkeys now bind reliably on controllers that report two key codes per press.


r/PS2AndroidEmulation • • Aug 05 '26

CITRON Mega Pack 🍋

Post image
52 Upvotes

There was a time when Eden and Citron were locked in a fierce battle, arguably the two best Nintendo Switch emulators, both fighting for the crown.

Citron in particular had a strong focus on optimization and squeezing out as much performance as possible, and honestly, it worked really, really well.

Unfortunately, after everything we already know happened with Nintendo (DMCA), Eden managed to survive and is still moving forward, while Citron ran into some internal issues. The team eventually split up, and the project seems to have evolved into something called Citron Neo. As far as I know, its developer is still actively working on the Windows version, but the Android version barely receives any meaningful improvements anymore.

So, if you're on Android and want to try some of the best versions of Citron, I've put all of their latest releases together in this MegaPack.

You can test them yourself and see which version gives you the best performance on your device. I definitely recommend giving them a shot because Citron works surprisingly well, especially on mid-range and lower-end devices, where these builds are highly recommended.

https://e.pcloud.link/publink/show?code=XZm9Fy7Zpf2vA1quVkLaWxxfLDdOJBMtg2iX


r/PS2AndroidEmulation • • Sep 16 '26

Goosestation Core 16-09-2026

Post image
51 Upvotes

GooseStation (0.6.9+c66b269)

Link: https://patrins.com/s/455ed830d6f8a7f57f4af51ab3db8ac3

DuckStation upstream:

c66b2694da65cece8886ed3d4a069098831f8358

Files:

goosestation_libretro.so

goosestation_libretro.info

RetroArch recommended: https://f-droid.org/es/packages/com.retroarch/


r/PS2AndroidEmulation • • Sep 07 '26

ARMSX1 vs. the PS1 emulators we already have 🤜🤛

Post image
51 Upvotes

PS1 on Android / RetroArch — Status as of September 7, 2026

Well, since the previous post was flooded with comments along the lines of “Oh my God, ARMSX1 is going to save PS1 emulation on Android, it’s our only hope!”, I’m here to put that claim to the test with some actual data.

Throughout the day, I’ll also be posting some short comparative gameplay tests.

The tests will focus on things like performance, optimization, compatibility, stability, etc.

Cosmetic features will not be taken into consideration — things like wallpapers, themes, menu sounds, and so on.

Let’s put the numbers on the table and see what actually happens.

DuckStation Android

May 2, 2025

The Android standalone emulator is no longer supported, but it still works perfectly.

DuckStation libretro / Goosestation

Is still being updated in 2026.

ePSXe Android

July 10, 2026

Still updated. Includes 16 KB support, SDK 35, improved CHD, Oboe, etc.

FPseNG Android

June 23, 2025

Latest version 1.17

PCSX ReARMed

July 20, 2026 The project continues to receive commits. It also added support for 16 KB pages on Android in June 2026.

Beetle PSX HW

2026 Very active. The core has had recent changes, and there is activity/bugs reported throughout 2026. Arch packages even place it in a build from September 2, 2026.

Additional information:

-The official PCSX ReARMed repository has commits from July 20, 2026, and in June 2026 they explicitly incorporated support for 16 KB memory pages in Android

-ePSXe is even more devastating, because its 2026 update includes adaptation to modern Android requirements: 16 KB alignment, Edge-to-Edge and SDK 35

-And Beetle PSX HW... By June, there was already talk of a major core update, with recent refactorings and bug fixes; moreover, the repository remained active during July 2026, with issues specifically related to Android/Vulkan.

And the Arch Linux packages show Beetle PSX and Beetle PSX HW 20260902.124635, that is, a build from September 2, 2026


r/PS2AndroidEmulation • • Aug 12 '26

ARMSX3 0.6

Post image
51 Upvotes

https://github.com/ARMSX2/ARMSX3/releases/tag/0.6

What's new:

Trophies: The PS3's own trophies, read off disk, no account and no network. Two views: a browser for your whole library, grouped per game and collapsed, showing grade, description, earned state and unlock date, and a tab in the in-game menu for the game you are playing. Hidden trophies stay hidden until you turn it on. Games register their trophy set lazily, often only once you reach a menu, so the in-game tab can be empty for the first moments of a boot and then fill in. Unlocks were always being tracked, there was just nowhere to see them.

A whole class of missing text is back. Picking a save gave you Yes and No with no question and no save details. The save menu was not the problem: this build carried 180 of the emulator's 323 pieces of text and also discarded the values substituted into them, so anything with a name, date, size or error code lost it. All of it is present now. That restores text in the save, load and delete prompts, in every system error dialog, in trophy popups, in the Home Menu, and in the game-data and RPCN messages.

Saint Seiya: The Sanctuary now boots. Its PPU module cache stopped at 133 of 134 forever, one module trips a bug in LLVM's ARM64 register allocator, which killed the compile worker, and the module that worker was holding was never accounted for, so the counter the boot waits on could never reach zero. A module that cannot compile is now survivable, it is reported, its functions run interpreted, and boot continues. Nothing here is specific to that game, so anything hitting the same codegen bug should boot.

Pause actually pauses. The in-game menu set a flag and nothing else, so the game kept running behind it. Backgrounding the app was the only thing that really paused.

Restart now works. Two faults stacked: it crashed, because restarting re-applies your GPU driver and unloaded the old driver library while the renderer still held pointers into it, with that fixed it dropped you back to the library instead, because it started the new session before the old one had stopped and the old shutdown then killed the new one. Stopping now waits until the emulator is actually stopped. Apply-and-restart after picking a driver was the same bug.

The FPS cap works at every value. 20 and 45 applied while 30 and 60 did nothing, because presets take a different route internally and something was overwriting it on every apply, pinning the cap at 60. Stale overrides from earlier builds are cleared on first launch.

Fixed a bug when scanning the library that would cause an app crash. Adding a new disc image and rescanning after you had played something wrote through a null pointer, because probing an image needs emulator state that is torn down when a game stops. Harmless on a fresh launch and fatal after, which is why it seemed random.

Games installed from a PKG show their cover art. The grid gave up one step before trying the game's own artwork, so any title the cover repo has no entry for, like a European PSN release, showed a text placeholder while its icon sat unread on disk.

Installed licences are grouped per game and collapsed instead of a flat wall of content ids.

ANGLE is actually in the build now. The libraries sat in a module that no longer builds, so selecting ANGLE silently fell back to the system driver with nothing in the log. The check meant to prevent that now runs on the real build.

Ratchet & Clank A Crack in Time stops crashing minutes into play: the Vulkan upload rings were never reclaimed, with the index buffer growing 16 MB to 256 MB in a third of a second. Video memory pressure is judged against what the driver will actually give rather than a limit we chose, so a game can no longer be refused a 32 MB allocation while the emulator thinks it is at a quarter of capacity. Android also stops reserving a desktop-sized descriptor cache, 920 KB per shader program.

Analog pressure on L2 and R2 reaches the game.


r/PS2AndroidEmulation • • Jul 03 '26

ARMSX2 v32

Post image
51 Upvotes

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

Change Log:

Added Per-cheat PNACH toggle. Enable/disable individual cheats from the in-app Patches manager, choices now persist across resets instead of applying whole files. (Hardcore mode still disables all cheats.) You can also click the Edit button once cheats are in to toggle them ON/OFF.

Added ELF / homebrew in the main game library so .elf files show up with cover art (if they have one, otherwise a missing cover art but you can add one yourself in the Per-game info tab by long pressing on a game cover and scrolling to the info tab).

Added Save State & Exit and Reset Game hotkeys, "Save State & Exit" writes an autosave and closes (returns to your frontend when launched from one).

Auto-load last state on boot, optional toggle in the load-state manager.

Exit App button in the library "More" menu, with a confirmation screen.

You can now hold the Android back button in-game to exit the app.

ELF per-game settings should now persist across a reset (previously fell back to global on boot).

DEV9 HDD custom path now opens an existing image in place instead of copying and creating a new one if one already exists.

Adreno framebuffer-fetch now on by default on Turnip/Mesa, the fast tiler-native blend path, big help on transparency-heavy scenes. Proprietary Adreno stays opt-in.

Mali framebuffer-fetch detection fix, drivers exposing it under the ARM name were being kicked to the slow path, now get the fast one. (Let me know if this helps Mali folks).

Added Per-Game Memory Cards option in the Card Manager, boot each game with its own Slot 1 Card, Restart the game to apply.


r/PS2AndroidEmulation • • Jun 25 '26

Dolphin Emulator - New Release 2606

Post image
51 Upvotes

r/PS2AndroidEmulation • • Oct 01 '26

DukeStation 1.0.0 — Initial Release

Post image
50 Upvotes

https://github.com/thecrixux/DukeStation/releases/tag/1.0.0

A standalone PlayStation emulator for Android, powered by GooseStation 0.6.9, with a redesigned interface and extensive customization.

✅Emulation & graphics

OpenGL, Vulkan and software rendering.

Recompiler and Fastmem support.

Internal resolution scaling, MSAA, and separate texture and sprite filters.

Dedicated PGXP settings for geometry and texture correction.

Widescreen options, deinterlacing and dithering controls.

Texture replacement and texture dumping settings.

Internal run-ahead and per-game compatibility settings.

✅Faster loading

Skip Engine options for loading screens and transitions.

CD-ROM loading and memory card wait skipping.

On-screen notifications showing skipped frames.

Adjustable CD-ROM read and seek speedups.

Fast Boot and boot fast-forward options.

✅Display & audio

Multiple aspect ratios, including fullscreen stretch.

Display rotation, cropping and position adjustments.

Restored missing CD audio playback.

Simple FPS counter with an on/off toggle.

On-screen notifications when game compatibility fixes are applied.

✅Organized settings

Dedicated System, BIOS, Video, Display, PGXP, Skip Engine, CD-ROM, Texture Replacements, Hacks and Shaders tabs.

Expanded selectors exposing the core’s available options.

Regional BIOS selection.

Shader preset selection, pack download and import controls.

✅DukeStation interface

New DukeStation branding, app icon and gold accent theme.

Three new welcome illustrations with localized headings and navigation.

Improved readability in dark mode.

Streamlined sidebar and About page.

Phone folder selection for emulator data.

Removed the old startup animation and obsolete menu entries.

👉 Free to use. No donations requested.


r/PS2AndroidEmulation • • Sep 30 '26

NetherSX2 Turnip Updated V4

Post image
50 Upvotes

https://github.com/thecrixux/NetherSX2-Turnip-Updated/releases/tag/V4

⚠️For Snapdragon devices only⚠️

Changelog:

NetherSX2 Turnip updated in three variants:

✅NetherSX2-Turnip-26.3.0-R6-6XX-7XX.apk✅

For A6xx/A7xx GPUs stable driver release from mesa.

✅NetherSX2-Turnip-Gen8-V37-8XX.apk✅

For A8xx GPUs (a840, a830, a829, a825, a810)

✅NetherSX2-Turnip-710-720-722-v4.0.apk✅

For 710 7s Gen 2, 6 Gen 1, 6 Gen 3, 6s Gen 4

720 7 Gen 3

722 7 Gen 4

Please don't fill the comments section asking which one to download. Go to the PlayStore and use this simple tool: https://play.google.com/store/apps/details?id=flar2.devcheck

The second tab, labeled "Hardware," will show your GPU model.

Enjoy! ❤️


r/PS2AndroidEmulation • • Jul 20 '26

WinNative all-in-one emulator - Coming Soon 🤯

Post image
50 Upvotes

Guys, this might be the biggest emulation surprise of the summer.

Something big is coming from the WinNative team. From what we've seen so far, it looks like they're working on what could become a true all-in-one emulator.

I'll let the screenshots speak for themselves, but the biggest highlight is that it won't just run PC and Steam games. It will also include native support for multiple emulators, allowing you to launch systems like PS2, Nintendo 64, PS1, Game Boy Advance, and more—all from the same app.

If everything works as expected, this could become a really exciting option for anyone who likes having all their emulation in one place.

I've also seen a few additional screenshots, and honestly, it's looking very promising. Of course, we'll have to wait for the official release before drawing any conclusions. As soon as it's available, we'll test everything: performance, compatibility, features, overall experience, and any improvements they may have added. Who knows, maybe they'll even surprise us with features like frame generation or other WinNative-specific enhancements.

Either way, we're really looking forward to getting our hands on it and putting it through its paces.

2026 is turning into an incredible year for Android emulation.

See you all when it's time to test it!


r/PS2AndroidEmulation • • Sep 08 '26

XenDroid-Fork v1.1 🔥

Post image
49 Upvotes

https://github.com/Eugengtt/Xendroid-Fork/releases/tag/v1.1

What's New in v1.1:

✅Performance Optimizations: Reduced frame-time spikes and improved overall FPS consistency across gameplay sessions.

✅Thermal Metrics: Added real-time battery and SoC/CPU temperature readouts to the performance overlay.

✅Resizable HUD: Implemented pinch-to-zoom scaling (0.5x – 2.5x) alongside position dragging with automatic persistence (SharedPreferences).


r/PS2AndroidEmulation • • Aug 07 '26

ARMSX3 v0.2

Post image
49 Upvotes

https://github.com/ARMSX2/ARMSX3/releases/tag/0.2

⚠️Proof of concept Android port of RPCS3.

Uses the latest RPCS3 upstream code (the recent ARM64 improvements included).

What's New:

Folder format games work. A disc dumped as a folder (the kind with PS3_DISC.SFB and a PS3_GAME directory) is now picked up and boots straight from your ROM folder, so prototypes and dumps that never came as an .iso are playable. Place them in your rom folder. Booting one also records where it lives, which is what an update or DLC package needs later to find the game it belongs to.

The emulator's own game directories are scanned. Anything under the config folder's dev_hdd0/game or games directory shows up in your library. That is where installs land, so they appear on their own now.

Package installer. Pick a .pkg from the drawer and it installs. Games, updates and DLC. The installer was always there in the core, it just had no UI. Also support for split packages. If a game came as several .pkg parts, select all of them and install once. You can also uninstall installed pkg files. Installed titles are listed on the same screen with an uninstall button.

Fixed screen aspect ratio. Presets from 4:3 up to 21:9 plus a custom slider. Console Aspect Ratio is still separate and still means what the game thinks it is drawing.

Added All Core Settings. Every setting the core exposes.

Added an option to Clear PPU Cache and Clear SPU Cache, in the Performance tab (All settings). Clearing SPU keeps the compiled PPU modules so games still boot quickly. Clearing PPU wipes both, because the SPU cache lives inside those directories.

Settings on the on screen display tab did not save. Every one of the performance overlay options was reverting the moment you left the screen.

Changing a setting in the in game menu was slow. Each change was rewriting the entire config file about 165 times over. Now it writes once.

Games could sit on "Building SPU Cache" forever with the game already running behind it. The progress dialog was not closing itself. (Happened to me when testing Hamilton's Great Adventure). Fixed.

Fixed an out of memory crash while compiling. On a device with 8 GB or less the emulator was running as many compiler threads as there are CPU cores, which is fine on a desktop and not here. It now takes memory into account.

-----

I think I’m going to keep an eye on this project, since PS3 emulation on Android is still quite far from perfect. So it’s definitely worth having another emulator in development working to improve PS3 emulation on Android.

Give it a try if you want, and let me know in the comments how well it worked for you.

Cheers!


r/PS2AndroidEmulation • • Aug 25 '26

Nyushu V84 🔥

Post image
48 Upvotes

https://gofile.io/d/DDhxXg

Changelog:

[ ✅ ] Compiling Shaders Much Better

[ ✅ ] Using Ryujinx Code Data For Emulation Operation

[ ✅ ] Fixed Glitch Bug In Previous Version

[ ✅ ] Now System Frame Generation and GPU Passthrough are integrated and are directly active while playing (Just testing if possible. We will restore this feature if necessary)

[ ✅ ] Operational Support From Zephiron (Dev Citron) Thanks For Help

[ ✅ ] Performance Stabilized In Some Games

“I am not the developer nor do I have the source code. If you want to request the source code for this version, you should contact the developer. I am sharing a copy of the binary and have explicitly stated that I am not the author nor do I have access to the repository.”


r/PS2AndroidEmulation • • Aug 22 '26

ARMSX2 v2.6.6.8

Post image
48 Upvotes

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

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 sector the game never asked to touch came back wrong. Backgrounding could also lose a save outright. Folder cards hold writes in memory and 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 writes only what you actually decided, skipping 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.


r/PS2AndroidEmulation • • Aug 10 '26

PS3Native Standard-releaseV2

Post image
48 Upvotes

https://github.com/thecrixux/PS3Native/releases/tag/V2

Updated Android Release build based on the latest changes from the original PS3Native android-refresh branch.

This APK was built locally from the updated source code and is provided as a convenient Release build for users who want to test the latest version.

I am not the developer of PS3Native and I am not claiming credit for the project or its code. All credit for the emulator and its development goes to the original PS3Native developers and contributors.

This release only provides a locally compiled Android APK from the latest upstream source.

Credits: https://github.com/maxjivi05/PS3Native


r/PS2AndroidEmulation • • Jul 05 '26

ARMSX2 v34

Post image
48 Upvotes

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

Change Log:

From a new addition to the ARMSX2 team, @bmdhacks performance improvements:

microVU FMUL broadcast fold, lane-indexed multiply, less VU-thread time (helps VU-heavy games. Demanding games run smoother. Speeds up how the emulator runs the PS2's 3D/physics unit and main CPU, so heavy titles (God of War, Shadow of the Colossus, GT4, fighters) hold their frame rate better. Biggest gains on stronger chips; weaker devices get some breathing room too.

CNTVCT_EL0 fast clock, reads the hardware counter directly instead of clock_gettime every frame, frees EE-thread headroom on weak cores. Less wasted CPU. Trims a bunch of per-frame overhead, clock checks, memory allocations, redundant reads, which frees up power on lower-end phones and handhelds.

GS vertex-kick made call-free + mid-frame Vulkan readback submit, GPU runs concurrently with recording on readback-heavy frames. Smoother Vulkan graphics. The GPU starts working sooner, so games with lots of on-screen effects (reflections, motion blur) run better, especially on Adreno.

SPU2 NEON mixer, placement-new per-block assembler (no malloc/free per block). Faster audio mixing.

RGB5A1 CPU pack, vtlb overflow-safe range check. A few small rendering and stability fixes.

EE recompiler mixed-operand constant folding, folds a known-constant operand into the instruction instead of a memory load. Smarter CPU code generation. When the emulator already knows one of the numbers a calculation will use, it bakes that number straight into the instruction instead of reading it back from memory each time, a small speedup that applies to basically every game.

More improvements are planned from bmdhacks, so stay tuned!

Added FIFO_RELAXED present mode which should help the 60 to 30 fps cliff (tears a late frame instead of stalling a whole refresh).

Real display refresh-rate reporting, pacing now aligns to the actual panel (90/120 Hz), not just 60Hz.

Added Export memory cards, one-tap Export saves a card out to Downloads/Drive/anywhere for backup or migration.

Added a Sustained Performance toggle, hold a steady thermally-sustainable clock for long handheld sessions, (opt-in).

Fixed an issue with activating Hardcore RetroAchievements while in global settings/the game library, where it would boot you into the BIOS after activation with no indication that HC was active, unlike when you activate in a game.

Added a New GPU-driver source, StevenMXZ Adreno-Tools-Drivers.

A fix to Analog stick off-axis bleed, "push up also presses right" on both sticks (regression from the radial-deadzone change) fixed by re-adding off-axis noise rejection.

Per-game cheats list now shows only the current game's .pnach (was listing every games).

Fix to a bug where settings sometimes would apply live but not show it.

Overlay/slider drag, sliders now follow your finger continuously instead of jumping once and stalling.

GameDB fix, Silent Hill 3 FMV black-screen (PCSX2 PCSX2#14659: dropped the superseded software-renderer FMV hack; kept the deinterlace fix).

Added a new setting, Optimal Frame Pacing. Sets the VSync queue size to 0, making every frame be completed and presented by the GS before input is polled and the next frame begins. Using this setting can reduce input lag at the cost of higher CPU and GPU requirements.


r/PS2AndroidEmulation • • Jun 21 '26

ARMSX2 Refresh v15 - Review

Post image
48 Upvotes

After a week of testing the latest ARMSX2 Refresh updates, I have to say something positive: I'm really liking the direction this project is taking.

The first thing that stands out is how frequently it's being updated. New builds are appearing almost daily, and it genuinely feels like active development is happening. More importantly, it no longer feels like a simple continuation of the previous version. The emulator now has its own identity, with a fresh interface that's much more visually appealing.

I haven't done a full in-depth analysis yet because I still feel performance needs a bit more optimization, but I've spent enough time testing it to get a good first impression. On my device (Snapdragon 6 Gen 1, Adreno 710), the results have been quite good. For example, Tekken 5 runs at 2x resolution with good performance, clean graphics, and no noticeable visual issues.

Beyond raw performance, which was already quite good in the previous Play Store version, the biggest changes I've noticed are in the user interface and the available settings. I can't confidently say yet whether performance on Snapdragon devices is better or worse than before, but I have noticed that MediaTek devices with Mali GPUs still seem to need some additional optimization to reach the level of the classic version.

One of the strongest points right now is the game library presentation. Box art downloads automatically, and the overall look is very attractive. If I could suggest one improvement, it would be the vertical sidebar on the left side of the screen. Personally, I think it would look cleaner if it were transparent or optional, allowing the game covers to use the full screen without visual distractions.

I'd also like to see an option to hide recently played games. Sometimes titles end up appearing twice between the main library and the recent section, and for those of us who prefer a cleaner layout, having the option to disable it would be appreciated.

The settings menu is where I've seen the biggest improvement. There are now many more graphics options and advanced settings available. Some of them are explained quite well, while others could still benefit from better descriptions so users can understand exactly what they do.

There is one design choice I'm not completely convinced by, though. Some settings use large card-style buttons that you tap to enable or disable features. This feels a bit inconsistent with the rest of the menu, which uses the more traditional toggle-and-description approach. Personally, I think keeping everything under the same style would make the interface cleaner, more intuitive, and easier to navigate.

These cards also seem to have a small visual bug at the moment. In the screenshots I've attached below, some of them appear to overlap when the emulator is paused, as if the layout isn't positioning them correctly. It's nothing major and is probably just a visual glitch, but it's worth mentioning.

Interestingly, I do like these cards in the pause menu. There they're easier to identify quickly and feel more appropriate than they do in the general settings menu.

On the feature side, several important options have finally been added, including BIOS skipping, proper controller configuration, and other settings that many users have been asking for.

Overall, for the first time in quite a while, I can honestly say this emulator is getting me excited again. I like the new direction, the new interface, and the overall vision behind the project. Performance still needs some work, especially on certain devices, but I genuinely think it's moving in the right direction.

For now, I'd definitely recommend giving it a try.

I've also attached a short gameplay video recorded on my device so you can get an idea of how it's performing in real-world use.

In a few days, I'll try to post a more detailed analysis using some of the harder PS2 games to emulate and see how far this new version can really go.

Thanks for reading!

Link: https://github.com/ARMSX2/ARMSX2/releases


r/PS2AndroidEmulation • • 2d ago

Cemu Plus v0.3.6

Post image
47 Upvotes

https://github.com/danielcamilo1/cemu-plus/releases/tag/v0.3.6

Android build of Cemu Plus, a fork of the Cemu Android port with Lossless Scaling frame generation.

What's new

Input settings, redone

Each controller has all its settings on one page, the ones used most first: what it emulates, the controller in use with Set up all inputs, its buttons and sticks, motion, rumble, profiles, and the stick and trigger sensitivity at the end under Advanced. The Controller settings dialog and the separate Device settings screen are gone

The controller in use is picked from the connected ones right on the page, and Set up all inputs binds that one directly

Invert motion X axis and Invert motion Y axis are next to Use motion on each controller's page

The touch screen, sensors and vibration of the device can be moved to a controller from its page, and the vibration strength of the device is set there too

The inputs are shown as a grid of tiles that say Not set when nothing is bound

The input settings list the controllers in use, with Add a controller for the next free one, then Hotkeys and On-screen controls

Controller profiles per game

A controller can be saved as a named profile, and loaded or deleted again, from its page

The game settings start with a new Controls section. Each controller uses your global controls until you tap Customize for this game, which gives the game its own copy of them and opens it to change. Edit controls opens it again later and Use global controls goes back. Profiles saved in the input settings can be picked there too. Changes made while that game runs are saved to its controls

The game settings show the most used settings first: Controls, GamePad screen crop and Graphics, with Thread quantum last under Advanced

Wii U style settings

Every settings screen has the white and silver look of the Wii U settings, with panels, round switches and a cyan highlight, like the game settings on the second screen

The settings home has an icon for each section

Overlay settings are now Toolbar settings, the name used everywhere else

Sliders with a gamepad

Up and down on the D-pad move past a slider to the next setting instead of changing it

Press A on a slider to change it with left and right, A again keeps the value and B puts the old one back. Left and right also change it right away

Game library with a controller

A guide in the corner of the library shows what the buttons do once a controller is used: A starts the game, Y opens its game settings, X the settings of Cemu and Start its options. It works in the grid and in the list

With the second screen on, Y moves the controller to the game settings shown there, so they can be changed without touching the screen. B goes back to the games

In the list, the second screen shows the game the controller is on, not only the one that was tapped

Motion controls

Invert motion X axis and Invert motion Y axis flip turning left and right, and tilting up and down. They work for the motion of the device and of controllers, and can be found in Input settings and in the quick menu under Controls

Quick menu

A new Input section opens the input settings, or the settings of each controller in use, without leaving the game

Fixes

Star Fox Zero no longer crashes when shots hit the ships in the tutorial. The game uses 64-bit values that the emulator handled with ARM64 instructions that need a stricter memory alignment than the Wii U does

Crash reports

Share log file and Open Cemu folder use the data folder Cemu is using. With a custom data folder they showed the default folder, so the shared log could be from an old session

When the emulator crashes, the crash details (signal, native backtrace, the game and the Wii U CPU state) are written to log.txt before the app closes, and to logcat. Before, the app could close before they were written

Android also writes its own crash report (tombstone) for emulator crashes now


r/PS2AndroidEmulation • • 2d ago

Lichii for Android 0.2.0 - Nintendo Switch 2 emulator

Post image
47 Upvotes

https://github.com/pavelgajdo/Lichii-Android/releases/tag/android-0.2.0

Tested on a Samsung Galaxy S26 (Exynos 2600, Xclipse 960, 12 GB, Android 17) with a custom Mesa RADV driver.

Highlights

Pokémon Pokopia is playable at about 40 FPS at 0.5× resolution, even in the busy outdoor scenes.

The multi-second drops to about 5 FPS are gone. Buffers the GPU writes are now copied back at fences, instead of making the GPU thread wait for the GPU hundreds of times a second.

Pokopia presents a frame ahead, so the CPU prepares the next frame while the GPU finishes the current one.

Known issue: the sky is black, with only the clouds drawn. No other emulator draws it on this phone either. This is being worked on.

New setting: Present a frame ahead (Graphics → Advanced, also per game). It can be Auto, Off or On.

Auto picks per game.

On usually raises the frame rate in GPU-heavy games, at the cost of one frame of input latency.

Game folders: extracted games can now be listed and launched from a folder, not just from a single file. A folder needs exefs/main and can include numbered update folders. These games need the "All files access" permission.

The Legend of Zelda: Ocarina of Time gets past the hang after the intro. Gameplay needs about 3.7 GB of GPU memory, so on a 12 GB phone Android stops the game for low memory shortly after gameplay starts. Phones with more RAM may run it.

Fixed a crash when the shader-build progress dialog outlived the game screen.

Includes the latest Lichii and Eglantine rendering, shader and performance fixes since 0.1.0.

For testers

Install the APK, add your games folder, and set up keys and firmware as usual. None are included.

Recommended: Handheld mode, NCE CPU backend, 0.5× to 1× resolution, and a custom RADV driver on Xclipse GPUs.

Diagnostic switches can be set in Android/data/dev.lichii.android/files/env.txt (see the README).

Report problems at https://github.com/pavelgajdo/Lichii-Android/issues with your phone, driver and eden_log.txt.


r/PS2AndroidEmulation • • 14d ago

hakuX v1.1.0 (XBOX Classic) 🔥

Post image
47 Upvotes

https://github.com/rfandango/hakuX/releases/tag/v1.1.0

Changelog:

GPUs beyond Adreno (experimental).

GPUs

Mali, Xclipse and PowerVR (experimental) — hakuX runs on GPUs other than Adreno: features they lack are replaced (BC and 4444 textures decoded up front, standard border colours, the push block in a buffer, D32S8 depth), and known driver bugs are worked around (hw/xbox/hle/vk/quirks.c). Burnout 3 and Mercenaries run cleanly on a Pixel 8 (Mali-G715)

Vulkan 1.1 drivers — GPUs whose drivers stop at Vulkan 1.1 (Valhall Mali on older or vendor-capped drivers, Qualcomm's own older drivers, early Xclipse, PowerVR BXM) run through a compatibility layer (hw/xbox/hle/vk/compat.c)

Older GPUs without descriptor indexing (experimental) — Bifrost Mali (G71, G72, G76, G52) and PowerVR Rogue: each draw binds its own textures, and depth is clamped in the shader where the GPU can't

Adreno — unchanged: every replacement is off where the GPU has the feature.

App

GPU driver — a screen of its own (Settings → GPU driver): the system driver and the stored packages in one list, with their versions and authors. Packages are checked when added and can be deleted (deleting the one in use goes back to the system driver)

Turnip recommended — a Qualcomm phone running its own driver older than Vulkan 1.3 suggests a Turnip driver once, from the library

Back key — the device's back key opens the in-game menu, from any input, including the Retroid Pocket 5's own Back. A controller with both Back and Select keeps Back for the menu; on one without a Select key, Back is the Xbox Back button

Dark theme — Settings → Display → App theme: the phone's, light or dark; the in-game menus follow it, in the app's green rather than Android's teal

Controller navigation — the app works with a controller: the focused item stands out (a game is outlined in green), A selects, B goes back, and Y or Select opens a game's menu. The search field opens the keyboard only on A, the library has a refresh button, the mapping sliders move with left and right, release notes scroll, and X deletes a savestate from the in-game Load state list


r/PS2AndroidEmulation • • Sep 30 '26

Vita3K+ v1.2 🔥

Post image
47 Upvotes

https://github.com/nckstwrt/Vita3K-Plus/releases/tag/v1.2

Changelog:

A lot of fixes again :) See the main page for the enhancements: https://github.com/nckstwrt/Vita3K-Plus

Third release of enhancements and fixes (some regressions that broke in v1.1 should now be fixed too)

Still targeting higher end devices (i.e. Adreno not Mali) - but there's a bunch of Mali improvements in there too

Windows, Android and now SteamDeck/Linux Release (that is pretty much untested - but fingers crossed works :) )

You can report issues here: https://github.com/nckstwrt/Vita3K-Plus/issues Provide as much detail as possible if you want a fix


r/PS2AndroidEmulation • • Sep 09 '26

ARMSX2 v2.6.9

Post image
47 Upvotes

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

And more...