Why it matters: The team behind RPCS3, a multi-platform, open-source PlayStation 3 emulator, has reached a significant milestone by successfully implementing support for the Arm64 architecture. This breakthrough unlocks exciting new possibilities for gamers seeking a nostalgic experience.
The road to Arm64 support was a long and winding one, with work kicking off in late 2021, shortly after Apple unveiled its M1 chips. Initially, the developers focused on getting the emulator running on Linux-based Arm systems. However, adapting the complex emulator to work seamlessly on an entirely different architecture was no small feat.
One of the biggest challenges was adapting RPCS3’s just-in-time compiler to function correctly on Arm64 systems. The team devised a solution by implementing an IR transformer to analyze the x86-generated code and modify it to meet Arm-specific requirements. This approach spared them the headache of maintaining multiple codebases.
Another major hurdle was addressing the differences in memory management between x86 and Arm systems. While the PS3 and x86 architectures use 4KB memory pages, Arm64 systems typically utilize larger 16KB pages, requiring significant adjustments.
After more than three years of relentless effort, the developers finally succeeded in getting the Arm64 port up and running. The results speak for themselves, proving the struggle was well worth it.
On the Raspberry Pi 5, the emulator can run select 3D games by downscaling them to a resolution of 273p – a nostalgic nod to the PSP era. While this resolution may not appeal to hardcore gamers, it’s still an impressive feat, enabling 3D titles like God of War HD, Catherine, Naruto: Ultimate Ninja Storm, and more to run on a sub-$100 device.
On the Apple Silicon front, native support for the Arm architecture has delivered remarkable performance improvements compared to running x86 emulation. Framerates have doubled – or even tripled – across various games. For instance, screenshots show a Ratchet & Clank title running under Apple’s Rosetta 2 x86 emulation at a sluggish ~26 fps, which surged to a smooth ~64 fps with native Arm64 support.
To get started, simply download the binaries for your operating system. However, Windows Arm64 users will need to compile their own binaries for the time being. The development team cites limited hardware availability for testing and development as the reason for this temporary limitation.
This advancement is part of a broader initiative to make gaming more accessible on Arm platforms. For instance, Valve is reportedly working behind the scenes to expand its gaming ecosystem to support Arm-based processors and Android devices.