PlayStation 4 emulators

From Emulation General Wiki
Revision as of 03:41, 26 September 2023 by Sevastiannn (talk | contribs) (Comparisons: Updated fpPS4 "playable titles" count)
Jump to navigation Jump to search
PlayStation 4
PS4.png
Developer Sony
Type Home video game console
Generation Eighth generation
Release date November 2013
Predecessor PlayStation 3
Successor PlayStation 5
Emulated ~
For other emulators that run on PS4 hardware, see Emulators on PS4.

The PlayStation 4 (PS4) is an eighth-generation console produced by Sony Computer Entertainment on November 15, 2013, and retailed for $399.99. It is the first PlayStation console to use the x86 architecture, a semi-custom 8-core AMD Jaguar CPU at 1.6 GHz. One of the cores is utilized separately only for low-power background tasks. The CPU shares its place on an APU chip alongside a semi-custom AMD GCN Radeon GPU supported by 8 GBs of GDDR5 RAM at 2.75 GHz, while 256 MBs of DDR3 RAM is used only for background tasks.

Emulating the PlayStation 4 will prove to be a monumental task owing to the complexity of x86_64 and the Radeon-based GPU.

Emulators

Name Platform(s) Latest Version FLOSS Active Recommended
PC / x86
fpPS4 Windows GUI
Nightly
~
Obliteration Windows Linux macOS git
RPCSX Linux git
RPCS4 Linux N/A ? ?
Spine Linux 2022-05-17
Kyty Windows git
Orbital Windows Linux git ~
GPCS4 Windows git
PS4Delta Windows git
psuv N/A (WIP) ?
shadPS4 Windows git
Console
PlayStation 5 PlayStation 5 Patch based

Comparisons

fpPS4 (compatibility)
A PlayStation 4 compatibility layer made with Free Pascal. 91 titles are currently playable.
Kyty
A compatibility layer for the PS4 and PS5 made by InoriRus, the creator of Short Waves. It's in the early stages of development. It can boot commercial games such as Blackhole, Worms W.M.D, and some PS5 homebrews with 0.2.0. This is also the first-ever PlayStation 4 emulator with a GUI, and like GPCS4, the emulator is Windows-exclusive.
RPCS4
A private project being worked on by one of the original developers of RPCS3, DH. Little is known about the project at this time, but we do know that it's expected to run on Unix-likes and can boot PS4 games without graphics.[1] It is still being worked on, although it is in the early stages.[2]
RPCSX
An upcoming FLOSS emulator created by one of the original developers of RPCS3, DH, along RPCS3 current main developers Nekotekina and kd-11. It's in early stages although it can already boot the commercial game We Are Doomed. According to DH, the emulator uses code from RPCS4 and RPCS3. There's no available ETA of when it'll be released.
Spine (compatibility)
A compatibility layer that can run 360 games. Of the lot, only 4 are considered playable according to the compatibility list.[3] In stark contrast to other closed-source emulators, Spine is Linux-exclusive; the creator has opted not to release the source code out of caution for a Windows-exclusive variant emerging from his work,[4] despite the fact that there is already interest in getting it working through WSLg.[5] Its authenticity has been verified by lead Orbital developer AlexAltea.[6]
Orbital
An open-source low-level emulator based on QEMU, Orbital uses existing hypervisors like Intel HAXM to speed up performance. A surprising amount of progress has been made for an emulator of its kind, having to emulate the kernel used by the PS4; It's stuck at the console's Safe Mode[7] and, thus, can't boot any games.
GPCS4
A compatibility layer for the PlayStation 4. It can show the logos in Nier: Automata and ran its first commercial games, We Are Doomed and Sonic Mania, in February 2020. It can only run homebrew tests as of June 2022. It appears to be only a side project to test 3D graphics and may or may not become anything serious, but this is unknown as the project's development has halted. As of June 2022, GPCS4 is now a one-person project.
PS4Delta
A compatibility layer for the PlayStation 4. It's unable to boot any commercial games and appears to do almost nothing than load some firmware modules. Development has stopped, and the project is archived on GitHub.
Obliteration
A compatibility layer for Windows based on Kyty that's in early development. Promising work has been done on this emulator, however it's unable to boot any commercial games.
psuv
Znullptr, a widely known PS4 and PS5 jailbreak/exploit developer and reverse engineer is working on his own PS4 emulator project called PSUV.
shadPS4
An PS4 compatibility layer. It can only do basic loading of ELF files at the moment, despite the developer adding more features, including a dynamic resolver, etc.

