Sony PlayStation 3 emulator RPCS3 now natively supports Arm64 architecture — including Raspberry Pi 5

RPCS3 on Arm64 official graphic
(Image credit: RPCS3)

This week, developers behind the PlayStation 3 emulator RPCS3 announced that RPCS3 had now achieved stable, native Arm64 architecture support for Windows, macOS, and Linux platforms— Arm64 architecture support so definitive that it even includes the Raspberry Pi 5, of all devices, utterly pushing the limits of emulation believed possible on the Raspberry Pi 5. In the past, Raspberry Pi 5 has also been seen emulating GameCube and Wii (Wii less effectively) — but with the correct settings adjustments, it seems even PS3 emulation is possible on today's entry-level Arm hardware.

RPCS3 now running on arm64 Linux with Raspberry Pi 5 - YouTube RPCS3 now running on arm64 Linux with Raspberry Pi 5 - YouTube
Watch On

Running PS3 emulation on Raspberry Pi 5 is very much "challenging the limits of PlayStation 3 emulation"— considering the settings used, which make the affair look like a genuine PlayStation Portable (PSP) game by scaling down to the PSP's output resolution of just 273p versus PS3's native 720p. But this makes running some 3D games actually possible, including God of War (and God of War II) HD (originally PS2 games), Catherine, Naruto: Ultimate Ninja Storm, and more. 2D games will be a lot more playable across the board, of course, but even being able to turn around playable framerates in PS3-era 3D titles is well beyond the emulation capabilities most would expect from a Raspberry Pi 5.

RPCS3 now available on arm64 with native support for Apple Silicon - YouTube RPCS3 now available on arm64 with native support for Apple Silicon - YouTube
Watch On

Over on the MacOS side of things, native support for Arm architecture versus simply emulating x86 has netted some massive performance gains on Apple Silicon playing PS3 games. Framerates are seeing increases of anywhere from 50-100% just by running natively instead of being forced through x86 translation on top of intensive PS3 hardware emulation, making truly performant Arm-powered PlayStation 3 emulation a reality instead of a far-off dream.

Unlike the Raspberry Pi 5 testing which more or less approximates a PlayStation Portable, the Apple Silicon testing shows off high performance in some true PS3 powerhouses, including the likes of God of War III and Skate 3. These titles are much harder to emulate than PS2-to-PS3 HD ports like God of War HD, but they are still quite playable on Arm architecture hardware, so long as it has the muscle to back the experience.

TOPICS
Christopher Harper
Contributing Writer

Christopher Harper has been a successful freelance tech writer specializing in PC hardware and gaming since 2015, and ghostwrote for various B2B clients in High School before that. Outside of work, Christopher is best known to friends and rivals as an active competitive player in various eSports (particularly fighting games and arena shooters) and a purveyor of music ranging from Jimi Hendrix to Killer Mike to the Sonic Adventure 2 soundtrack.

  • ezst036
    This is quite interesting. Wasn't PS3 the last to use Cell? And if so, isn't that somewhat structured around IBM's PowerPC ISA? Its rather interesting if that is the case that there is a potentially lowered emulation hit going from one type of RISC to another type of RISC.(or if its just that ARM and PPC have a lot of similarities)

    In any case, I think PS4 moved to AMD's jaguar chips. That bodes well for the next generation PS emulation taking performance really well the other way. Technically, it shouldn't have to be emulated at all in the traditional sense since its already running x86.
    Reply
  • bit_user
    Motor Storm is a PS3 game I miss not having on PS4/PS5. It was one of the first to showcase the PS3's rendering and physics horsepower and I think one of the better ones, in those regards.
    Reply
  • bit_user
    ezst036 said:
    Wasn't PS3 the last to use Cell? And if so, isn't that somewhat structured around IBM's PowerPC ISA?
    I think it was the only really successful use of the Cell. I know the Cell got limited use in some HPC contexts, but I'd be surprised if the revenue from those efforts ever amounted to much.

    ezst036 said:
    Its rather interesting if that is the case that there is a potentially lowered emulation hit going from one type of RISC to another type of RISC.(or if its just that ARM and PPC have a lot of similarities)
    Yeah, I had similar thoughts. Maybe there's less impedance mismatch, between those ISAs. Perhaps a lot depends on how well ARM Neon matches the Cell's vector extensions. The main horsepower of the Cell really lies in the SPEs and their vector pipelines, so how well you can emulate those seems key.

    Since the SPEs each have 256 kB of SRAM, another big factor is probably having plenty of fast L2 cache, so the SPE data stays "hot". According to what I can find, the Pi 5 has:
    64KByte I and D caches
    512KB L2 per core
    2MB shared L3
    So, perhaps its cache configuration meets the bare minimum? Depends somewhat on whether the GPU also shares the L3, I think.

    Also, sticking with the theme of SPEs, because the PS3 had 6 of them (enabled and available to games, at least), it is a little surprising a mere 4-core Pi 5 would be competent at emulation. I'd expect RPCS3 to strongly favor 8-core CPUs, since that gives you full concurrency of the 6 SPEs + PPE, with a core to spare for OS stuff.
    Source: https://en.wikipedia.org/wiki/Cell_(processor)
    Reply
  • bit_user
    Now that I think about it, I'm really wondering whether RPCS3 uses SMT/hyperthreading to emulate the async DMA functionality of the SPEs. If you had an 8-core CPU with HT/SMT, you could try to use affinity masks to pair one thread running the compute workload of each SPE with another thread devoted to doing its DMA transfers. The advantage would be most apparent if some games or rendering/physics engines use the SPEs in a tightly-synchronized way.

    IMO, the fact that it took so long to achieve competent emulation of a PS3 is a further testament to the power of The Cell. I think of it a little like an adaptation of a CPU-like architecture to do GPU-like compute.
    Reply
  • P.Amini
    bit_user said:
    Now that I think about it, I'm really wondering whether RPCS3 uses SMT/hyperthreading to emulate the async DMA functionality of the SPEs. If you had an 8-core CPU with HT/SMT, you could try to use affinity masks to pair one thread running the compute workload of each SPE with another thread devoted to doing its DMA transfers. The advantage would be most apparent if some games or rendering/physics engines use the SPEs in a tightly-synchronized way.

    IMO, the fact that it took so long to achieve competent emulation of a PS3 is a further testament to the power of The Cell. I think of it a little like an adaptation of a CPU-like architecture to do GPU-like compute.
    Or maybe because Cell is harder to program?
    Reply
  • NinoPino
    P.Amini said:
    Or maybe because Cell is harder to program?
    The programming difficulties are not related to emulation difficulties.
    The emulation is difficult because the hardware is very powerful when properly used and emulation performance will suffer.
    On the other end, the intrinsic parallelism of CELL, permit to make good use of multicore CPUs in its emulation.
    Reply
  • usertests
    ETA Prime (or anybody) should benchmark it.
    Reply