Difference between revisions of "PlayStation 4 emulators"

From Emulation General Wiki
Jump to navigation Jump to search
Line 47: Line 47:
 
| [https://github.com/red-prig/fpPS4/releases 30062022]  
 
| [https://github.com/red-prig/fpPS4/releases 30062022]  
 
| {{✓}}  
 
| {{✓}}  
| {{}}  
+
| {{}}  
 
| {{✗}}  
 
| {{✗}}  
 
|-
 
|-

Revision as of 01:31, 22 August 2022

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 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-05-17
Orbital Windows Linux git
fpPS4 Windows 30062022
GPCS4 Windows git
Kyty Windows git
PS4Delta Windows git
RPCS4 Linux N/A
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. 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. Appears to be only a side project to test 3D graphics and may or may not become anything serious. As of June 2022, GPCS4 is now a one-man project.
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.
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]

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 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 works, scammers try and take advantage of this by making their 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. 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 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 were true, there would certainly be news articles about it, just like there were for Cemu.

Arcade variations

Dissidia Final Fantasy Arcade

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 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 a 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 a very early release, with 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 permitted to share this quick progress update of his PlayStation 4 emulator."
  8. x86 instruction listings