Dissidia Final Fantasy Arcade variant

Taito's Dissidia Final Fantasy Arcade is the only arcade game that runs on PS4-based hardware. This game runs on a PS4 kiosk demo unit, and the hardware is identical to regular retail PS4 and could be converted to regular retail mode. An extra I/O board is attached to the PS4 via a USB port.

Despite the fact that the arcade game program itself could run on a regular PS4 without any issue, the USB I/O board is yet to be reverse-engineered, and judging from the current status of PS4 emulation, emulation support for this arcade game is very likely the last item on the to-do list.

Emulation issues

Potential roadblocks

Due to the PS4's x86 architecture and FreeBSD-based operating system, emulators for the device will, by and large, be very unconventional. Despite the x86's instruction set being huge[8], a trait that would typically lead to years of development time by emulators, it opens the ability for pre-existing hypervisors to do the heavy lifting, eliminating the need for a recompiler. There is also, as of this time, little to no documentation on the GPU (a modified Radeon 7970M with disabled stream processors) used in the PS4's APU, and it will require a complete re-implementation by emulator developers.

PCSX4 & fake emulators

Because most people don't understand how emulation works, scammers try and take advantage of this by making fake emulators for malicious purposes. The PS4 has seen its fair share of scams, the most notable and persistent of which being PCSX4. The scheme is very elaborate and clever, with a website designed to mimic RPCS3's while using a similar naming scheme as PCSX and PCSX2 (both of which are legitimate). The site uses aggressive search engine optimization (SEO), meaning it's one of the top results for "PS4 emulator" on Google. Two things invalidate PCSX4's legitimacy:

  • The obstruction of the download behind endless surveys. Emulator development nowadays gets its funding from Patreon or Google Play.
  • It is fairly easy to fake a PS4 (and even PS5) emulator by taking the open-source Chiaki Remote Play client, which works by streaming games from an actual PS4, and modifying the GUI to display fake hardware usage stats alongside the game. If its claims of running any PS4 game in 4K at 60FPS with little to no issues were true, there would certainly be news articles about it, just like there were for Cemu.

External links

SomeOrdinaryGamers: Running PS4/PS5 Games on the PC

References

  1. DH on Reddit. "If you have Unix-like OS, I can send you binary and you will able to run any game for PS4 and see many different errors for each (without graphics of course)"
  2. RPCS4 progress update on Reddit. "DH, RPCS3's founder, has permitted to share this quick progress update of his PlayStation 4 emulator."
  3. Community Maintained Spine Compatibility List from latest Spine release
  4. devofspine on Reddit. "I wouldn't mind open-sourcing it at some point in time but there are several things that stop me from doing this in the near future: a) there are some parts in the code that are a mess and I wouldn't feel comfortable releasing them for public consumption, b) I enjoy the freedom to develop it in the way I want to, c) I would be a bit afraid of losing control, open source brings with it a risk of forks for example and I wouldn't like to see my work used to do for example a Windows exclusive variant, and d) PS4 is still a current-gen console." (Edited)
  5. Spine PlayStation 4 emulator does not work in WSLg with GPU enabled issue at the WSLg repository (#445). GitHub. "no need to close the issue, we will use this to track the GPU acceleration issue. Unfortunately, I don't have access to PlayStation firmware and thus am not able to repro, but we will see what we can do to investigate this, thanks!"
  6. AlexAltea on Reddit. "I've analyzed the Spine demo in IDA Pro (reverse engineering tool), and everything checks out. It's a very early release, with lots of unimplemented parts, but it's real. More importantly, we have tested it locally and it works."
  7. https://www.youtube.com/watch?v=IBBHisNM74o
  8. x86 instruction listings