PlayStation 4 emulators

From Emulation General Wiki
Revision as of 02:34, 8 May 2022 by BintendoTwist (talk | contribs) (Spine is on hiatus right now)
Jump to navigation Jump to search
PlayStation 4
PS4.png
Developer Sony
Type Home video game console
Generation Eighth generation
Release date 2013
Predecessor PlayStation 3
Successor PlayStation 5
Emulated ~

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 utilised 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 GB of GDDR5 RAM at 2.75 GHz, while 256MB of DDR3 RAM is used only for background tasks.

Emulation of the PlayStation 4 will prove to be a monumental task owing to the complexity of x86_64 and the Radeon-based GPU. Most projects will inevitably end up going the route of Wine.

Emulators

Name Platform(s) Latest Version FLOSS Active Recommended
PC / x86
Spine Linux 2022-01-17 ~
Orbital Windows Linux git
GPCS4 Windows git
PS4Delta Windows git
RPCS4 Linux N/A
Kyty Windows git
Console
PlayStation 5 PlayStation 5 Patch based

Comparisons

Spine (compatibility)
A compatibility layer that can run 360 games ingame; of the lot, only 4 are considered playable according to the compatibility list.[1] In a stark contrast from 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 out of his work,[2] despite the fact that there is already interest in getting it working through WSLg.[3] Its authenticity was verified by lead Orbital developer AlexAltea.[4]
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[5] and, thus, can't boot any games.
GPCS4
A compatibility layer for the PlayStation 4. Currently, it can show the logos in Nier: Automata and ran its first commercial game called We are Doomed in February 2020. Appears to be only a side project to test 3D graphics and may or may not become anything serious. Reasons to follow this project are the growing pool of contributors; and that it works on Windows, unlike Spine.
PS4Delta
A compatibility layer for the PlayStation 4. It's unable to boot any commercial games. Development has stopped and the project is currently archived on Github.
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 what we do know is that it's expected to run on Unix-likes, and can boot PS4 games without graphics.[6] The GitHub repo hasn't been updated since 2016, and it appears to only exist as a placeholder until the project is released. It is still being worked on although it is in early stages.[7]
Kyty
A compatibility layer for the PS4 and PS5 made by InoriRus, the creator of Short Waves. In the very early stages of development. Cannot run any commercial games yet.

Overview

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 writing this, 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. End-users may wish to perform a preliminary dump of the required files from their PS4 using the Orbital Dumper.

PCSX4 & Fake Emulators

Because most people don't understand how emulation really works, scammers try and take advantage of this by making their own fake emulator 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 makes use of aggressive search engine optimization (SEO), meaning it's one of the top results for "PS4 emulator" on Google. There are three things that 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 actually 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 a real 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 really were true, there would certainly be news articles about it, just like there were for Cemu.
  • For any skeptic, the use of OGRE as a marketing tool is the smoking gun. OGRE is a video game engine, which developers would use to make games run on consoles. No one uses Unity or Unreal Engine to emulate a Switch. Claiming that OGRE somehow benefits emulation is a farce.

Arcade Variations

Dissidia Final Fantasy Arcade

Taito's Dissidia Final Fantasy Arcade is currently the only arcade game that runs on PS4 based hardware. This game runs on a PS4 kiosk demo unit which 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 USB port.

Despite 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.

References

  1. Community Maintained Spine Compatibility List from latest Spine release
  2. 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)
  3. 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 thus not able to repro, but we will see what we can do to investigate this, thanks!"
  4. AlexAltea on Reddit. "I've analyzed the Spine demo in IDA Pro (reverse engineering tool), and everything checks out. It's obviously a very early release, lots of unimplemented parts, but it's real. More importantly, we have tested it locally and it works."
  5. https://www.youtube.com/watch?v=IBBHisNM74o
  6. 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)"
  7. RPCS4 progress update on Reddit. "DH, RPCS3's founder, has given permission to share this quick progress update of his PlayStation 4 emulator."
  8. x86 instruction listings