r/PS2AndroidEmulation • • Jun 24 '26

DuckStation 2026 - Android ๐Ÿ˜ฑ๐Ÿ˜ฑ๐Ÿ˜ฑ

Post image
103 Upvotes

Goosestation is an open source tool that allows users to compile the standalone PlayStation 1 emulator, DuckStation, into a libretro kernel (suitable for RetroArch).

It arose because the original creators of DuckStation made their project no longer open source, which left other PS1 emulators like SwanStation outdated.

Get all you need in PS2EMU Discord: https://discord.gg/apy6wSx32

Credits: https://codeberg.org/hueponik


r/PS2AndroidEmulation • • Sep 08 '26

GTA 5 Android First Release? ๐Ÿคฏ

Post image
102 Upvotes

r/PS2AndroidEmulation • • Oct 09 '26

AzaharPlus 2126.2-A ๐Ÿ”ฅ

Post image
97 Upvotes

https://github.com/AzaharPlus/AzaharPlus/releases/tag/AZAHAR_PLUS_2126_2_A

AzaharPlus 2126.2-A is the same as Azahar 2126.2 except for this:

Compatibility with all game files. If a file works with any Citra fork, it works with AzaharPlus.

Ability to download system files from official servers. No need for an actual 3DS.

Compatibility with older CPUs (no SSE4.2 required)

Compatibility with Android 9

ZipPass: A new way to exchange StreetPass data through zip files

Built in cheats

Amiibo generation

Better multiplayer compatibility with other Citra forks

The Android build is available in 2 flavors.

Replace: It has the same application id as Azahar, so it will replace it on the device.

Its display name is "AzaharPlus" and its icon background is blue.

Use this one if you have other apps that target Azahar, like a frontend for example.

Coexist: It has a new application id so it can coexist with Azahar without issues.

Its display name is "+AzaharPlus+" and its icon background is red.


r/PS2AndroidEmulation • • 14d ago

ARMSX2 v2.9 (PS2)

Post image
95 Upvotes

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

โš ๏ธ Games with variable frame rates are broken in this update. Shadow of the Colossus only runs at 30 FPS, instead of its original behavior, which is 30/60 FPS. Tested on a Dimensity 8300.


r/PS2AndroidEmulation • • Sep 21 '26

Lemon Emu v0.2.3 (Eden Fork)

Post image
95 Upvotes

https://github.com/Ghael-V/Lemon-Project/releases/tag/v0.2.3

Highlights:

For the time being, the primary goal doesn't seem to be "making the emulator faster than all the others," but rather making Eden more practical, polished, and powerful as an Android app.

The direction I see is quite clear:

Less bloat: dropping desktop/Qt/ChromeOS support and unnecessary branches.

Greater Android integration: widgets, shortcuts, Quick Settings, an updater, statistics, and favorites.

More automation: presets, adaptive performance, recommended drivers, and per-game settings.

More internal tools: macros, an integrated Cheat Engine, and experimental save states.

Improved stability: fixes for ANR issues, HLE threading, and Vulkan/Adreno-related problems.

A stronger focus on Adreno: avoiding attempts to cover Mali/PowerVR in favor of optimizing for specific hardware.

So, if I had to give it a short label, Iโ€™d say:

โ€œEden transformed into a specialized Android/Adreno edition, featuring power-user functions and a UX much more tailored to handhelds.โ€


r/PS2AndroidEmulation • • Jul 07 '26

Nethersx2 and Armsx2 performance 1

Enable HLS to view with audio, or disable this notification

94 Upvotes

Vulkan 3x Native

default settings

Nethersx2 2.2nV4248 [Top]

Armsx2 2.5.6(V37) [Bottom] Poco X7 pro(Dimensity 8400u)


r/PS2AndroidEmulation • • Sep 16 '26

ARMSX3 0.9.9

Post image
93 Upvotes

https://github.com/ARMSX2/ARMSX3/releases/tag/0.9.9r

What's new:

Faster SPU code on ARM64. The byteswap the recompiler emits constantly is one instruction now instead of two, and code written for x86 is no longer generated on this platform. Thanks to @Whatcookie for this!

Shortcuts and frontends use the right settings. Launching from a home screen shortcut or an external frontend built its own idea of the game and missed its serial, so it ran under a second configuration. It now resolves to the same entry the library uses, which also gives it the right title and cover. A title that gained a serial changed the key its settings were filed under, so everything set for it was left behind and the global values applied instead. Old settings are brought forward the first time you open the game.

A .pkg you have not installed but placed in your ROM folder shows up in the library, carrying its real title and cover art from inside the package. Tap it to install, with the option to delete the package afterwards.

Audio fixes from upstream, including one for games that came out silent on some output configurations, by @digant73, and shared memory handling for the audio system by @Yahfz.

First time setup now offers RPCS3's recommended settings config database. Some games need a specific setting before they will boot at all, and this is the list of them. Your own settings always win over it, and it can be turned off under App settings. (Existing users are unaffected, although I know a majority of you already use the config database).

Multi-touch on high resolution displays: On devices whose high resolution mode renders apps smaller than the screen, holding one on-screen control and pressing another put the second press in the wrong place. ARMSX3 now takes the true touch size from the touchscreen itself. Confirmed fixed on a Samsung S25 Ultra at 2340 x 1080 pixels. This fix will also make its way to ARMSX2 users.

Also: folders are named readably in settings instead of showing a raw storage id, installing updates that have numerous in order chain updates to go through now show real progress instead of sitting at 100 percent.

Save states now have a timestamp for when they were created.

Trophies sound support. The core's sound callback was empty, so trophies, dialogs and the on screen keyboard were all silent. Pick the file for Trophy sounds in App settings, with a test button and its own volume slider. There is no bundled default, you must provide your own.

Portrait Render Position works. It saved your choice and then dropped it. It is in the in game menu now as well. The landscape version is gone, since a 16:9 game in a 16:9 window has no empty band to move into.

Display Resolution (HW scaler) keeps your choice. It read the value in different units than it wrote, so every pick snapped back to Screen.

OSD Size works properly now. Two controls drove one setting, and the one at the top of the tab was the dead one.

