PlayStation 4 emulators

From Emulation General Wiki
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.

The PlayStation 4 Pro (codenamed Neo, model number CUH-7000) console produced by Sony Computer Entertainment on November 10, 2016, and retailed for $399.99. It is an upgraded version of the PlayStation 4 with improved hardware to enable 4K rendering and improved PlayStation VR performance, including an upgraded GPU with 4.198 teraflops of processing power and hardware support for checkerboard rendering, and a higher CPU clock. As with PS4 "Slim", this model also features support for USB 3.1, Bluetooth 4.0 and 5.0 GHz Wi-Fi. The PS4 Pro also includes 1 GB of DDR3 memory that is used to swap out non-gaming applications that run in the background, allowing games to utilize an additional 512 MB of the console's GDDR5 memory. Although capable of streaming 4K video, the PS4 Pro does not support Ultra HD Blu-ray.

Games marketed by Sony as PS4 Pro Enhanced have specific optimizations when played on this model, such as 4K resolution graphics and/or higher performance. For games not specifically optimized, an option known as "Boost Mode" was added on system software 4.5, which can be enabled to force higher CPU and GPU clock rates on existing games to possibly improve performance.[1]

Emulating the PlayStation 4(Pro) 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 Arcade
variant
Hardware features
and peripherals
Enhancements Compatibility FLOSS Active Recommended
PC / x86
RPCSX Linux git 0%
0 out of 76 reported titles
Orbital Windows Linux git N/A ~
psuv N/A (WIP) N/A ?
RPCS4 Linux N/A N/A ? ?
Spine Linux 2022-05-17 1%
4 out of 360 reported titles

Compatibility layers (...)

Name Platform(s) Latest Version Arcade
variant
Hardware features
and peripherals
Enhancements Compatibility FLOSS Active Recommended
PC / x86
fpPS4 Windows GUI
Nightly
6%
103 out of 1742 reported titles
~
Obliteration Windows Linux macOS git N/A
shadPS4 Windows Linux 0.0.2 N/A
Kyty Windows 0.2.0 N/A
GPCS4 Windows 0.2.1 ?
PS4Delta Windows git N/A
Console
PlayStation 5 PlayStation 5 Patch based ? ~ 4,000+ games are playable

Comparisons

Emulators
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 and Sonic Mania. According to DH, the emulator uses code from RPCS4 and RPCS3. There's no available ETA of when it'll be released.
Orbital
An open-source low-level emulator based on QEMU, Orbital uses 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[3] and, thus, can't boot any 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.
Spine
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] It was truly a promising emulator project, even though it was abandoned in its early days.
Compatibility layers (...)
fpPS4
A PlayStation 4 compatibility layer made with Free Pascal.
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.
shadPS4
An PS4 compatibility layer. It can only run a simple graphics demo at the moment.
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.
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.

Enhancements

Name RPCSX fpPS4 PlayStation 5
Graphics Resizable Internal Resolution ~[N2 1]
Texture Replacement
Ultrawide hack
Widescreen already supported on PlayStation 4 system.
But there is no support by system for render games in other ratios such as ultrawide 21:9 or super ultrawide 32:9.
Ray-tracing Implementing ray-tracing in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.
However you can try "Screen-Space Ray Traced Global Illumination" shader using ReShade.
Pre-rendering AA
(MSAA, SSAA)
?
Super-resolution techniques
(DLSS, XeSS and FSR 2+)
Requires access to the depth buffer and temporal data like motion-vectors so it's quite challenging and unlikely to be feasible in the near future.
Performance Overclock
Internal Framerate Hack ~[N2 1]
Frame generation technologies
(LSFG, DLSS-G, ExtraSS and AFMF)
Implementing frame generation technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future, however post-processing techniques such as motion interpolation is quite possible. Input latency will be a crucial factor, but its impact likely varies depending on the specific technique employed, it's recommended to use after applying the "Internal Framerate Hack".
Post-Processing Post-rendering AA
(FXAA, TXAA and MLAA/SMAA)
?
Post-rendering scaling
(Sharp bilinear, Lanczos and FSR 1)
?
Filters
NTSC filters, HDR tonemapping etc.
Shader Chain
TAS features Macros/Scripts/Lua
Rewind
Fast-Forward/Turbo Speed
Savestates
Movie recording/playback
Controls Mouse Injector Compatible
Input lag-mitigating technique
Quality of life Streamable compression format
Built-in Custom resolution/CRTSwitchRes
For using this on Windows OS you need CRT Emudriver.
Another option is using EDID editor tool such as "Custom Resolution Utility".
N/A
Eighth gen home consoles and beyond only have digital video output anyway.
Built-in Graphics mod editor/manager
Built-in Cheat Manager
Per-Game Profiles
Command Line Options
Misc RetroAchievements
Free Look
Free Look is a enhancement feature that allows manipulation of the in-game camera.
While freecam would be technically possible, it will require per-game patches.
Said patches would require a significant amount of time to reverse the game's engine, which means that only someone talented with enough dedication to a single game could do it.
Debug Features
  1. 1.0 1.1 Possible if game supports "Game Boost" option.

