PlayStation 3 emulators
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.
Contents
Emulators[edit]
Name | Platform(s) | Latest Version | Arcade variations |
Hardware features and peripherals |
Enhancements | Compatibility | License | Active | Recommended | |
---|---|---|---|---|---|---|---|---|---|---|
x86 | ||||||||||
RPCS3 | Nightly 0.0.33 Alpha Older builds for obsolete hardware |
~ | ~ | ~ | 69% 2555 out of 3694 reported titles |
GPLv2 (Copyleft) | ✓ | ✓ | ||
Nucleus | 0.1.0 | ✗ | ✗ | ✗ | N/A | GPLv2 (Copyleft) | ✗ | ✗ | ||
Short Waves | 0.0.2 | ✗ | ✗ | ✗ | N/A | Proprietary | ✗ | ✗ | ||
PS3F | 0.1 | ✗ | ✗ | ✗ | N/A | GPLv2 (Copyleft) | ✗ | ✗ | ||
ARM | ||||||||||
RPCS3 | Nightly | ~ | ~ | ~ | 69% 2555 out of 3694 reported titles |
GPLv2 (Copyleft) | ✓ | ~ (WIP) | ||
Andstation 3 | alpha | ~ | ~ | ~ | N/A | Proprietary | ✓ | ~ (WIP) |
Comparisons[edit]
- 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 (see RPCS3 CPU benchmark chart). 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, check 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[edit]
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 | 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[edit]
- ↑ 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.
- ↑ 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.
- ↑ 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[edit]
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.
- RPCS3's XMB support is currently limited, with many functions and applications not working properly. This can even affect compatibility of the emulator and prevent some discs, like BD-ROM demo discs (such as BCJX-96003/BCJX-96004), from functioning as intended. Workarounds, such as extracting BD-ROM disc images for manually watching videos using media player software and installing extracted pkg files using the RPCS3 GUI, may be necessary. Having said that, you can run some of the applications like Netflix directly from RPCS3's GUI and as mentioned in #Trophies section, you can change XMB home menu sounds if you want.
LAN tunneling[edit]
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.
- RPCS3 - XLink Kai Setup
- See Preservation projects#LAN Tunneling Programs for more information about other LAN tunneling solutions.
Trophies[edit]
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.
- RPCS3 supports Trophies notifications, progress and locking/unlocking etc. and also it has a dedicated built-in manager for trophies. If you want to use custom sound for notifications you need to change files from "RPCS3\sounds". Although there is no communication between PSN or RPCN with RPCS3 trophy system. See this page for more information about this.
OtherOS[edit]
- 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.
- René Rebe: PS3 playlist, streams
- Model Citizen PS3: YouTube, PS3Linux.net
PSP communication[edit]
- 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.
- RPCS3 do not support PSP communication emulation at the moment. There is a feature request for this. Recently UsbPspCm passthrough support added to RPCS3.
PSVita communication[edit]
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[edit]
PocketStation communication with PlayStation 3 system is possible with a memory card adaptor.
- RPCS3 do not support PocketStation communication at the moment.
Blu-ray player[edit]
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[edit]
PlayStation Move[edit]
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.
LEGO Dimensions Toy Pad[edit]
If you have the Toy Pad RPCS3 can communicate to the USB device directly (but only exposed devices that have been whitelisted). But the good news is, there is native support for Toy Pad emulation to the RPCS3 emulator at the moment. In the meantime, similar to cemu, you can use LD-ToyPad-Emulator using with RPCS3.
Blu-ray Disc remotes[edit]
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[edit]
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[edit]
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[edit]
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.
Emulation issues[edit]
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;
- MVG: Why is the Sony PlayStation PS3 so hard to emulate?, Why was the Sony PlayStation 3 so hard to develop games for ?
- Modded Warfare: PS3 Jailbreak Tutorials
- Alexandro Sanchez: FOSDEM'22 - PlayStation 3 Emulation
- Rodrigo Copetti: PLAYSTATION 3 Architecture Practical Analysis
- psdevwiki: PlayStation 3
- Whatcookie: Why is PS3 emulation so fast: RPCS3 optimizations explained, Why Is AVX 512 Useful for RPCS3? and How to uncap framerates.
- RPCS3's progress report August 2020: Since intel dropped TSX due to security reasons, RPCS3 will use TSX-FA/TSX Force Abort on CPUs with new microcode and this will result potential regressions, good news is RPCS3 has improved non-TSX performance, because of this, even if your CPU supports TSX it will be disabled for RPCS3 by default.
- Ps3GhidraScripts - A collection of scripts for parsing PS3 executables with Ghidra.
- T2 SDE discord - ppc-aim-ps3 channel
- RPCS3: Blog, Discord, YouTube.
- Emulation books and articles
- Console-specific_development_wikis
- PSGL API
Screenshots[edit]
See also[edit]
Notes[edit]
- ↑ 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.