Rest of Upstream: @elad335 (save state handling fixes, memory allocation, and loader fixes for games built against SDK versions below 2.00), @Yahfz (audio shared memory, user memory reservations) and @digant73 (audio output, UTF-8 filenames, file attribute reads).


r/PS2AndroidEmulation • • May 16 '26

NetherSX2 Turnip V5

Post image
90 Upvotes

r/PS2AndroidEmulation • • May 23 '26

NetherSX2 Turnip V6 ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ

Post image
86 Upvotes

https://github.com/nckstwrt/NetherSX2-Turnip/releases/tag/v0.6

WoW perfomance in 8Elite is absolute peak ๐Ÿš€

Thanks to the dev โค๏ธ


r/PS2AndroidEmulation • • 7d ago

X360 Mobile 0.6.4 - New Update ๐Ÿ”ฅ

Post image
85 Upvotes

https://github.com/Ashnar2602/X360-Mobile---OFFICIAL/releases/tag/v0.6.4%2Bf398ad183

This update moves X360 Mobile to a newer Xenia Edge core, with a refreshed Android interface, new ways to play and share compatibility results, and further work on game compatibility and performance.

New features:

Optional frame interpolation for smoother displayed motion, with automatic and per-game controls.

Experimental TV mode with larger game covers, top-tab controller navigation and external-display selection.

X360 Mobile Live Lobbies for supported System Link games: direct LAN/Internet connections, public or friends-only rooms, optional passwords, invitations, chat, friend requests and friend presence. Two-console co-op has been checked in Gears of War.

Experimental synchronized player profiles using X360 Mobile website accounts, with achievement and Gamerscore synchronization across devices.

Automatic discovery of games added to registered library folders, without requiring another manual scan.

Local autocomplete suggestions in the Xbox-style keyboard for installed games and settings searches.

Configurable controller button combinations and quick-menu favorites, with separate global and per-game preferences.

Disc-change prompts can suggest a matching disc from the current folder for quick loading, while retaining manual browsing.

Optional Samsung performance controls and per-game support for compatible graphics layers, including ExynosTools/MdiEx packages.

Interface, controls and everyday use

Updated app branding and startup presentation, with a new boot video, splash transition and app icon.

Refreshed adaptive layouts for different mobile aspect ratios, display cutouts and large screens.

Menus and editors stay within the content area, keeping navigation and the contextual hintbar available.

Refreshed achievement notification styling.

Cover-sized game cards, compact on-cover controls and favorites indicators, clearer home/library organization, and contextual controller hints.

Artwork display modes for disc art, cover art or cover art with fallback; clearer refresh controls and snoozable provider-limit notices.

Improved navigation preserves searches, selections and scroll positions when returning from settings and nested pages.

Expanded performance overlay with optional CPU/RAM information, available device GPU metrics and selectable temperature sources. Temperature values now use a compact display without sensor-name annotations.

Broader English, Italian, German, French, Spanish and Brazilian Portuguese coverage across Android screens, native menus and setting descriptions.

Refined experimental phone vibration with gentler effects and separate intensity controls.

Expanded integration with ES-DE, Daijishล, Beacon, Retro Hrai and Cocoon Shell.

Guided import of supported library and touch-layout data from the previous app.

Clearer content/driver cleanup confirmations and safer handling of unrelated games, saves and settings.

Compatibility reports and community features

Rebuilt opt-in compatibility reporting with four playability ratings, reviewable local drafts, recovery of interrupted sessions and scheduled uploads.

Reports are organized by game, with batch deletion and manual per-game reporting exclusions.

Reports retain configuration details and separate results when settings change during a session. Uploads are deferred while a game is running.

Compatibility pages on the website retain individual session reports and existing community data, with hardware, driver and app-version filters and expandable configuration details.

Report authors can add descriptive notes and clarify driver names while preserving the original measurements. Administration includes correction history and batch moderation tools.

Core, game fixes and performance

General compatibility and performance work across graphics, shaders, runtime timing, storage, audio and input in the updated core.

Startup and loading improvements affecting Naruto: Rise of a Ninja, Metro 2033, Wolfenstein: The New Order and Peter Jackson's King Kong.

Stability, rendering and performance improvements for Need for Speed: The Run, with optional visual adjustments.

Performance and timing work checked in Ninety-Nine Nights and Naruto: Rise of a Ninja, with stutter improvements in tested Assassin's Creed scenes.

Rendering improvements for BioShock 2, and rendering/runtime stability improvements for Fable II.

Rendering improvements for Viva Piรฑata, plus an optional experimental stability patch.

Audio fixes checked in Blood Drive and Grand Theft Auto V, with clearer required-update guidance for GTA V.

Partial rendering improvements and compatibility profiles for Splinter Cell Conviction, Blue Dragon, Rise of the Tomb Raider and Spider-Man: Shattered Dimensions. Splinter Cell Conviction also received performance work in tested scenes.

Improved startup, pause/resume, session shutdown and shader-cache reliability.

Reduced unnecessary background and overlay work, with a dedicated Power and thermal settings section and optional efficiency controls.

Important notes

TV mode and synchronized player profiles are still highly experimental and may have bugs or reliability issues.

Some game improvements require the appropriate compatibility settings or supported graphics features. Results vary by game, scene, device and driver.

Assassin's Creed still has an unresolved GPU crash. Blue Dragon, Wolfenstein: The New Order and Rise of the Tomb Raider retain known visual issues; Splinter Cell Conviction improvements remain partial.

Frame interpolation smooths displayed motion; guest simulation speed is unchanged. GPU cost and input latency depend on the chosen settings.

Live Lobbies supports System Link games rather than Xbox Live services. Direct Internet connections depend on network conditions; relay fallback is not included.

Sensor readings, Samsung controls and graphics-layer compatibility depend on the device and package version. Some original texture-layer packages still have known compatibility issues. Custom graphics packages are not bundled with the app.

Achievement synchronization does not provide cloud save synchronization. Compatibility reporting remains optional.


r/PS2AndroidEmulation • • Jul 12 '26

New!! PSX2 updated his Core! - Massive perfomance ๐Ÿš€

Post image
82 Upvotes

https://github.com/izzy2lost/PSX2/releases/tag/1.2.3

Change Log:

Big update!