Hardware features and peripherals

Name RPCSX fpPS4 PlayStation 5
System Software PlayStation Dynamic Menu and apps
Trophies
Backwards
compatibility
PlayStation 2 emulation
(incl. PS2 Classics)
PlayStation emulation
(incl. PSOne Classics)
PSP emulation for Digital PSP titles
Input PlayStation Camera *
PlayStation Move *
PlayStation Network
Blu-ray drive
PlayStation VR * ~*
PS4 Pro Enhanced games

PlayStation Dynamic Menu and apps

psdevwiki: PlayStation Dynamic Menu
Wikipedia: List of PlayStation applications

PlayStation Dynamuc Menu is a graphical user interface developed by Sony Computer Entertainment. You can launch various applications from this interface as well.

Trophies

PSNProfiles: PlayStation 4 Trophies

Trophies are PlayStation Network awards presented to players for completing specific tasks in a game. The feature is present in most PlayStation 3 games, and all PlayStation Vita, PlayStation 4 and PlayStation 5 games.[2] Trophies shouldn't be confused with RetroAchievements.

Blu-ray drive

PlayStation 4 and PlayStation 5 consoles supports Blu-ray Disc Video and DVD-Video. However it does not have the capability to play VCDs or 4K Ultra HD, additionally, the VCD format is not supported by the consoles system software.

PS4 Pro Enhanced games

PlayStation 4 Pro enhanced games list

Games marketed by Sony as PS4 Pro Enhanced have specific optimizations when played on this model, such as 4K resolution graphics and/or higher performance. For games not specifically optimized, an option known as "Boost Mode" was added on system software 4.5, which can be enabled to force higher CPU and GPU clock rates on existing games to possibly improve performance.

Rendering games at 4K resolution is achieved through various rendering techniques and hardware features; PlayStation technical chief Mark Cerny explained that Sony could not "brute force" 4K without compromising form factor and cost, so the console was designed to support "streamlined rendering techniques" using custom hardware, "best-in-breed temporal and spatial anti-aliasing algorithms", and "many new features from the AMD Polaris architecture as well as several even beyond it". The most prominent technique used is checkerboard rendering, wherein the console only renders portions of a scene using a checkerboard pattern, and then uses algorithms to fill in the non-rendered segments. The checkerboarded screen can then be smoothed using an anti-aliasing filter. Hermen Hulst of Guerrilla Games explained that PS4 Pro could render something "perceptively so close [to 4K] that you wouldn't be able to see the difference".[3]

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[7], 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.

Reverse engineering PlayStation 4

See these resources for reverse engineering PlayStation 4[8];

General
Graphics
Reversing
PlayStation 4 specific
CPU
GPU
Misc

External links

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. https://www.youtube.com/watch?v=IBBHisNM74o
  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. x86 instruction listings
  8. RPCSX discord channel: Various resources for reverse engineering PlayStation 4.