PlayStation 3 emulators

From Emulation General Wiki
Jump to navigation Jump to search
PlayStation 3
PlayStation 2006.png
PS3 Original.png
Developer Sony
Type Home video game console
Generation Seventh generation
Release date 2006
Discontinued 2017
Predecessor PlayStation 2
Successor PlayStation 4 (Pro)
Emulated
For emulators that run on the PlayStation 3, see Emulators on PS3.

The PlayStation 3 (known shorthand as PS3) is a seventh-generation console released by Sony in late 2006 and retailed for $599. The successor to the PlayStation 2, it began development in 2001 when Sony partnered with Toshiba and IBM to create the Cell Broadband Engine. The console was launched a year after the Xbox 360 and around the same time as the Wii. While it was debatably the most powerful console of the seventh generation, it was also difficult to program for, as its architecture was even more complex than its competitors.

The Cell Broadband Engine consists of a 3.2 GHz Power Processing Element (PPE) and seven Synergistic Processing Elements (SPE),[N2 1] and the system contains 256 MBs of XDR DRAM main memory at 3.2 GHz and 256 MBs of GDDR3 video memory at 650 MHz for the Nvidia/SCEI RSX Reality Synthesizer GPU. The GPU ran at 500 MHz and has to communicate forth and back with both RAMs. The complexity of the SPEs bogged down the PlayStation 3 in multi-platform titles, as developers had to go through the process of learning the SPE architecture before they could use it. As a result, several developers decided against using the SPEs, and the consequence is that many multi-platform games ran with lower framerates or worse graphics compared to running those same games on the PS3's competitors.

The number of units sold worldwide was about the same as the Xbox 360. The PlayStation 3 initially included a feature called OtherOS, but once it was removed shortly after the PS3 Slim model was released citing "security concerns", fail0verflow had a jailbreak detailed in 2010, giving way for modders to downgrade firmware on a specific version and install a custom firmware, something Sony would patch in newer updates until an exploit was released for 4.82. Emulation only started gaining traction in the late 2010s, as RPCS3 had made strides in improving its largely HLE-based emulation. It has since become the emulator of choice.

Emulators

Name Platform(s) Latest version Arcade
variations
Hardware features
and peripherals
Enhancements Compatibility License Active Recommended
x86
RPCS3 Windows Linux macOS FreeBSD Nightly
0.0.34 Alpha
Older builds for obsolete hardware
~ ~ ~ 69%
2599 out of 3738 reported titles
GPLv2 (Copyleft)
Nucleus Windows Linux 0.1.0 N/A GPLv2 (Copyleft)
Short Waves Windows 0.0.2 N/A Proprietary
PS3F Windows 0.1 N/A GPLv2 (Copyleft)
ARM
RPCS3 macOS Nightly ~ ~ ~ 69%
2599 out of 3738 reported titles
GPLv2 (Copyleft) ~ (WIP)
Andstation 3 Android alpha ~ ~ ~ N/A Proprietary ~ (WIP)

Comparisons

RPCS3
RPCS3 is an open-source hybrid approach emulator for 64-bit Windows, GNU/Linux, BSD and macOS and it stands as a remarkable feat in PlayStation 3 emulation, successfully tackling the intricate PlayStation 3's complex architecture through innovative techniques. While it isn't anywhere near as compatible as Dolphin is for GameCube or Wii, it has still made immense progress compared to its early days, when development was slow and seemed like it wasn't really going anywhere. Some of the SPU intensive titles have insufficient performance which requires top-notch single thread performance of CPUs. As of now, all known titles now load, and initialize properly, without crashing the emulator. Beyond this, RPCS3 supports some enhancements and system features, peripherals. As of April 13, 2022, builds for macOS have started being officially distributed for Intel and ARM Macs.[1] For checking if your games work or needs any fixes, tweaks, or settings, see these sources;
Nucleus
A one-person project by Alexandro Sanchez (AKA 'AlexAltea', who is also one of the developers of the RPCS3 and Orbital projects) that aimed at low-level emulation, some AOT emulation, and portability.
Short Waves
Released in 2014 by InoriRus, who later returned to the emulation scene in 2021 as the developer of the PlayStation 4 and 5 compatibility layer Kyty. Short Waves could run a few complex tests that RPCS3 couldn't at the time it was released, but it hasn't been updated since.
PS3F
Made by Shima, the creator of SSF. More information can be found here.