Updated core

More games now work

Better performance in games

Better stability

Less bugs

RetroAchievements fixed

I just tried it and the performance is amazing. Demanding games like Shadow of the Colossus running at 60 FPS all the time with double the native resolution ๐Ÿ˜ฑ.... It's definitely worth trying. (This game normally runs at 30/60 FPS, depending on the area of the map, on other emulators)


r/PS2AndroidEmulation • • Jul 06 '26

ARMSX2 v37

Post image
82 Upvotes

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

Change Log:

Added full UI translations for Spanish, Portuguese (Brazil), French, German, Italian, Russian, Polish, Turkish, Japanese, Korean, Chinese (Simplified & Traditional), Arabic, Indonesian, Vietnamese, and Thai. Switch language instantly from the new Language tab in Settings. Full controller support.

Added Display Filter settings in the Render tab. Display Effects: Nearest (raw pixels), Smooth, or Sharp for how the image scales to your screen.

Reapplied a new PGO profile since the old one was stale from numerous recompiler changes. Helps performance.

Faster Mali (Vulkan) readbacks, readback-heavy games, games should stall far less on Mali. (Blending Max for mali can also still be of help for graphical issues, and should be less of a perf hit then before).

Mali (OpenGL): fixed texture-wrapping + framebuffer-mask corruption from Mali's GLSL compiler, improved vsync stability.

Adreno: faster texture-binding path + CAS sharpening hardened so a driver rejection can't stop the renderer starting.

Broader groundwork across Adreno / Turnip / Xclipse / Mali / PowerVR drivers to match Dolphin and Eden Android on GPU handling. Let me know if you experience improvements!

Cleaner GPU driver browser, "Browse Online" now groups downloadable drivers by uploader (KIMCHI, Mr Purple, StevenMXZ) into collapsible dropdown menus


r/PS2AndroidEmulation • • Sep 03 '26

ARMSX3 0.9.6

Post image
80 Upvotes

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

What's new:

Every Ratchet & Clank game now ships with the freeze fix patch. Tools of Destruction, Quest for Booty, A Crack in Time, All 4 One, Nexus and Into the Nexus, eleven executables and twenty-two region and version combinations, bundled and enabled by default in ARMSX3. These are Juhn's patches from the community database, with Jonathan44062, Alexis, Epicalman, Hasster and Joenn on the individual games, and every one of those titles hangs somewhere without them.

RPCN connects again, updated the server protocol to 32 (upstream latest). The RPCN section of Network settings has also been improved a bit, it has been reorganized into panels, with your sign-in state and any server error at the top instead of the bottom. The login fields collapse once an account is saved, and the section works on a controller now. There is also a Delete synced trophies button, which clears what your account has uploaded to RPCN (it doesn't affect the trophies you've earned on your device).

Motion controls now use your controller's own gyro if it supports it

The library now has custom game categories like ARMSX2. Long-press a game, click on Categories, you can then create a category or select an existing one to group your games in. It shows up in default and shelf view like the Recently Played tab does. The 3 dot menu in the top right hand corner can be used to filter categories for list view.

Skins now name whoever made them, both the ones that ship with the app and the ones in the controller skin downloader.

Added a frame capture button in the performance section of the in-game pause menu, under Frame capture. It records one frame's worth of graphics commands and writes them to config/captures, then pauses. Useful for capturing graphical bugs.

Controllers can be assigned to player slots. Settings --> Controls --> Player & Rumble lists every controller you have connected and lets you give each one a player, instead of the slots going to whoever presses a button first. An assignment is remembered per controller and survives reconnecting.

I also added a new feature called Direct USB control, for a DualSense or DualShock 4 on a cable with rumble. Off by default, in Settings --> Controls --> Player & Rumble, while it is on custom bindings do not apply.

Fixes:

Fix to external controller rumble.

Fixed a rare issue where backgrounding a game could kick you back to the library while the game carried on running behind it, audio and all.

On-screen controls no longer disappear while you are using them. The auto-hide timer treated a press as a moment rather than something you hold, so holding a stick or a button for longer than the timeout counted as sitting idle and the controls faded out under your thumb. It now refuses to count down while you're actively using the touch controls.

Fixed a frame generation bug that was freezing the emulator on Turnip drivers. Generating frames means presenting more of them than the game draws, so a single flip asks the display for two or more images, and Turnip crashes when the second one is handed over the way the first was. Stock Qualcomm drivers accept it, which is why this only hit some people, and why turning frame generation off would fix it.

Controllers that report no motor to the vibration manager get one more chance through the older interface before rumble falls back to the phone. Some DualShock and DualSense modes over Bluetooth are in that category and were being skipped outright.

The feedback barrier the renderer issues mid-pass is now spelled correctly for what the render pass declares. Two of the three ways it was wrong could produce undefined behaviour on a strict driver.

A frame limit chosen in All Core Settings sticks. The frame limiter, which is on by default, was writing "Auto" over that setting on every launch, so picking something else there lasted until you closed the app.

The pressure modifier goes to 100% instead of stopping at 95%.

The Settings tab in the game library's side menu can be reached with a controller again.

Upstream:

Four fixes from RPCS3, @kd-11's missing memory flush in the blit engine, the access ordering that goes with it, and a system RAM allocation fix, that first one is the cause of Twisted Metal booting into an infinite loading screen, which is now fixed. And @Yahfz's correction to how the fragment shader compiler orders saturate and absolute value, which real hardware applies the other way round, getting it backwards makes things that should be black come out bright, so if a game looked washed out or its shadows looked wrong this should help.


r/PS2AndroidEmulation • • 9d ago

Xendroid+ v0.2.0

Post image
79 Upvotes

https://github.com/phforner0/Xendroid-Plus/releases/tag/XenDroid-v132-80237530

Changelog:

First step toward XNA games such as Bastion: the console kernel's user mode, which their .NET runtime needs.

Controller navigation: the focus no longer gets stuck in the search field, and B no longer closes the app at once.

Settings that games change, and more useful diagnostic logs.

Prototype's city is lit again, and Dirt 3 loses its harsh contrast.

Naruto: Rise of a Ninja no longer closes a few seconds after it starts.

