github ARMSX2/ARMSX2 iOSv2.5.1
ARMSX2 iOS 2.5.1

one hour ago

2.5.1 is mostly a fixes release.

The two biggest issues were A12 devices crashing on launch and rumble being completely broken since 2.4.1. Both are fixed, along with a proper no-JIT fallback, several performance improvements, and a collection of Virtual Pad and interface fixes.

Highlights

  • Fixed launch crashes on A12 devices
  • Controller and phone rumble work again
  • Added improved phone rumble with separate motor handling and a strength setting — @henyckma
  • Added a proper no-JIT fallback and improved interpreter performance — @henyckma
  • Fixed a Devil May Cry crash during FMVs
  • Added fractional Internal Resolution options up to 3.5x
  • Reduced graphics overhead in several games — @bmdhacks
  • Improved Rogue Galaxy performance — @bmdhacks
  • Virtual Pad and layout improvements — @henyckma
  • GameDB and cheat-loading fixes — @jpolo1224

A12 Devices

Fixed launch crashes on iPhone XS, XS Max, XR, iPad Air 3, iPad mini 5, iPad 8 and A12X/A12Z iPad Pro.

2.5.0 was accidentally built with an Apple M1 CPU baseline. iOS now targets apple-a12, the oldest device we support.

Rumble

Controller and phone rumble work again after being broken since 2.4.1.

@henyckma also reworked phone rumble. It is now sustained, responds properly to motor strength, handles the two PS2 motors separately, and ramps in and out more naturally.

A Phone Rumble Strength setting has been added, and Test Rumble now works without a controller connected.

Several controller-rumble bugs were fixed at the same time, including a leak, a threading issue and cases where rumble could be routed to the wrong player.

Playing Without JIT

@henyckma added a proper fallback for devices where JIT is unavailable.

Instead of crashing or showing a black screen, ARMSX2 now falls back to interpreter implementations where possible.

Interpreter performance was improved at the same time. On the test device and workload, EE time went from 37.55 ms to 30.55 ms, about 18.6% less. Results vary by game, device and thermal state.

Crashes and Stability

Fixed a Devil May Cry crash when the game switches to the software renderer for FMVs.

Several related JIT and software-renderer stability issues were fixed as well, including problems affecting legacy JIT mode under LiveContainer.

Fastmem now stays disabled correctly when its required 4 GB virtual mapping cannot be allocated, and a race in the JIT keepalive path was narrowed.

Graphics and Performance

@bmdhacks reduced unnecessary render-pass and copy work.

Across a five-loop replay:

  • Rogue Galaxy: 2,411 → 1,741 render passes
  • OutRun 2006: 1,240 → 1,118 render passes

Vertex processing was also reduced in cases where an auto-flush cannot occur. Dragon Quest VIII measured 4.7% fewer graphics-thread cycles in testing.

Internal Resolution now includes:

1.25x, 1.5x, 1.75x, 2.25x, 2.5x, 2.75x and 3.5x

Game Database

@bmdhacks improved Rogue Galaxy performance by disabling auto-flush for the game.

Render passes fall 38% and texture copies 74%, worth about 1.8 ms per frame and 2.6 fps on a low-end device.

There is a small visual trade-off: some lamp lighting can appear slightly brighter and warmer than the software renderer reference. Four side-by-side comparisons at 1:1 failed to distinguish the two, but please report it if you notice it during normal play.

Need for Speed Underground 1 and 2 now run without hardware readbacks — @jpolo1224.

Cheats stored under the generic all-CRC file name work again — @jpolo1224.

Virtual Pad

All of this is @henyckma's.

Dynamic Thumbstick feedback now pulses once when crossing the maximum-pull threshold instead of repeating continuously.

Swipe Camera gets the same feedback once it becomes a joystick, and now uses the full left half of the screen on iPad.

Saved layouts now have Rename, Share and Delete options.

Device Presets no longer change Aspect Ratio or treat it as part of whether a preset is active.

Interface Fixes

  • Fixed a crash when toggling Low Power Mode with a video wallpaper visible
  • Fixed saved Dynamic Background colours sometimes loading as black
  • Fixed incorrect Cancel behaviour in the colour editor
  • Fixed the dark gradient slider not correctly showing why the effect was disabled
  • Removed the unused Widen theme in portrait setting
  • Fixed the skins search field being hidden under the tab bar on iOS 26
  • Fixed the performance overlay showing PCSX2 instead of ARMSX2 2.5.1

Thanks

@henyckma contributed the no-JIT fallback and interpreter work, rumble improvements, Virtual Pad changes and Device Presets fix.

@bmdhacks contributed the graphics optimizations and Rogue Galaxy tuning.

@jpolo1224 contributed the GameDB and cheat-loading fixes.

Thanks as well to everyone who tested the rumble changes and reported what still felt wrong between revisions.

Don't miss a new ARMSX2 release

NewReleases is sending notifications on new releases.