Enhancements

Name RPCS3
Graphics Resizable Internal Resolution
Texture Replacement
Ultrawide hack
Widescreen already supported on PlayStation 3 system.
But there is no support by system for render games in other ratios such as ultrawide 21:9 or super ultrawide 32:9.
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.
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.[1][2]
RTX Remix Implementing RTX Remix technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.
Besides, RPCS3 already supports some of RTX Remix features.
On top of that you can use ReShade for post-processing.
Performance Internal Framerate Hack
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".
While AFMF or LSFG[3][4] can be used with RPCS3, please be aware that some visual glitches and artifacts may occur at this time.
Overclock
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 [5][6]
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 Pause/Resume Emulation
Built-in mod editor and manager
Built-in Cheat Manager
Built-in Patch Manager
Streamable compression format
Per-Game Profiles
Command Line Options *
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".
On-Screen Display
Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.
Variable Refresh Rate compatible *
Big Picture Mode ~*
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.
Also there is a feature request for adding this enhancement feature to RPCS3 emulator.
Debug Features

Hardware features and peripherals

Name RPCS3
Backwards
compatibility
PSP emulation
(incl. PSP Minis and PSP Remasters)
pspemu used for PSP Minis and PSP remasters.
*
PlayStation emulation
(incl. PSone Classics)
PlayStation Classics from PSN (ps1_netemu), these titles should not be confused with PlayStation Classic emulation box.
~[N3 1]
PlayStation 2 emulation
(incl. PS2 Classics)
PlayStation 2 backwards compatibility is possible thanks to (ps2_emu).
[N3 1]
Communication LAN tunneling
PlayStation Network
(incl. PlayStation Home)
~
PSP communication ~
PSVita communication
PocketStation communication
System firmware XMB and apps ~
Trophies
OtherOS
Inputs Pressure Sensitive Buttons [N3 2]
Motion sensor (Gyro) [N3 3]
Vibration
Blu-ray player
Dolby Digital, DTS, 5.1 and 7.1
Stereoscopic 3D *
Development Kits ~
Peripherals
PS Eye PlayStation Eye
PlayStation Move
Wonderbook *
USB Keyboard & Mouse
Rock Band 3 MIDI Pro Adapter *
Buzz! controller *
Wireless Keypad TBD
DJ Hero turntable *
Blu-ray Disc remotes *
Microphone *
Drums and Guitars *
Rapala Fishing Rod ~*
uDraw GameTablet *
Portal Skylanders Portal of Power
LEGO Dimensions Toy Pad
Disney Infinity Base
Rider Gate Portal (Kamen Rider Summonride) ~*
LightGun GunCon 3 *
Top Shot Elite *
Top Shot Fearmaster *
  1. 1.0 1.1 There is no ps1_emu support at the moment, only ps1_netemu is supported. Tweet from 6 May 2019: "RPCS3 supports Sony's PS1_netemu as of today. PS2emu is not yet supported. Both these emulators are present in the PS3 Firmware for backwards compatibility." ps2_emu used for PlayStation 2 emulation, ps1_emu used for disc based PlayStation games and ps1_netemu for PlayStation Classics from PSN.
  2. Perfect support for DualShock 3 controller which works with Official Sony driver and DsHidMini community driver. Emulator allows to assign one key to change pressure sensitivity. It's possible to have more variants with reWASD application which allows to assign keys or gamepad buttons to Virtual DualShock 3. Emulator supports DualShock 2, but only with special adapter emulating DualShock 3, RPCS3 does not support Bliss-Box API. Other controllers with pressure-sensitive buttons like Xbox controller or Steam Deck touchpads are not supported.
  3. Perfect support. Emulator supports motion controls for DualShock 3, DualShock 4 and DualSense. Sony, Nintendo and Valve controllers can emulate DualShock 3 via reWASD application.

XMB and apps

RPCS3 running the XMB
RPCS3 running the PS3's web browser
psdevwiki: XMB
Wikipedia: List of PlayStation applications

The XrossMediaBar (pronounced "cross-media bar" and officially abbreviated as XMB) is a graphical user interface developed by Sony Computer Entertainment. You can launch various applications from this interface as well.