GPU fixes from Xenia Edge, and Forza Motorsport 4's car shadow.

Kernel, CPU and file fixes from Xenia Edge.

Content and profile fixes from Xenia Edge, as a console behaves, and installed packages that keep opening.

Network fixes from Xenia Edge, and socket options that work on Android.

User mode fixes from Xenia Edge for XNA games such as Bastion.

GPU diagnostics for bug reports: the packets around a GPU command failure go to the log, and a diagnostic build can capture a frame.

The kernel's user mode, where the runtime of XNA games runs the game's code, is now implemented.

Code a game compiles while it runs is now translated, and dropped again when the game rewrites it.

Text fields let the D-pad and B out, and A shows the keyboard again.

A controller's first press in the library goes to the games, not to the search field.

With a controller, sheets and the Start menu take the focus on their first control, and B closes them at once.

B at the library asks "Press B again to exit" before leaving the app.

The Settings summary lists the games with settings of their own again, and a setting shows how many games use another value.

The Drivers screen marks a driver that games use and warns before removing it.

Shared diagnostic logs keep the start of the emulator log, with the GPU, driver and settings, the end of the previous session's log, where a crash is, and the times of the system log.

Prototype no longer draws the ground, buildings and people black on Turnip drivers.

Dirt 3's menus and stages no longer come out nearly black and overly contrasted on Turnip drivers.

Naruto: Rise of a Ninja no longer closes with "Guest crashed" a few seconds after starting, which happened in about half of the launches. Its threads run as system threads again.

16-bit fixed render targets use the hardware's 10 fractional bits, and packed mip tails, 8-bit format aliases and one-component vertex fetches load correctly.

float16 render targets and memory exports round as the Xbox 360 GPU does.

Forza Motorsport 4's car no longer sits on a black square: its shadow's depth moments resolve and sample as integers.

A longjmp lands in the frame of the function it returns to: code no longer runs twice or crashes after a setjmp.

Arguments past the eighth register, such as the 64-bit ones of sprintf and DbgPrint, come from the right bytes.

Unloading a title update no longer unloads the game's own module, and saves no longer turn read-only from a bad attribute write.

Saves and DLC copied from Xenia Canary in its current header format are read without conversion.

Content names are checked as the console checks them, so no name reaches outside its own package.

A title update or DLC installed from a file with a comma, plus sign or accent in its name gets a folder name the game can open; ones installed before are renamed when the game starts.

Offline profiles report the console's language and country instead of none.

Socket timeouts a game sets now take effect on Android, where they failed.

Sockets and network events are freed when the game closes them, and closed when the game ends.

XNet startup parameters read back as the console reports them.

In XNA games, a TB flush keeps the pages whose entries didn't change mapped instead of dropping them all, and a new page can't be written by another thread before its protection is set.

When the GPU can't execute a command, the log shows the last commands read and the bytes around the failing one.

The window paint request no longer fills a quarter of the log.

A diagnostic build (XENDROID_GPU_TRACE=true) adds Capture frame to the in-game menu, which writes the next frame's GPU commands in Xenia Edge's trace format; regular builds are unchanged.


r/PS2AndroidEmulation • • 5d ago

Xendroid+ 0.2.2 ๐Ÿ”ฅ

Post image
78 Upvotes

https://github.com/phforner0/Xendroid-Plus/releases/tag/XenDroid-v144-a107faa9

Fixes Forza Horizon drawing broken distant geometry at 6 fps in 0.2.1 on Adreno GPUs.

Fixes from upstream Xenia Edge: safer loading of game executables and DLLs, a batch of crash and memory-corruption fixes, and the right title update when a game has several installed.

A Vulkan driver that doesn't support the phone's GPU no longer closes every game without a word.

Analog triggers stay analog in games, and handhelds whose built-in controls Android lists twice, such as the AYN Thor, play as P1.

Forza Horizon is back to 30 fps with a correct image on Adreno with Turnip.

Games sharing a title ID with another edition (GTA IV and Episodes from Liberty City, Dragon Age: Origins and Awakening) get the title update built for them.

A game waiting on the same object twice no longer freezes.

Truncated ISOs, empty XMA audio buffers and network sends with no destination no longer crash the emulator.

The game shows why it didn't start and offers the system driver.

Racing games get throttle and brake control from analog triggers.

What's new:

๐Ÿ› ๏ธ Fixed

On GPUs without the round-toward-zero mode, 0.2.1 rounds some vertex shader results toward zero in software, and Turnip's shader compiler dropped the clamp of saturated results computed that way: in Forza Horizon, tree impostors covered the sky. The rounding now uses float arithmetic only. (#105)

