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 other emulators that run on PS3 hardware, 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[edit]

Name Platform(s) Latest Version Arcade
variations
Hardware features
and peripherals
Enhancements Compatibility FLOSS Active Recommended
PC / x86
RPCS3 Windows Linux macOS FreeBSD Nightly
0.0.30 Alpha
Qt5
~ ~ ~ 68.7%
2504 out of 3645 reported titles
Nucleus Windows Linux 0.1.0 N/A
Short Waves Windows 0.0.2 N/A
PS3F Windows 0.1 N/A
Mobile / ARM
DamonPS3 (呆萌PS3模拟器) Android stealing ✗ (stolen RPCS3)

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]
Nucleus
A one-person project that aimed at low-level emulation, some AOT emulation, and portability. Made by AlexAltea.
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 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.
Demonstration
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 can be used with RPCS3, please be aware that some visual glitches and artifacts may occur at this time.
Overclock
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 Built-in Graphics mod editor/manager
Built-in Cheat 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.
Big Picture Mode ~*
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.
Also there is a feature request for adding this enhancement feature to RPCS3 emulator.
Debug Features

Hardware features and peripherals[edit]

Name RPCS3
Backwards
compatibility
PSP emulation
(incl. PSP Minis and PSP Remasters)
*
PlayStation emulation
(incl. PSOne Classics)
~[N3 1]
PlayStation 2 emulation
(incl. PS2 Classics)
[N3 1]
Communication LAN tunneling
PlayStation Network
(incl. PlayStation Home)
~
PSP communication
PSVita communication
PocketStation communication
System firmware XMB and apps ~
Trophies
OtherOS
Blu-ray player
Dolby Digital, DTS, 5.1 and 7.1
Stereoscopic 3D *
Inputs Pressure Sensitive Buttons [N3 2]
Motion controls (Gyro) [N3 3]
Rumble
Peripherals
PlayStation Move ~
Portal Skylanders Portal of Power *
LEGO Dimensions Toy Pad ~*
Disney Infinity Base *
Rock Band 3 MIDI Pro Adapter *
Buzz! controller *
Wireless Keypad TBD
DJ Hero turntable ~*
Blu-ray Disc remotes *
Microphone *
Drums and Guitars *
LightGun GunCon 3 TBD
Top Shot Elite ~
Top Shot Fearmaster ~
uDraw GameTablet ~*
Wonderbook TBD
  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[edit]

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

Trophies[edit]

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.[1] Trophies shouldn't be confused with RetroAchievements.

OtherOS[edit]

Wikipedia:OtherOS

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#Wide range of platforms focused or T2 SDE PS3 page for more information.

  • RPCS3 do not support PlayStation 3 OtherOS feature at the moment.[2][3]
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 at the moment. There is a feature request for this.

PSVita communication[edit]

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[edit]

Wikipedia:PocketStation#Compatible_PlayStation_games

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

Blu-ray player[edit]

PlayStation 3 Blu-ray compatible PC Blu-ray Drives

PlayStation 3 has 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, Blu-ray Disc Video, DVD-Video, and Audio CDs. However there is no support for VCDs for PlayStation 3 just like PlayStation 2. Also interactive film/movie formats like DVDi, DVDPG, BDPG and Blu-ray Interactive HD supported.

  • RPCS3 has no disc support or home media playback support currently.
See this dedicated page for more information about home media playback support for emulation softwares.

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.

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). Just like cemu there is no Toy Pad emulation for the RPCS3 at the moment but you can use LD-ToyPad-Emulator for that.

Blu-ray Disc remotes[edit]

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

Placeholder text

Namco System 369[edit]

Placeholder text

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 [4]. 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.[5]
  • RSX (Reality Synthesizer): PlayStation 4 GPU went unemulated for a long time, simply because of how many components were just undocumented, the same thing applies here; 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[edit]

See also[edit]

DualShock 3 and Sixaxis

Notes[edit]

  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[edit]