LAN tunneling

Offline multiplayer gaming on the PS3 home console over a LAN (local area network) multiplayer games, just like System Link for XBOX systems. There are 104 games with the LAN feature for the PlayStation 3. To see if the game you want to play is supported see this page or look on the back of the game case.

Trophies

PlayStationTrophies.org
PSNProfiles: PlayStation 3 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.[7] Trophies shouldn't be confused with RetroAchievements.

OtherOS

Wikipedia:OtherOS
For Recommended Linux distributions, see Recommended Linux distros.
For Ports of the Linux kernel on consoles, see Homebrew and hack Roms#Operating_systems.
For Running Linux on PlayStation 2 (using the PS2 Linux kit), see PlayStation 2 emulators#Linux for PlayStation 2.

OtherOS is a feature of early versions of the PlayStation 3 video game console, allowing user installed software, such as many distributions of Linux or BSD in a separate partition as long as they supported PowerPC. The feature was removed since system firmware update 3.21, released on April 1, 2010. Software running in the OtherOS environment has access to 6 of the 7 SPEs. Sony implemented a hypervisor restricting access to the RSX. However either through a security vulnerability before FW 2.10 or by using some form of OtherOS++ CFW full access to the RSX, and/or the seventh SPE and other system resources is possible. See Recommended linux distros#Multiplatform-focused or T2 SDE PS3 page for more information.

  • RPCS3 do not support PlayStation 3 OtherOS feature at the moment.[8][9]
René Rebe: PS3 playlist, streams
Model Citizen PS3: YouTube, PS3Linux.net

PSP communication