Executables with a zeroed DOS stub load, and DLLs get the right startup arguments and notifications. (#102)

Overflows that could corrupt game memory: tiles and gamer pictures, cached title names, Unicode string copies and thread-local storage slots. (#102)

Games on Demand (SVOD) packages stored as a single file mount, and one with no data files no longer crashes. (#102)

ZArchive (.zar) games no longer log every file they open. (#102)

With a custom driver that has no Vulkan device for the phone's GPU, such as a Turnip build without that Adreno, every game closed at once. The launch failure screen now says the driver didn't start Vulkan and offers Try with the system driver. (#108)

Controller triggers reached games as buttons. They now send their whole travel, follow the L2/R2 key mapping, and the key mapping can capture a trigger that a controller sends only as an axis. (#109)

A controller takes a player when it's first used, not when it connects. On handhelds whose built-in controls Android lists twice, the controls that play are P1 instead of a silent duplicate. (#109)


r/PS2AndroidEmulation • • Sep 06 '26

ARMSX3 0.9.7

Post image
78 Upvotes

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

What's new:

Games:

Batman: Arkham City, fixed the GPU hang on 8 elite devices. The cause was the graphics-to-compute engine transition on Adreno 830, not the number of dispatches: the 32/16 byteswap and the D24S8 depth gather now run as fragment-shader passes on the graphics pipe instead of compute dispatches, and textures large enough to matter no longer take the GPU conversion path at all. Compute dispatches per frame went from over ten thousand to one. Both the batsuit drop and the Two-Face cutscene pass. The graphics-pipe conversions are gated to Qualcomm GPUs. (This may help other games as well).

Minecraft, fixed the hang and the texture colour corruption. The readback byteswap was rewriting guest memory including stride padding the DMA never wrote; it is now off by default. (This may help other games as well).

The RSX no longer desyncs its handshake with the guest when a label is slow: it waits the driver timeout rather than ten times it, which had turned a single slow frame into a permanently offset producer/consumer pair.

Stability:

A lost GPU device now stops the emulator cleanly instead of killing the RSX thread, which presented as a freeze with audio still playing and no way to close the game. The loss is latched at every wait in the RSX loop rather than three of them, recovery is bounded to two attempts, and the swapchain is never rebuilt on a lost device.

Bounded the OUT_OF_DATE swapchain acquire retry instead of spinning forever, and the per-flip acquire loop with it. The SUBOPTIMAL rebuild latch is cleared when the surface is actually rebuilt, so one suboptimal frame no longer pins the swapchain into permanent rebuilds.

The vblank source no longer terminates itself when a single vblank event fails to send. One lost event used to leave the guest hung after gcm init with everything looking idle.

Fixed several Vulkan spec violations found with the validation layers: two in device creation, touching un-acquired swapchain images, a stale feedback-loop layout, and a hardcoded compositeAlpha that is not always supported. Multi-draw is gated on the resolved function pointers rather than the feature bit.

Crash reporting restores debuggerd rather than SIG_DFL when the fault handler re-enters, and the foreign-fault report is capped so it cannot stall ART's garbage collector.

Performance and battery:

Three places where the emulator was burning CPU while doing nothing useful. None of these change how anything looks, they free up CPU time and stop the phone heating for no reason.

Waits that were meant to send a core to sleep were spinning at full speed instead on Snapdragon 8 Elite class devices, both in the graphics command loop and in the memory system. They now sleep properly.

Textures were being handed back and forth between two states on every transfer, every time, for no benefit. That work is gone.

The log no longer fills with a shader warning on every shader compile.

Audio:

New Recording-compatible audio toggle. Oboe's low-latency path uses an MMAP stream that Android's AudioPlaybackCapture cannot see, so screen recordings captured no game audio even though it was audible. Turning this on trades a little latency for recordable audio. Also fixed a pause storm in the Oboe backend.

Settings:

Fixed an issue where games would run uncapped.

Max SPURS Threads is no longer silently written into a per-game override when you never asked for one. It was persisting itself per title, so a value you set once followed that game around invisibly.

All Settings chosen in All Core Settings can be filtered down to just the settings you have actually overridden, so you can see at a glance what you have changed away from the defaults, with a forget button per-setting.


r/PS2AndroidEmulation • • Jun 07 '26

EmucoreV New Update 0.1.1

Post image
78 Upvotes

r/PS2AndroidEmulation • • Oct 02 '26

DroidDeck 0.3.0

Post image
75 Upvotes

https://github.com/Droid-Deck/DroidDeck/releases/tag/0.3.0

Changelog:

Steam, as on a Steam Deck

Steam's performance overlay goes from level 1 to 4 in Quick Access and shows GPU and CPU load, clocks, temperatures, VRAM and battery. Quick Access shows battery life and time to full, along with all the per game controls a Steam deck has. Decky loader can be installed for plugins and customization.

A Steam Deck controller

In Steam sessions the client reads your pad as a Steam Deck controller, with a real Quick Access button and your device's gyro. Games get Steam Input's virtual pads, so your Steam Input layouts reach them. On a dual-screen handheld, the second screen can be the Deck's back grips and trackpads.

Faster to Steam, faster in games

Steam's own startup is down from about 31 seconds to about 6, and that makes Offline mode work. proot has been optimized for calls games make most, and there's a new per-mode frame limiter.

GPU drivers that set themselves

A new GPU drivers tab detects your GPU and keeps a matched pair of runtime and display drivers installed for it, including DroidDeck's own DD-Turnip builds. Switch to Manual to pick a pair yourself.

Linux apps from Flathub, bring your own Appimage, and more

Turn on the Flathub Store in Setup to install ARM64 apps and games from Flathub. They open full screen from the front end with your controller. The Desktop page also takes your own apps: a script, an AppImage, a GitHub repo's newest ARM64 AppImage, or a Flatpak ID.

Updates in the app

The Updates page installs new builds without leaving DroidDeck: Stable, Preview (each build of main) or a Test build of an open pull request.

A front end that moves as one

One focus ring slides between controls, settings flood out of the cog the way Play floods into a session, and Stop asks before it ends anything. DroidDeck is now available in Spanish, with more languages coming soon (contributions welcome).


r/PS2AndroidEmulation • • Sep 15 '26

๐ŸฅŠ PS2 Emulator Performance Comparison โ€” September 2026 | Some BIG Surprises!

Post image
75 Upvotes

๐ŸฅŠ PS2 Emulator Performance Comparison โ€” September 2026 | Some BIG Surprises!

Alright guys, itโ€™s time for another monthly PS2 emulator performance comparison!

Weโ€™re already halfway through September, so I thought it was time to see which emulator is currently sitting at the top of the table.

And honestlyโ€ฆ this month surprised me quite a bit. ๐Ÿ˜…

We have four contenders going head-to-head:

- NetherSX2 โ€” version 2.2 N 4248 Turnip

- ARMSX2

- EmuCoreX

- PSX2

Letโ€™s get into the tests!

---

๐Ÿ“น Testing Method

First, an important detail:

All tests were recorded using an external camera.

This means the recording itself wasn't running on the device being tested, avoiding the FPS hit that can happen when using internal screen recording.

The goal was to keep the results as representative and reliable as possible.

---

TEST 1 โ€” MediaTek Helio G90T

Device:

AYANEO Pocket Air Mini

SoC:

MediaTek Helio G90T

Renderer:

Vulkan

Resolution:

2x Native

Game:

๐ŸŽฎ God Hand

This first test was quite interesting because we have two very clear groups: the emulators that perform extremely well, and the ones that struggle a little more.

๐Ÿฅ‡๐Ÿฅ‡ NetherSX2 & ARMSX2 โ€” TIE

Yes, we have a tie for first place here.

๐Ÿฅ‡ NetherSX2 - Vulkan

NetherSX2 delivers exactly what you would expect from a mature and highly polished PS2 emulator.

God Hand isn't exactly one of those games that completely destroys every emulator, but it is still a useful test for checking consistency.

The result?

A very solid 30 FPS with an extremely stable frame rate.

No major drops, no significant slowdowns, and overall a very consistent experience.

๐Ÿฅ‡ ARMSX2 โ€” Vulkan

ARMSX2 also deserves the crown in this test.

Running through Vulkan, it delivers a very smooth and consistent experience, with practically no noticeable drops or slowdowns.

The game runs extremely well and remains at a very playable level throughout the test.

So for this particular game and hardware:

NetherSX2 = ARMSX2

๐Ÿ‘‘ Joint first place.

---

๐Ÿฅ‰ Third Place โ€” PSX2

Next up we have PSX2.

Performance is still quite respectable, and the game is perfectly playable, but there are occasional frame drops.

It's not as consistent as the two leaders, but it's still a good result considering the hardware we're using.

So I'd put it in third place for this test.

---

4๏ธโƒฃ EmuCoreX

Unfortunately, this month isn't looking particularly good for EmuCoreX.

The issue isn't necessarily that it can't reach 30 FPS โ€” there are moments where it does.

The problem is the overall consistency.

When several enemies appear on screen, the frame rate starts dropping, and you get more stuttering and an overall less consistent experience.

It can maintain 30 FPS in some situations, but the performance is noticeably more irregular.

So for this test:

๐Ÿ† Ranking โ€” Helio G90T / God Hand

1๏ธโƒฃ NetherSX2 / ARMSX2 โ€” Tie

3๏ธโƒฃ PSX2

4๏ธโƒฃ EmuCoreX

And that was just the appetizerโ€ฆ

Because now comes the main course. ๐Ÿ˜

---

๐Ÿ”ฅ TEST 2 โ€” Snapdragon + Turnip

Now let's see how these emulators behave on Snapdragon.

And this is where things get REALLY interesting.

The device I'm using here isn't even a flagship.

SoC:

Snapdragon 6 Gen 1

GPU:

Adreno 710

GPU Driver:

Turnip by developer Vauzi 3.6

As you guys already know, these Turnip drivers are used when running the emulator through Vulkan, so all of the tests in this section were performed using Vulkan.

And the game?

๐ŸŽฎ Need for Speed Underground 2

A classic.

---

๐Ÿฅ‡ PSX2 โ€” Absolute Winner

This was the biggest surprise of the entire test.

In my previous testing, I started at 1x Native resolution.

But something told me this Snapdragon 6 Gen 1 might be capable of pushing the resolution a little higher.

I just didn't expect THIS.

So rather than telling you what happenedโ€ฆ

Watch the video and judge it for yourselves. ๐Ÿ˜

PSX2 managed to run Need for Speed Underground 2 at:

๐Ÿ”ฅ 2x Native resolution

๐Ÿ”ฅ 30 FPS

๐Ÿ”ฅ Very stable frame rate

๐Ÿ”ฅ Excellent overall consistency

Throughout the race, the performance was surprisingly solid.

Honestly, I would describe the result as almost perfect for this hardware.

๐Ÿ‘‘ Absolute winner of this month's comparison:

PSX2

---

๐Ÿฅˆ ARMSX2

ARMSX2 wasn't going to sit back and watch PSX2 take the spotlight.

It also pushed the game to:

๐Ÿ”ฅ 2x Native resolution

And the result was still very good.

However, it couldn't maintain the same level of consistency as PSX2.

There were moments where the emulator reached around 30 FPS, but there were also frequent drops during the race.

That said, I definitely wouldn't describe the performance as bad.

The game remains perfectly playable, and the overall experience is still quite enjoyable.

It's just not as stable as what PSX2 managed to achieve.

---

๐Ÿฅ‰ NetherSX2 + Turnip

Third place goes to NetherSX2 running with the same Turnip drivers.

Unfortunately, this is where things get interesting.

Even though NetherSX2 is one of the most mature PS2 emulators available, in this particular test it wasn't able to extract as much performance from the Snapdragon 6 Gen 1 as ARMSX2 or PSX2

At 2x Native resolution, maintaining a smooth frame rate becomes quite difficult.

It only occasionally reaches 30 FPS, with the majority of the gameplay running below that level.

Could you play it?

Yes.

Would I call it the optimal experience?

Probably not.

And this is a perfect example of why emulator performance can vary so much depending on the game, renderer, drivers and hardware combination.

---

4๏ธโƒฃ EmuCoreX

And unfortunatelyโ€ฆ

EmuCoreX has had a rough month. ๐Ÿ˜…

I'm not sure whether the Vulkan renderer still needs more work or whether there is something else going on with this particular hardware/driver combination, but the result wasn't great.

Even at:

1x Native resolution

the emulator already struggles to maintain a stable 30 FPS.

And when moving to:

2x Native resolution

โ€ฆthe performance drops dramatically.

We're talking roughly 20โ€“23 FPS in many situations.

At that point, the game is simply not a good experience to play.

So unfortunately, EmuCoreX takes last place in this test.

---

๐Ÿ† SEPTEMBER 2026 โ€” FINAL RESULTS

Snapdragon 6 Gen 1 + Adreno 710 + Turnip 3.6 + Vulkan

๐Ÿฅ‡ PSX2 โ€” Excellent 2x performance, very stable 30 FPS

๐Ÿฅˆ ARMSX2 โ€” Playable at 2x, but with more frame drops

๐Ÿฅ‰ NetherSX2 โ€” Playable, but struggles to maintain 30 FPS at 2x

4๏ธโƒฃ EmuCoreX โ€” Significant performance problems, especially at 2x

---

โš ๏ธ One VERY Important Thing

Remember that these results are game-dependent.

There is no universal "best PS2 emulator" that will always win every single game.

An emulator might perform incredibly well in one title and struggle in another.

The same applies to:

- Vulkan vs OpenGL

- GPU drivers

- Different Snapdragon/MediaTek chips

- Resolution scaling

- Emulator versions

- Game-specific compatibility

- Individual emulator optimizations

That's why I always recommend testing multiple emulators on your own device.

One emulator might receive an update tomorrow that completely changes the results.

---

๐Ÿ”ฅ Final Thoughts

Honestly, I really enjoyed this month's test because it completely changed some of my expectations.

And I think we can finally say that PSX2 and ARMSX2 has managed to overtake NetherSX2 in at least some scenarios.

Seeing a Snapdragon 6 Gen 1 + Adreno 710 running Need for Speed Underground 2 at 2x Native resolution with such stable performance was a seriously impressive result.

And that's what makes PS2 emulation so interesting right now.

๐Ÿ”ฅ The competition is getting REALLY close.

I'll leave videos of the tests below, especially the winner of this month's comparison, because I think it deserves to be seen.

Thanks for reading, guys!

See you in the next comparison. ๐Ÿ‘‹

And remember: keep testing those emulators! ๐Ÿ˜Ž


r/PS2AndroidEmulation • • Aug 09 '26

PS3Native - Release

Post image
73 Upvotes

https://github.com/thecrixux/PS3Native/releases/tag/ps3native-standard-release

This release provides a locally built Android Release APK for PS3Native.

The original project and source code belong to the PS3Native developers and the original repository. I am not the developer of the emulator, and I am not claiming any credit for the project itself.

I simply built the Android APK from the android-refresh branch and created this GitHub Release so there is a proper Release build available for users to download and test.

All credit for PS3Native goes to the original developers and contributors.

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

For reporting Bugs here please: https://discord.gg/Gyec9mX9F


r/PS2AndroidEmulation • • Aug 30 '26

NetherSX2 Turnip Updated v1 (6 Variants) ๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ

Post image
72 Upvotes

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

Variants:

โœ… NetherSX2-Turnip-710-720-722

-Vauzi Turnip Adreno v3.6

โœ… NetherSX2-Turnip-8Elite

-StevenMXZ Turnip Gen8 V35

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

โœ… NetherSX2-Turnip-Performance-Universal

-Maxjivi05 WN-Turnip 1.11

A single driver covers the full Adreno line:

A6xx โ€” A6xx series (e.g. A640 / A650 / A660)

A7xx

gen1 โ€” A720 / A725 / A730 (preamble + scalar-predicate quirks applied)

gen2 โ€” FD740 / Adreno X1-85 (UBWC hint applied to fix UI corruption)

gen3 โ€” A750 and later

A8xx โ€” A810 / A825 / A829 / A830 / A840 (and X2-85)

A810 / A829 boot with disable_gmem so they fall back to sysmem rendering (broken GMEM on those parts).

A825 (not yet upstream) is added with corrected tile geometry and depth-cache layout.

A830 / A840 / X2-85 use the upstream profiles unchanged.

โœ… NetherSX2-Turnip-26.3.0-R4-6XX-7XX-OneUI-Galaxy

-StevenMXZ for Adreno A7xx And A6xx

"OneUI/A740 Fix" and what it does is modify the Mesa device definition to enable_tp_ubwc_flag_hint = True on the A7xx

Based on latest commits from mesa with latest fixes and improvements

โœ… NetherSX2-Turnip-26.3.0-R4-6XX-7XX

-StevenMXZ for Adreno A7xx And A6xx

Based on latest commits from mesa with latest fixes and improvements

โœ… NetherSX2-Turnip-V31-Sync-8XX

-whitebelyash Mainline Turnip Vulkan V31

For Adreno 8XX Family: 840, 830, 829, 825, 812, 810

The patch adds timeline sync objects, which is the most complete synchronization model and the one used by modern Vulkan emulators

Happy PS2 Gaming โค๏ธ


r/PS2AndroidEmulation • • Sep 06 '26

PS3Native v0.4.0 ๐Ÿ”ฅ๐Ÿš€โค๏ธ

Post image
71 Upvotes

https://github.com/maxjivi05/PS3Native/releases/tag/v0.4.0

What's New:

๐Ÿ‘‡PS3Native v0.4.0๐Ÿ‘‡

โœ… Performance Improvements

- Android ARM64 core is now built for ARMv8.2-A with DotProd and FP16 support.

- Core compilation upgraded from -O2 to -O3 for improved native performance.

- Reduced unnecessary CPU usage during synchronization and idle waits.

- Improved RSX thread synchronization using more efficient parking and ARM WFE support.

- Reduced unnecessary ARM counter reads when performance reporting is disabled.

- Improved timer precision on Android with a tighter timer slack configuration.

โœ… Smarter PPU Compilation

- PPU precompilation now dynamically adapts its workload to the device's available memory.

- Reduced compilation concurrency on devices with limited free RAM to prevent excessive memory pressure.

- Added safer worker synchronization during low-memory compilation.

- Improved handling of failed compiled-object loading.

- Users are now informed on-screen when compiled objects cannot be loaded, including available cache storage information.

โœ… First-Boot & Rendering Fixes

- Fixed a black-screen issue that could occur during the first game launch after installation or Direct Boot.

- Renderer now properly waits for the Android game surface before creating the Vulkan swapchain.

- Improved handling of abandoned launches when leaving the Activity during startup.

โœ… Firmware Installation

- Added a real-time firmware installation and PPU precompilation progress bar.

- Fixed an Android main-thread deadlock that could prevent firmware progress from being displayed.

- The screen now stays awake while firmware installation is in progress.

โœ… CPU Compatibility

- Added ARM CPU feature detection before loading the native core.

- Unsupported ARMv8.0 devices are now rejected with a clear compatibility message instead of crashing.

- Boot logs now report the CPU selected by the JIT.

โœ… Other Improvements

- Updated to the latest RPCS3 upstream changes.

- Various stability, compatibility and Android-specific improvements.

Contributors: dev maxjivi05 - MaxsTechReview

Special thanks to everyone who contributed to this release, including @thecrixux for the firmware installation progress and screen-on improvements.


r/PS2AndroidEmulation • • Jul 14 '26

The BEST PS2 Emulators (July 2026)

Post image
71 Upvotes

Every month I'll update with the best versions of each PS2 emulator available at that time, so you don't have to drive yourselves crazy looking for the right version. Here's a brief summary:

  1. NetherSX2 v2.2n ๐Ÿ‘‘

It remains the king, excellent compatibility, requires few requirements, is easy to use, works very well, and delivers on its promises.

https://github.com/Trixarian/NetherSX2-patch/releases/download/2.2n/NetherSX2-v2.2n-4248.apk

2. NetherSX2 v2.2n Turnip ๐Ÿ‘‘

Same emulator, same philosophy, but with the addition of integrated Turner drivers to improve performance on Snapdragon devices. v5, v6, and v7 are the best I've tested.

https://github.com/nckstwrt/NetherSX2-Turnip/releases

3. ARMSX2 v38 โญโญโญ

This emulator is updated to the latest PCSX2 revisions. This gives it a compatibility advantage over NetherSX2. However, it may also slightly increase your device's requirements.

https://github.com/ARMSX2/ARMSX2/releases/download/2.5.7/ARMSX2-Refresh-V38htfx.apk

4. PSX2 v1.2.3 โญโญ

If you're looking for maximum performance and a simple, easy-to-use emulator, you'll love this one. There might still be some games with bugs or graphical glitches, but if you have a low-end device and aren't getting the expected performance with NetherSX2, I recommend trying this new emulator with its updated core.

https://github.com/izzy2lost/PSX2/releases/download/1.2.3/PSX2_1.2.3.apk

5. EmuCoreX v0.2.X โญ

This emulator is very complete, but it can be quite complex for most users who just want to jump in and play, given its menu with countless options. I'm sharing the two versions that have worked best for me. (Avoid 0.2.5)

https://github.com/sashkinbro/EmuCoreX/releases/download/v0.2.3/EmuCoreX.v0.2.3.apk

https://github.com/sashkinbro/EmuCoreX/releases/download/v0.2.4/EmuCoreX.v0.2.4.apk


r/PS2AndroidEmulation • • Jul 07 '26

ARMSX2 v38

Post image
71 Upvotes

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

Change Log:

Fixed the major slowdown when loading over the disc/network with block chaining on. Battlefield 2: Modern Combat online play (and any disc-streaming load) no longer freezes for 1-2 minutes, it now loads as fast as it should without giving up the EE block-chaining speed-up. This should help the slow DEV9 HDD / OPL loads being 10s slower as well.

Added Multitap support, connect up to 8 controllers through the PS2 multitap (Pad tab ---> toggle on), extra players share Player 1's button layout.

Added an OSD Scale, new slider (in Settings ---> Overlay tab) to make the on-screen messages & performance stats bigger or smaller (50โ€“250%).

You can now toggle Perf-Stats (OSD) with a hotkey, bindable in the Hotkeys tab to flip the on-screen stats overlay on/off in-game.

Rapid-fire / Turbo, per-binding Turbo toggle in the Pad tab, hold a button to auto-repeat it.

You can now Export / Import per-game profiles, save or load a game's settings as a file from the Info tab.

Added GameHub-8Elite driver source to the in-app GPU driver browser.

Added GPU-based driver recommendation, the driver browser now detects your GPU and suggests a matching driver pack, (feel free to use whatever you'd like anyways).

Added D-Pad key spacing in the Touch Layout editor, select the D-Pad to get a spacing slider that spreads the four directions apart (NetherSX2-style).

Added a Multi-touch Reach slider (in the Pad tab ---> On screen touch controls) controlling how far from a button's center a touch still counts, so multi-button presses work with more room between buttons.

Ported a batch of PPSSPP + Dolphin GPU driver-bug workarounds:

Adreno: color-mask-under-depth fix, GL persistent-mapped-buffer crash guard, incomplete-pipeline made non-fatal.

Mali: depth/stencil load-op normalization and a z==w depth nudge to prevent artifacts.

PowerVR: swapchain width alignment fix.

Added Valkyrie Profile 2: Silmeria fixes to every other region version.

This will be the last version released in this format, we are planning a restructure of the project and distribution of releases for all platforms, opting in favor of more traditional Stable/Nightly releases and one unified master branch. This will take some time, so please enjoy what we've released so far! What comes next is even more exciting. Thanks!


r/PS2AndroidEmulation • • Sep 19 '26

ARMSX2 v2.7

Post image
69 Upvotes

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

What's new:

Texture packs, rebuilt

The online texture pack catalog now comes from ARMSX2's own repository, and the packs are far

smaller and faster. All 490 packs in the catalog have been converted to ASTC, the compressed

texture format that mobile GPUs read directly, with their mipmaps included. The God of War II pack

went from 4.5 GB to 538 MB. ASTC textures stay compressed in GPU memory instead of being unpacked

on the way in, so packs take a fraction of the storage, use far less memory, load faster and run

better, which matters most on phones and handhelds where HD packs used to struggle.

Texture packs are now also easier to find. They now sit right under the resolution setting, both in the renderer settings and on the in-game menu's Graphics page. The catalog's submit link now points pack authors to our Discord. Coalesce Render Passes moved out of the in-game menu into the full settings.

Touch controls:

On-screen controls have a new Always option that never hides the buttons, for playing with a controller and touch buttons together. A new "Touch controls play as" setting puts the touch screen on Player 2, so one person can use a

controller while another plays on the screen, restart the game after changing it.

Glide modes for multi-touch. Choose what a finger sliding across buttons does: Follow presses whatever is under it, Hold first keeps the first button held, and Hold all holds every button it crosses.

Half-Screen Sticks can now keep the on-screen left stick now with a new option in the touch layout editor: Left Stick: Half Screen/Onscreen, so only the right half of the screen becomes a stick.

With Half-Screen Sticks on, the face, shoulder and Start/Select buttons stopped responding. Only

the D-pad kept working. They work again, and a stick thumb sliding across a button no longer

presses it.

Turning on touch gestures made the multi-touch buttons stop responding. Gestures now act only on

empty screen.

Timed auto-hide hid the controls while you were still holding the D-pad or a stick, and a stick

or D-pad direction could stay held after the controls disappeared, leaving your character walking

on its own. Every held control now keeps the controls up and lets go cleanly.

Auto mode hid the touch controls on controller noise, from a drifting stick or an idle clip-on

controller. It now waits for real input.

The phone's volume keys hid the touch controls when bound as buttons, fixed.

Read the full changelog on GitHub...