PlayStation 4 emulators

From Emulation General Wiki
(Redirected from PS4)
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 emulators that run on PlayStation 4, 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 Nightly
GUI Temmie's Launcher
GUI Temmie's Launcher (Proto)
6%
110 out of 1814 reported titles
~
Obliteration Windows Linux macOS git N/A
shadPS4 Windows Linux 0.0.3 N/A
psOff Windows 0.5 1%
7 out of 382 reported titles
GPCS4 Windows 0.2.1 2 playable titles ?
Kyty Windows 0.2.0 2 playable titles
PS4Delta Windows git N/A

Native

Name Latest Version Arcade
variant
Hardware features
and peripherals
Enhancements Compatibility FLOSS Active Recommended
Console
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 by Alexandro Sanchez (AKA 'AlexAltea', who is also one of the developers of the RPCS3 and Nucleus projects), 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. It currently offers the best game compatibility.
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 simple 2D games at the moment.
psOff
Yet another compatibility layer. Developer solely focused on the rendering part and recently started to implement the system functions to run some binaries. It renders decently fast, the planned changes will make it almost perfect. It currently doesn't support: multiple command buffer submits, for loops in shader, missing opcodes.[2] It can currently run Worms W.M.D., Sonic Mania, Tomb Raider I-III Remastered, Undertale, Deltarune and Blackhole with 60 FPS. Red Dead Redemption shows its legal warnings before crashing.
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. Furthermore, 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.
Native
PlayStation 5
The PlayStation 5 boasts extensive backwards compatibility with a vast library of PlayStation 4 titles. This functionality allows users to play the overwhelming majority of physical PS4 discs and digital games downloaded through the PlayStation Store directly on their PS5 console. Additionally, some PS4 games may benefit from enhancements on the PS5 hardware (similar to PlayStation 4 Pro) if it supports "Game Boost" option, such as experiencing higher or more stable frame rates.

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
(DXR, VRT and MRT)
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.
RTX Remix Implementing RTX Remix technology in an emulator is unfortunately 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".
Rendering latency reduction technologies
(LatencyFleX, Reflex and Anti-Lag+)
While most emulators offer frame pacing or framebuffer latency control options, implementing rendering latency reduction technologies isn't currently feasible. This is likely doesn't offer enough benefit to justify the development effort.
Post-Processing Post-rendering AA
(FXAA, TXAA and MLAA/SMAA)
?
Post-rendering scaling
(Sharp bilinear, Lanczos and FSR 1)
?
Filters
AI-powered filter compatible
(Freestyle)
? ?
Shader Chain
Inverse tone mapping compatible PlayStation 4 (Pro) system already supports HDR in some games.
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
EmuVR support Exclusive to libretro cores. So there is no support at the moment.
AI Service
With the help of OCR and other techniques, the AI service can provide a live translation of a game, or text-to-speech capabilities for the visually impaired among other things, either on demand or automatically.
Exclusive to libretro cores at the moment. So there is no support.
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 *
Motion controls
Touch Pad
USB Keyboard & Mouse
PlayStation Network
LAN Tunneling ?
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.[3] Trophies shouldn't be confused with RetroAchievements.

LAN Tunneling

Xlink Kai - PlayStation 4 supported games
  • PlayStation 5 placeholder text
  • Also see computer programs such as XBSlink, SVDL and XLink Kai allow users to play multiplayer for LAN supported games by using a network configuration that simulates a worldwide LAN.

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".[4]

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

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.

In recent years many PlayStation 4 (Pro) exclusive titles are now being ported to PC with enhancements, so similar to PlayStation 5, Xbox One (X|S) and Xbox Series X|S situations this could lead to a decreased interest in development. Having said that, there are still considerable amount of games exclusive to those consoles, this includes games for both PlayStation 4 (Pro) and Xbox One (X|S) that haven't been ported and titles lacking enhanced/next-gen update for PC. See List of notable ports#External_links section for all of those games.

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

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.