Using remote play (via the PS3 system's wireless LAN)
Copying games to play on a PSP system that can be played on either PS3 or PSP systems

Adhoc Party support, remote play (via the PS3 system's wireless LAN), copying games to play on a PSP system that can be played on either PS3 or PSP systems etc.

PSVita communication

PS3 Remote Play with PSVita
Connect PS Vita System Using Network

Remote play (via the PS3 system's wireless LAN), copying games to play on a PSVita system that can be played on either PS3 or PSVita systems etc.

PocketStation communication

Wikipedia:PocketStation#Compatible_PlayStation_games

PocketStation communication with PlayStation 3 system is possible with a memory card adaptor.

Blu-ray player

PlayStation 3 Blu-ray compatible PC Blu-ray Drives

For a long time, the PS3's Blu-ray player was a versatile and powerful feature and considered the best of all time, and many people still use it for this purpose today. Featuring a slot-loading 2× speed Blu-ray Disc drive for BD-ROM, PlayStation2 format DVD-ROM, PlayStation 2 and PlayStation 1 format CD-ROM, BD-Video, DVD-Video and Audio CDs. Keep in mind that, original models also supports SACD but this functionality was removed with Slim and Superslim models. There is no support for VCDs or SVCDs just like prior generation. DVDi, DVDPG, BDPG and Blu-ray Interactive HD like interactive film/movie formats are supported.

  • RPCS3 has no disc support or home media playback support currently. There is a feature request for adding DVD disc/image capability for RPCS3 emulator.
See this dedicated page for more information about home media playback support for emulation softwares.
See Ripping games.

Peripherals

PlayStation Move

The PlayStation Move is a controller similar to a Wiimote, shaped to be held into hand and play with motion detection. It is detected by the PSEye, the successor of the PS2's EyeToy. The PSEye is usable on PC as it benefits from unofficial drivers made by the community. It is not yet implemented in a PS3 emulator. RPCS3 had some first steps implemented for PSMove use, but the controllers aren't working yet.

The author of this preliminary implementation, velocityra, is a dedicated developer for RPCS3 and Vita3K. His own branch of the PSMove has advanced further, as the PSEye and PSMove controllers are already physically supported using the PSMoveAPI. A pretty old compatibility list can be found here. Some YouTube videos are also showing the work-in-progress functionality working.[2] The author unfortunately stopped working on this implementation years ago.

Recently there is a this pull request for implementing Real PS Move Handler which will complete PS Move controller support/emulation.

Blu-ray Disc remotes

Wikipedia: Blu-ray Disc remotes

Just like PlayStation 2's DVD Remote Controller you can even play games with it other than multimedia functionalities: as long as the game recognizes controls for a D-Pad, you should be okay. Just hold the PS button to change the controller channel to 1.

Arcade variations

Arcade variations pull requests for RPCS3.
With this PR merged, the following 3 System 357/369 arcade games are fully supported by RPCS3;

  • Taiko no Tatsujin series
  • Tekken Tag Tournament 2 (Unlimited)
  • Dragon Ball: Zenkai Battle

Namco System 357

RPCS3 only partially supports some 357 games. A fork currently exists for RPCS3 called Project OMED/RPCS357, which supports more games. The fork has two versions of itself, the Taiko/Fighting version (for Taiko no Tatsujin games and fighting games) and the Gun version (for the rail shooters, requires a lightgun to play). The latest public version is available here: https://pixeldrain.com/u/dfGaH2oX. Mirror: https://1fichier.com/?a0pw2xn2xnpy09v0yaz8

Demonstration
Official Project OMED YouTube Channel

Namco System 359

Namco System 359 (or 369 in some regions) is an updated version of Namco System 357 machine and was only for use with Tekken Tag Tournament 2. Project OMED/RPCS357 supports this game and is fully compatible with this machine.

Also see Copy protection#Hardware-based protection

Emulation issues

PlayStation consoles have always been notorious for system complexity (e.g. PlayStation, PlayStation 2). Sony's gamble of their technology being emulator-unfriendly makes them developer-unfriendly as well, and the system's weaker performance in cross-platform games proves it. Even if done properly, an LLE approach would be performance suicide, as some things just have to be abstracted enough to get high framerates in games. The situation is so bad that Sony seems to be incredibly hesitant to produce an official PS3 emulator for the newer PlayStations. Simply because they wouldn't be able to justify the extremely high potential development cost to investors.[3][4]

There are two major bottlenecks at play:

  • Cell Broadband Engine - consists of two architectures that developers have to program for; PowerPC, and... whatever the SPEs really are; and you have a great formula for high system requirements, SPU hardware environment is the furthest thing from a x86 PC processor. The RPCS3 developers using ahead-of-time recompilation using LLVM. RPCS3 is not just compiling the code it runs, it's also needs to compile a realtime environment simulator e.g. the 128x128bit register file, LS sram, the very weird memory flow controller, etc [10]. SPEs closer to VUs from PS2 than to a GPU. They're a SIMD cluster, don't be fooled by their apparent similarity to GPUs. GPU are low throughput but very wide. SPEs are also wide, but not so much so. However, their individual thread throughput is insane even compared to a something like RTX 4090 GPU. It's not possible to beat SPUs 1:1 (it's ALL vector, it doesn't have scalar registers at least not general-purpose ones), they have 128 registers and very low latency SRAM, almost no memory fetches and everything is async. Although AVX-512 comes close in performance (at 5+ GHz). GPUs on the other hand are around 10-100x slower, but that's just because of how their cores are designed and the fact that SPU kernels are optimized to run in much smaller groups. There's too much working against emulation at 3.2 GHz rate since most SPU instructions need many instructions on PC (like dozens in some cases), so the PC side needs to be an order of magnitude faster.[11]
  • RSX (Reality Synthesizer): PlayStation 3 GPU went unemulated for a long time, simply because of how many components were just undocumented; the RSX unit is a custom-designed chip developed by NVIDIA specifically for the PlayStation 3 and share similarities with GeForce 7800 GTX or G70/G71. It's not well-documented, and developers have to figure out how it displays graphics and graphical effects. Without access to Nvidia's resources, which would normally be included with an SDK, this would be very difficult.
Something of note is that this GPU was also managed by two different memory units with very disparate frequency speeds; 1) 256 MBs of GDDR3 RAM clocked at 650 MHz with an effective transmission rate of 1.4 GHz, and 2) up to 224 MBs of the 3.2 GHz XDR main memory via the CPU (480 MBs max).

In practice, smaller devs use PPE most of the time, but AAA use everything.

For more information about PlayStation 3 hardware and reverse engineering;

Screenshots

See also

DualShock 3 and Sixaxis

Notes

  1. You might see listings of eight SPEs, but that's because there are eight on the die; one of them is disabled to prevent the manufacturer from yielding too many bad units. Another SPE is reserved for the console's operating system.

References