Difference between revisions of "PlayStation 3 emulators"

From Emulation General Wiki
Jump to navigation Jump to search
(Emulators)
(Comparisons)
 
(433 intermediate revisions by 66 users not shown)
Line 1: Line 1:
 +
{{Placeholder Section}}
 
{{Infobox console
 
{{Infobox console
 
|title = PlayStation 3
 
|title = PlayStation 3
 
|logo = PlayStation 2006.png
 
|logo = PlayStation 2006.png
 
|image = PS3_Original.png
 
|image = PS3_Original.png
|image2 = Sony-playstation-3-slim-1.jpg
 
|imagecaption = '''Top''': Original (2006)<br/>'''Bottom''': Slim (2009)
 
 
|developer = [[:Sony]]
 
|developer = [[:Sony]]
|type = [[:Category:Consoles|Home video game console]]
+
|type = [[:Category:Home consoles|Home video game console]]
 
|generation = [[:Category:Seventh-generation video game consoles|Seventh generation]]
 
|generation = [[:Category:Seventh-generation video game consoles|Seventh generation]]
 
|release = 2006
 
|release = 2006
 
|discontinued = 2017
 
|discontinued = 2017
 
|predecessor = [[PlayStation 2 emulators|PlayStation 2]]
 
|predecessor = [[PlayStation 2 emulators|PlayStation 2]]
|successor = [[PlayStation 4 emulators|PlayStation 4]]
+
|successor = [[PlayStation 4 emulators|PlayStation 4 (Pro)]]
|emulated = {{~}}
+
|emulated = {{}}
 
}}
 
}}
  
The '''PlayStation 3''' (known shorthand as '''PS3''') is a seventh-generation console released by [[wikipedia:Sony|Sony]] in late 2006. The successor to the [[PlayStation 2 emulators|PlayStation 2]], it began development in 2001 when Sony partnered with Toshiba and IBM to create the [[wikipedia:Cell_%28microprocessor%29|Cell Broadband Engine]]. The console was launched a year after the [[Xbox 360 emulators|Xbox 360]], and around the same time as the [[Wii emulators|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. It retailed for {{Inflation|USD|599|2006}}.
+
{{for|other emulators that run on PS3 hardware|Emulators on PS3}}  
  
The Cell Broadband Engine consists of a 3.2 GHz Power Processing Element (PPE) and seven Synergistic Processing Elements (SPE),<ref group=N>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.</ref> and the system contains 256 MB of XDR DRAM main memory at 3.2 GHz and 256 MB 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 it required developers to either learn it enough to use it, or don't use it at all. As a result, many multi-platform games ran with lower framerates or worse graphics.
+
The '''PlayStation 3''' (known shorthand as '''PS3''') is a seventh-generation console released by [[wikipedia:Sony|Sony]] in late 2006 and retailed for {{Inflation|USD|599|2006}}. The successor to the [[PlayStation 2 emulators|PlayStation 2]], it began development in 2001 when Sony partnered with Toshiba and IBM to create the [[wikipedia:Cell_%28microprocessor%29|Cell Broadband Engine]]. The console was launched a year after the [[Xbox 360 emulators|Xbox 360]] and around the same time as the [[Wii emulators|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 number of units sold worldwide were about the same as the Xbox 360. The PlayStation 3 initially included a feature called OtherOS,<ref group=N>Which allowed the console to run many distributions of Linux and BSD in a separate partition as long as they supported PowerPC.</ref> 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 [[PS3 Modding|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.
+
The Cell Broadband Engine consists of a 3.2 GHz Power Processing Element (PPE) and seven Synergistic Processing Elements (SPE),<ref group=N2>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.</ref> 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|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 [[PS3 Modding|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==
 
==Emulators==
{| class="wikitable" style="text-align:center;"
+
<div style="overflow-x:auto;width:100%">
 +
{| class="wikitable" style="text-align:center;width:100%"
 
|-
 
|-
 
! scope="col"|Name
 
! scope="col"|Name
 
! scope="col"|Platform(s)
 
! scope="col"|Platform(s)
! scope="col"|Latest Release Version
+
! scope="col"|Latest Version
! scope="col"|Open-Source
+
! scope="col"|[[#Arcade_variations|Arcade<br/>variations]]
 +
! scope="col"|[[#Hardware_features_and_peripherals|Hardware features<br/>and peripherals]]
 +
! scope="col"|[[#Enhancements|Enhancements]]
 +
! scope="col"|Compatibility
 +
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|Active
 
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|-
! colspan="6"|PC / x86
+
!colspan="11"|PC / x86
 
|-
 
|-
 
|[[RPCS3]]
 
|[[RPCS3]]
|align=left|{{Icon|Windows|Linux|FreeBSD}}
+
|align=left|{{Icon|Windows|Linux|Mac|FreeBSD}}
|[https://github.com/RPCS3/rpcs3/releases/ v0.0.11]<ref group=N>The developers are currently treating version increments as milestones, not as stables.</ref>
+
|[https://rpcs3.net/download Nightly]</br>[https://github.com/RPCS3/rpcs3/releases <abbr title="The developers are currently treating version increments as milestones, not as stables.">{{RPCS3Ver}}</abbr>]<br/>[https://github.com/RPCS3/rpcs3-binaries-win/releases/download/build-9b3a878c189e4e688b6025de0d0ff659116dcade/rpcs3-v0.0.28-15417-9b3a878c_win64.7z <abbr title="Latest Qt5 build for Windows 7 and 8.1">Qt5</abbr>]
 +
|{{~}}
 +
|{{~}}
 +
|{{~}}
 +
|[https://rpcs3.net/compatibility 69%<br/><small>2551 out of 3689 reported titles</small>]
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
Line 42: Line 52:
 
|[[Nucleus]]
 
|[[Nucleus]]
 
|align=left|{{Icon|Windows|Linux}}
 
|align=left|{{Icon|Windows|Linux}}
|[https://github.com/AlexAltea/nucleus/releases 0.1.0]
+
|[https://github.com/AlexAltea/nucleus/releases {{NucleusVer}}]
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|N/A
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
Line 50: Line 64:
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
 
|[http://wololo.net/downloads/index.php/download/8128 0.0.2]
 
|[http://wololo.net/downloads/index.php/download/8128 0.0.2]
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|N/A
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
Line 56: Line 74:
 
|PS3F
 
|PS3F
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[https://web.archive.org/web/20161029044210/http://www.geocities.jp/mj3kj8o5/ps3f/index.html 0.0.0]
+
|[https://web.archive.org/web/20161029044210/http://www.geocities.jp/mj3kj8o5/ps3f/index.html 0.1]
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|N/A
 +
|{{✗}}
 +
|{{✗}}
 +
|{{✗}}
 +
|-
 +
!colspan="11"|Mobile / ARM
 +
|-
 +
|DamonPS3 (呆萌PS3模拟器)
 +
|align=left|{{Icon|Android}}
 +
|stealing
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 
|{{✗}}
 +
|{{✗}}
 +
|
 +
|{{✗}} (stolen RPCS3)
 +
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 
|}
 
|}
 +
</div>
 +
<references group=N />
 +
===Comparisons===
 +
;[[RPCS3]]:RPCS3 is an open-source [[High/Low_level_emulation|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 [[#Emulation_issues|PlayStation 3's complex architecture]] through innovative techniques. While it isn't anywhere near as compatible as [[Dolphin]] is for [[GameCube emulators|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 [https://www.cpubenchmark.net/singleThread.html single thread performance of CPUs] (see '''[https://docs.google.com/spreadsheets/d/1Rpq_2D4Rf3g6O-x2R1fwTSKWvJH7X63kExsVxHnT2Mc/edit#gid=0 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|enhancements]] and [[#Hardware_features_and_peripherals|system features, peripherals]]. As of April 13, 2022, builds for macOS have started being officially distributed for Intel and ARM Macs.<!-- RPCS3 runs on Rosetta for Macs with M-series processors, while Intel Macs run the application natively. --><ref>https://twitter.com/rpcs3/status/1514302544750780417?s=20&t=e1g7-9NzgIehtodHmXYytQ</ref> For checking if your games work and any fixes, tweaks, or settings, check these sources;
 +
:*[https://wiki.rpcs3.net/index.php?title=Category:Games RPCS3 Wiki]
 +
:*[https://github.com/RPCS3/rpcs3/issues RPCS3 GitHub issues]
  
===Comparisons===
+
;[[Nucleus]]:A one-person project by Alexandro Sanchez (AKA 'AlexAltea', [https://youtu.be/4joCMfTPP4M?t=30 who is also one of the developers of the RPCS3 and Orbital projects]) that aimed at low-level emulation, some AOT emulation, and portability.
;[[RPCS3]]:An open-source emulator for 64-bit Windows, Linux and BSD. While it isn't anywhere near as compatible as [[Dolphin]] is for [[GameCube emulators|GameCube]] or Wii, it has still made immense progress compared to its early days where development was slow and seemed like it wasn't really going anywhere. Over 1,000 titles are now playable, with many more that go in-game and others that are at least loadable.<ref name="Compatibility Page">https://rpcs3.net/compatibility</ref>
+
;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.
;[[Nucleus]]:A one-man project aiming for LLE, some AOT emulation, and portability. Made by AlexAltea, lead coder of PlayStation 4 emulator, [[Orbital]].
 
;Short Waves:Made by InoriRus. It could run a few complex tests that RPCS3 couldn't at the time it released, but it hasn't been updated since.
 
 
;PS3F:Made by Shima, the creator of [[SSF]]. More information can be found [https://web.archive.org/web/20161029044210/http://www.geocities.jp/mj3kj8o5/ps3f/index.html here].
 
;PS3F:Made by Shima, the creator of [[SSF]]. More information can be found [https://web.archive.org/web/20161029044210/http://www.geocities.jp/mj3kj8o5/ps3f/index.html here].
  
==Emulation issues==
+
==Enhancements==
PlayStation consoles have always been notorious for system complexity. 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 introduce an emulator on the PlayStation 4, simply because they wouldn't be able to justify the potentially high cost of development to investors.<ref>[https://youtu.be/6WkpaJkB2M8 Why PS4 Doesn't Have Backwards Compatibility and Xbox One Does] (Mystic. Aug 21, 2018.)</ref>
+
<div style="overflow-x:auto;width:100%">
 +
{|class="wikitable" style="text-align:center;vertical-align:middle;width:100%"
 +
|- style="font-weight:bold;"
 +
! colspan=2 | Name
 +
! RPCS3
 +
|-
 +
| rowspan=7 | Graphics
 +
| [[Resolution|Resizable Internal Resolution]]
 +
| {{✓}}
 +
|-
 +
| [[Texture_packs#Texture_Replacement_.283D.29|Texture Replacement]]
 +
| {{N}}
 +
|-
 +
| [[Widescreen_hacks#PlayStation_3|Ultrawide hack]]<br/><small>Widescreen already supported on PlayStation 3 system.<br/> But there is no support by system for render games in other ratios such as ultrawide 21:9 or super ultrawide 32:9.</small>
 +
| {{Y}}
 +
|-
 +
| [[Wikipedia:Category:Anti-aliasing_algorithms|Pre-rendering AA]]<br/><small>(MSAA, SSAA)</small>
 +
| {{?}}[https://github.com/RPCS3/rpcs3/pull/15000 *]
 +
|-
 +
| Super-resolution techniques<br/><small>([https://github.com/NVIDIAGameWorks/Streamline/blob/main/docs/ProgrammingGuideDLSS.md DLSS], XeSS and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 2+]])</small>
 +
| <small>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.</small>
 +
|-
 +
| Ray-tracing<br/><small>([https://devblogs.microsoft.com/directx/announcing-microsoft-directx-raytracing/ DXR], [https://www.khronos.org/blog/ray-tracing-in-vulkan VRT] and [https://developer.apple.com/documentation/metal/metal_sample_code_library/accelerating_ray_tracing_using_metal MRT])</small>
 +
| <small>Implementing ray-tracing in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.<br/>However you can try "[[Shaders_and_filters#Notable_ReShade_shaders|Screen-Space Ray Traced Global Illumination]]" shader using ReShade.[https://www.youtube.com/watch?v=A8ccDL3ND10][https://reshade.me/forum/general-discussion/5442-release-misc-emulators-with-depth-buffer-access#35304]</small>
 +
|-
 +
| [https://github.com/NVIDIAGameWorks/rtx-remix/wiki RTX Remix]
 +
| colspan=4 | <small>Implementing RTX Remix technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.<br/>Besides, RPCS3 already supports some of RTX Remix features.<br/>On top of that you can use ReShade for post-processing.</small>
 +
|-
 +
| rowspan=4 | Performance
 +
| [[30/60_FPS_cheat_codes#PlayStation_3|Internal Framerate Hack]]
 +
| {{Y}}
 +
|-
 +
| [https://blurbusters.com/frame-generation-essentials-interpolation-extrapolation-and-reprojection/ Frame generation technologies]<br/><small>([https://store.steampowered.com/app/993090/Lossless_Scaling/ LSFG], [https://github.com/NVIDIAGameWorks/Streamline/blob/main/docs/ProgrammingGuideDLSS_G.md DLSS-G], [https://www.techpowerup.com/316835/extrass-framework-paper-details-intels-take-on-frame-generation ExtraSS] and [https://community.amd.com/t5/gaming/amd-fluid-motion-frames-is-out-now-on-amd-radeon-rx-7000-series/ba-p/634372 AFMF])</small>
 +
| colspan=4 | <small>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 [[Wikipedia:Motion_interpolation|motion interpolation]] is quite possible. [[Input_lag|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"'''.<br/>While '''[https://youtu.be/8hE-twtgIMY AFMF]''' or '''[https://youtu.be/vbbdP9ls2GY?t=299 LSFG]''' can be used with RPCS3, please be aware that some visual glitches and artifacts may occur at this time.
 +
|-
 +
| [[Overclocking|Overclock]]
 +
| {{Y}}
 +
|-
 +
| Rendering latency reduction technologies<br/><small>([https://github.com/ishitatsuyuki/LatencyFleX LatencyFleX], [https://developer.nvidia.com/performance-rendering-tools/reflex Reflex] and [https://www.amd.com/en/products/software/adrenalin/radeon-software-anti-lag.html Anti-Lag'''+'''])
 +
| colspan=4 | <small>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.</small>
 +
|-
 +
| rowspan=6 | Post-Processing
 +
| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br/><small>(FXAA, TXAA and MLAA/SMAA)</small>
 +
| {{N}}[https://github.com/RPCS3/rpcs3/issues/10902 *]
 +
|-
 +
| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br/><small>(Sharp bilinear, Lanczos and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small>
 +
| {{Y}}
 +
|-
 +
| [[Shaders and filters|Filters]]
 +
| {{N}}
 +
|-
 +
|[[Shaders_and_filters#AI-powered filters|AI-powered filter compatible]]<br/><small>([https://www.nvidia.com/en-us/geforce/news/gfecnt/nvidia-freestyle-ansel-enhancements-geforce-experience-article/ Freestyle])</small>
 +
| {{?}}
 +
|-
 +
| [[Shader Presets|Shader Chain]]
 +
| {{N}}
 +
|-
 +
|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]]
 +
| {{Y}}[https://youtu.be/gH6zk5zrgo4][https://youtu.be/BditFs3VR9c?t=942]
 +
|-
 +
| rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features]
 +
| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua]
 +
| {{N}}
 +
|-
 +
| Rewind
 +
| {{N}}
 +
|-
 +
| Fast-Forward/Turbo Speed
 +
| {{N}}[https://github.com/RPCS3/rpcs3/issues/12963 *]
 +
|-
 +
| Savestates
 +
| {{Y}}[https://wiki.rpcs3.net/index.php?title=Help:Save_State *]
 +
|-
 +
| [https://tasvideos.org/Movies Movie recording/playback]
 +
| {{N}}
 +
|-
 +
| rowspan=2 | Controls
 +
| [[Controllers#Mouse_Injectors_for_Emulators|Mouse Injector Compatible]]
 +
| {{Y}}[https://github.com/isJuhn/KAMI/ *]
 +
|-
 +
| [[Input_lag|Input lag-mitigating technique]]
 +
| {{N}}
 +
|-
 +
| rowspan=9 | Quality of life
 +
| Built-in [[Mods,_hacks_and_fan-translations#Built-in_graphics_mod_editor.2Fmanager_for_emulators|Graphics mod editor/manager]]
 +
| {{✗}}
 +
|-
 +
| Built-in [[Cheats_and_patches|Cheat Manager]]
 +
| {{Y}}
 +
|-
 +
| [[Save disk space for ISOs#PlayStation 3|Streamable compression format]]
 +
| {{N}}
 +
|-
 +
| Per-Game Profiles
 +
| {{Y}}
 +
|-
 +
| Command Line Options
 +
| {{Y}}[https://wiki.rpcs3.net/index.php?title=Help:Frequently_Asked_Questions#List_of_CLI_commands *]
 +
|-
 +
| Built-in [http://forum.arcadecontrols.com/index.php/topic,106405 Custom resolution/CRTSwitchRes]<br/><small>For using this on Windows OS you need [http://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=1009#p1009 CRT Emudriver].<br/>Another option is using EDID editor tool such as "Custom Resolution Utility".</small>
 +
| {{N}}
 +
|-
 +
| On-Screen Display<br/><small>Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.</small>
 +
| {{Y}}
 +
|-
 +
| [[Wikipedia:Variable_refresh_rate|Variable Refresh Rate compatible]]
 +
| {{Y}}[https://www.reddit.com/r/emulation/comments/uhp1lq/how_is_the_state_of_emulation_and_vrr/ *]
 +
|-
 +
| [[Frontends#Graphical_User_Interfaces_.28GUIs.29|Big Picture Mode]]
 +
| {{~}}[https://github.com/RPCS3/rpcs3/pull/13226 *]
 +
|-
 +
| rowspan=4 | Misc
 +
| RetroAchievements
 +
| {{N}}
 +
|-
 +
| [[Virtual_reality#VR_game_room_simulations|EmuVR support]]
 +
| colspan=4 |  Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores]. So there is no support at the moment.
 +
|-
 +
| Free Look<br/><small>Free Look is a enhancement feature that allows manipulation of the in-game camera.</small>
 +
| <small>While freecam would be technically possible, it will require per-game patches.<br/>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.<br/>Also there is a [https://forums.rpcs3.net/thread-200867.html feature request] for adding this enhancement feature to RPCS3 emulator.
 +
|-
 +
| [[Wikipedia:Category:Debugging|Debug Features]]
 +
| {{Y}}
 +
|}
 +
</div>
 +
 
 +
==Hardware features and peripherals==
 +
<div style="overflow-x:auto;width:100%">
 +
{|class="wikitable" style="text-align:center;vertical-align:middle;width:100%"
 +
|- style="font-weight:bold;"
 +
! colspan=2 |  Name
 +
! RPCS3
 +
|-
 +
|rowspan=3 |Backwards<br/>compatibility
 +
|[[Official_emulators#PlayStation_Portable|PSP emulation]]<br/>(incl. [[Wikipedia:List_of_PlayStation_minis|<abbr title="pspemu used for PSP Minis and PSP remasters">PSP Minis</abbr>]] and [[Wikipedia:High-definition_remasters_for_PlayStation_consoles#PlayStation_3|<abbr title="pspemu used for PSP Minis and PSP remasters">PSP Remasters</abbr>]])
 +
| {{✗}}[https://forums.rpcs3.net/showthread.php?tid=201093&pid=307908#pid307908 *]
 +
|-
 +
|<abbr title="Disc based PlayStation backwards compatibility (ps1_emu)">[https://www.psdevwiki.com/ps3/PS1_Classics_Emulator_Compatibility_List PlayStation emulation]</abbr><br/>(incl. [[Wikipedia:Lists_of_PS_one_Classics|<abbr title="PlayStation Classics from PSN (ps1_netemu). PSone Classics should not be confused with PlayStation Classic.">PSOne Classics</abbr>]])
 +
| {{~}}<ref group=N3 name=RPCS3BackwardsCompatibility>There is no [[Official_emulators#PlayStation|ps1_emu]] support at the moment, only ps1_netemu is supported. [https://twitter.com/rpcs3/status/1125179092507201537?lang=en 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." [[Official_emulators#PlayStation_2|ps2_emu]] used for PlayStation 2 emulation, [[Official_emulators#PlayStation|ps1_emu]] used for disc based PlayStation games and [https://github.com/RPCS3/rpcs3/issues/14632 ps1_netemu for PlayStation Classics from PSN].</ref>
 +
|-
 +
|<abbr title="PlayStation 2 backwards compatibility (ps2_emu)">[https://www.psdevwiki.com/ps3/PS2_Classics_Emulator_Compatibility_List PlayStation 2 emulation]</abbr><br/>(incl. [[Wikipedia:List_of_PlayStation_2_Classics_for_PlayStation_3|PS2 Classics]])
 +
| {{✗}}<ref group=N3 name=RPCS3BackwardsCompatibility/>
 +
|-
 +
|rowspan=5 | Communication
 +
|[[#LAN_tunneling|LAN tunneling]]
 +
| {{✓}}
 +
|-
 +
|[[PlayStation_Network|PlayStation Network<br/><small>(incl. PlayStation Home)</small>]]
 +
| {{~}}
 +
|-
 +
|[[#PSP_communication|PSP communication]]
 +
| {{✗}}
 +
|-
 +
|[[#PSVita_communication|PSVita communication]]
 +
| {{✗}}
 +
|-
 +
|[[#PocketStation_communication|PocketStation communication]]
 +
| {{✗}}
 +
|-
 +
|rowspan=3 | [https://www.psdevwiki.com/ps3/System_Firmware System firmware]
 +
|[[#XMB_and_apps|XMB and apps]]
 +
| {{~}}
 +
|-
 +
|[[#Trophies|Trophies]]
 +
| {{✓}}
 +
|-
 +
|[[#OtherOS|OtherOS]]
 +
| {{✗}}
 +
|-
 +
|rowspan=3 | Inputs
 +
| [https://www.pcgamingwiki.com/wiki/List_of_games_that_support_Pressure-Sensitive_Face_Buttons#PlayStation_3_Emulation Pressure Sensitive Buttons]
 +
| {{✓}}<ref group=N3>Perfect support for [https://wiki.rpcs3.net/index.php?title=Help:Controller_Configuration#Using_DualShock_3_controller DualShock 3] controller which works with [https://www.pcgamingwiki.com/wiki/Controller:DualShock_3#Wired_connection_-_official_drivers Official Sony driver] and [https://www.pcgamingwiki.com/wiki/Controller:DualShock_3#Wired_connection_-_unofficial_drivers DsHidMini community driver]. Emulator allows to assign one key to change pressure sensitivity. It's possible to have more variants with [https://www.rewasd.com/releases/release-6.3.0 reWASD application] which allows to assign keys or gamepad buttons to [https://help.rewasd.com/basic-functions/virtual-controller.html Virtual DualShock 3]. Emulator supports DualShock 2, but only with special adapter emulating DualShock 3, RPCS3 does not support [https://bliss-box.net/integration/ Bliss-Box API]. Other controllers with pressure-sensitive buttons like [https://www.pcgamingwiki.com/wiki/Controller:Xbox_Controller#Games_with_pressure_sensitive_face_buttons Xbox controller] or Steam Deck touchpads are not supported.</ref>
 +
|-
 +
| Motion controls (Gyro)
 +
| {{✓}}<ref group=N3>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.</ref>
 +
|-
 +
| Rumble
 +
| {{✓}}
 +
|-
 +
|colspan=2 | [[#Blu-ray_player|Blu-ray player]]
 +
| {{✗}}
 +
|-
 +
|colspan=2 | [https://manuals.playstation.net/document/en/ps3/current/settings/audiooutput.html Dolby Digital, DTS, 5.1 and 7.1]
 +
| {{✓}}
 +
|-
 +
|colspan=2 | [[Virtual_reality#Emulators_with_VR_support|Stereoscopic 3D]]
 +
| {{✓}}[https://www.reddit.com/r/rpcs3/comments/feyogl/rpcs3_now_supports_playstation_3d/ *]
 +
|-
 +
! colspan=3 | [[#Peripherals|Peripherals]]
 +
|-
 +
|colspan=2 | [[#PlayStation_Move|PlayStation Move]]
 +
| {{~}}
 +
|-
 +
|rowspan=3 | Portal
 +
| [https://skylanders.fandom.com/wiki/Portal_of_Power Skylanders Portal of Power]
 +
| {{Y}}[https://wiki.rpcs3.net/index.php?title=Help:Peripherals_and_accessories#Skylanders_Portal *]
 +
|-
 +
| [[#LEGO_Dimensions_Toy_Pad|LEGO Dimensions Toy Pad]]
 +
| {{~}}<abbr title="Only supported through USB passthrough">*</abbr>
 +
|-
 +
| [https://disneyinfinity.fandom.com/wiki/Disney_Infinity_Base Disney Infinity Base]
 +
| {{Y}}[https://github.com/RPCS3/rpcs3/pull/13851 *]
 +
|-
 +
|colspan=2 | Rock Band 3 MIDI Pro Adapter
 +
| {{Y}}[https://wiki.rpcs3.net/index.php?title=Help:Peripherals_and_accessories#Rock_Band_3_MIDI_Instruments *]
 +
|-
 +
|colspan=2 | Buzz! controller
 +
| {{Y}}[https://github.com/RPCS3/rpcs3/issues/4968 *]
 +
|-
 +
|colspan=2 | Wireless Keypad
 +
| {{TBD}}
 +
|-
 +
|colspan=2 | DJ Hero turntable
 +
| {{~}}<abbr title="Only supported through USB passthrough">*</abbr>
 +
|-
 +
|colspan=2 | [[#Blu-ray Disc remotes|Blu-ray Disc remotes]]
 +
| {{N}}[https://wiki.rpcs3.net/index.php?title=Help:Peripherals_and_accessories *]
 +
|-
 +
|colspan=2 | <abbr title="Required for some games like SingStar, Rocksmith, Guitar Hero, Rock Band etc.">Microphone</abbr>
 +
| {{Y}}[https://wiki.rpcs3.net/index.php?title=Help:Configurations#Audio_configuration *]
 +
|-
 +
|colspan=2 | <abbr title="Required for some games like SingStar, Rocksmith, Guitar Hero, Rock Band etc.">Drums and Guitars</abbr>
 +
| {{Y}}[https://wiki.rpcs3.net/index.php?title=Help:Peripherals_and_accessories#Configuring_Instruments *]
 +
|-
 +
|rowspan=3 | LightGun
 +
| [[Wikipedia:GunCon#GunCon_3_compatible_games|GunCon 3]]
 +
| {{TBD}}
 +
|-
 +
| Top Shot Elite
 +
| {{~}}
 +
|-
 +
| Top Shot Fearmaster
 +
| {{~}}
 +
|-
 +
|colspan=2 | [[Wikipedia:UDraw_GameTablet|uDraw GameTablet]]
 +
| {{~}}[https://wiki.rpcs3.net/index.php?title=Help:Peripherals_and_accessories#cellUsbd_Device_Whitelist <abbr title="Only supported through USB passthrough">*</abbr>]
 +
|-
 +
|colspan=2 | [[Wikipedia:Wonderbook|Wonderbook]]
 +
| {{TBD}}
 +
|}
 +
</div>
 +
<references group=N3/>
 +
 
 +
===XMB and apps===
 +
:[https://www.psdevwiki.com/ps3/XMB psdevwiki: XMB]
 +
:[[Wikipedia:List_of_PlayStation_applications|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.
 +
 
 +
*RPCS3 [https://wiki.rpcs3.net/index.php?title=Help:Frequently_Asked_Questions#Running_VSH/XMB_in_RPCS3 supports XMB only partially], some functions and apps do not work at the moment. However, [https://www.youtube.com/watch?v=YKkiI_RlmPc you can run some of the applications like Netflix from RPCS3 GUI]. As mentioned in [[#Trophies]] section, [https://wiki.rpcs3.net/index.php?title=Help:Frequently_Asked_Questions#Adding_Trophy_and_Home_Menu_sounds you can change XMB home menu sounds] if you want.
 +
 
 +
===LAN tunneling===
 +
Offline multiplayer gaming on the PS3 home console over a LAN (local area network) multiplayer games,  just like System Link for [[Microsoft|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 [https://www.teamxlink.co.uk/wiki/Supported_Games#Sony_Playstation_3 this page] or look on the back of the game case.
 +
 
 +
*[https://www.teamxlink.co.uk/wiki/RPCS3_XLink_Kai_Setup RPCS3 - XLink Kai Setup]
 +
*See [[Preservation projects#LAN Tunneling Programs]] for more information about other LAN tunneling solutions.
 +
 
 +
===Trophies===
 +
:[https://www.playstationtrophies.org/games/retail/  PlayStationTrophies.org]
 +
:[https://psnprofiles.com/trophies?platform=ps3 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.[https://playstation.fandom.com/wiki/Trophies] Trophies shouldn't be confused with [[#Enhancements|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 [https://forums.rpcs3.net/thread-205706.html there is no communication between PSN or RPCN with RPCS3 trophy system]. See [https://wiki.rpcs3.net/index.php?title=Help:Frequently_Asked_Questions#Adding_Trophy_and_Home_Menu_sounds this page] for more information about this.
 +
 
 +
===OtherOS===
 +
:[[Wikipedia:OtherOS]]
 +
OtherOS is a feature of early versions of the PlayStation 3 video game console, allowing user installed software, such as many [[:Category:Operating_systems|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 [https://t2sde.org/hardware/console/Sony/PS3/ T2 SDE PS3 page] for more information.
 +
 
 +
*RPCS3 do not support PlayStation 3 OtherOS feature at the moment.[https://forums.rpcs3.net/post-230177.html][https://old.reddit.com/r/rpcs3/comments/8rps60/can_rpcs3_boot_linux_otheros/]
 +
:''René Rebe: PS3 [https://youtube.com/playlist?list=PLLjYwv0RogAQ6aliSQsDVZD77R8XbLnca&si=a5GSVaC7JNKlf6c9 playlist], [https://www.youtube.com/@renerebe/search?query=PS3 streams]''
 +
:''Model Citizen PS3: [https://www.youtube.com/@model.citizen.ps3/videos YouTube], [http://www.ps3linux.net/ PS3Linux.net]''
 +
 
 +
===PSP communication===
 +
:[https://manuals.playstation.net/document/en/psp/current/network/remoteplay/remote.html Using remote play (via the PS3 system's wireless LAN)]
 +
:[https://manuals.playstation.net/document/en/ps3/current/game/copypsp.html 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 [https://github.com/RPCS3/rpcs3/issues/4119 feature request] for this.
 +
 
 +
===PSVita communication===
 +
:[https://manuals.playstation.net/document/gb/psvita/remoteplay/index.html PS3 Remote Play with PSVita]
 +
:[https://manuals.playstation.net/document/en/ps3/current/settings/connectvita.html 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.
  
There are two major bottlenecks at play:
+
*RPCS3 do not support [[PocketStation_emulators|PocketStation]] communication at the moment.
* '''Cell.''' It consists of two architectures that developers have to program for; PowerPC, and... whatever the SPEs really are. Add to that the fact that there are SIX that could be in use by a game, and you have a great formula for high system requirements. The RPCS3 developers technically cheat by using ahead-of-time recompilation using LLVM, but because the emulator constantly improves, that can be easily excused.
 
* '''[[wikipedia:RSX_Reality_Synthesizer|RSX Reality Synthesizer]].''' The [[Xbox emulators|Xbox]] also went unemulated for a long time, simply because of how many components were just undocumented. The same thing applies here; the graphics card is Nvidia GeForce 7800 GTX-based, which means 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 MB of GDDR3 RAM clocked at 650 MHz with an effective transmission rate of 1.4 GHz, and 2) up to 224 MB of the 3.2 GHz XDR main memory via the CPU (480 MB max).
 
  
In short: expect game-breaking issues of one kind or another in the vast majority of titles at this point in time.
+
===Blu-ray player===
 +
:[https://rpcs3.net/quickstart#dumping_methods 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, Blu-ray Disc Video, DVD-Video, SACD and Audio CDs. Keep in mind that, there is no support for VCDs or SVCDs just like PlayStation 2. [[Home_Media_Player#Interactive_media|interactive film/movie]] formats like DVDi, DVDPG, BDPG and Blu-ray Interactive HD supported.
  
==PlayStation Move==
+
*RPCS3 has no [https://rpcs3.net/faq disc support] or home media playback support currently. There is a [https://github.com/RPCS3/rpcs3/issues/8579 feature request] for adding DVD disc/image capability for RPCS3 emulator.
 +
:See [[Home_Media_Player#Emulators|this dedicated page]] for more information about home media playback support for emulation softwares.
 +
:See [[Ripping_games]].
  
 +
===Peripherals===
 +
====PlayStation Move====
 
The [[wikipedia:PlayStation_Move|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 [[wikipedia:PlayStation_Eye|PSEye]], the successor of the PS2's [[PlayStation_2_emulators#EyeToy|EyeToy]].
 
The [[wikipedia:PlayStation_Move|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 [[wikipedia:PlayStation_Eye|PSEye]], the successor of the PS2's [[PlayStation_2_emulators#EyeToy|EyeToy]].
 
The PSEye is usable on PC as it benefits from [https://github.com/cboulay/PSMoveService/wiki/PSEye-Software-Setup-(Windows) unofficial drivers] made by the community. It is not yet implemented in a PS3 emulator.
 
The PSEye is usable on PC as it benefits from [https://github.com/cboulay/PSMoveService/wiki/PSEye-Software-Setup-(Windows) unofficial drivers] made by the community. It is not yet implemented in a PS3 emulator.
[[RPCS3]] had some [https://github.com/RPCS3/rpcs3/commit/504e3112ddc440f1d4eb4f236d4d39ab0f016513 first steps implemented] for PSMove use but the controllers aren't working yet.  
+
[[RPCS3]] had some [https://github.com/RPCS3/rpcs3/commit/504e3112ddc440f1d4eb4f236d4d39ab0f016513 first steps implemented] for PSMove use, but the controllers aren't working yet.  
  
 
The author of this preliminary implementation, [https://github.com/VelocityRa velocityra], is a dedicated developer for [[RPCS3]] and [[Vita3K]].
 
The author of this preliminary implementation, [https://github.com/VelocityRa 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.
 
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 [https://workflowy.com/s/move-compatibility/6TV4dP3JcvHwhyUC here]. Some YouTube videos are also showing the work-in-progress functionality working.<ref>[https://www.youtube.com/watch?v=rrmb_2ULbKo RPCS3 - PSMove WIP VK] (April 03, 2018)</ref> The author unfortunately stopped working on this implementation a few months ago.
+
A pretty old compatibility list can be found [https://workflowy.com/s/move-compatibility/6TV4dP3JcvHwhyUC here]. Some YouTube videos are also showing the work-in-progress functionality working.<ref>[https://www.youtube.com/watch?v=rrmb_2ULbKo RPCS3 - PSMove WIP VK] (April 03, 2018)</ref> The author unfortunately stopped working on this implementation years ago.
 +
 
 +
====[https://lego-dimensions.fandom.com/wiki/Game_Components#Toy_Pad LEGO Dimensions Toy Pad]====
 +
If you have the Toy Pad [[RPCS3]] can communicate to the USB device directly ([https://wiki.rpcs3.net/index.php?title=Help:Peripherals_and_accessories#cellUsbd_Device_Whitelist but only exposed devices that have been whitelisted]). Just like [[Wii_U_emulators#Peripherals|cemu]] there is no Toy Pad emulation for the RPCS3 at the moment but you can use [https://github.com/Berny23/LD-ToyPad-Emulator#installation LD-ToyPad-Emulator] for that.
 +
 
 +
====Blu-ray Disc remotes====
 +
:[[Wikipedia:PlayStation_3_accessories#Blu-ray_Disc_remotes|Wikipedia: Blu-ray Disc remotes]]
 +
Just like [[PlayStation_2_emulators#Hardware_features_and_accessories|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==
 +
[https://github.com/RPCS3/rpcs3/issues?q=is%3Aissue+is%3Aopen%2Bclosed+Namco+System+ Arcade variations pull requests for RPCS3].<br/>
 +
[https://github.com/RPCS3/rpcs3/pull/14253 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
 +
 
 +
===[https://www.system16.com/hardware.php?id=900 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
 +
 
 +
[https://www.youtube.com/watch?v=tms-kT0RmKw Demonstration]<br>
 +
[https://www.youtube.com/@ProjectOMED Official Project OMED YouTube Channel]
 +
 
 +
===[https://www.system16.com/hardware.php?id=923 Namco System 359]===
 +
Placeholder text
 +
 
 +
===Namco System 369===
 +
Placeholder text
 +
 
 +
==Emulation issues==
 +
PlayStation consoles have always been notorious for system complexity (e.g. [[PlayStation_emulators#Emulation_issues|PlayStation]], [[PlayStation_2_emulators#Emulation_issues|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, [[High/Low_level_emulation|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_emulators|official PS3 emulator]] for the newer PlayStations. Simply because they wouldn't be able to justify the extremely high potential development cost to investors.<ref>[https://youtu.be/6WkpaJkB2M8 Why PS4 Doesn't Have Backwards Compatibility and Xbox One Does] (Mystic. Aug 21, 2018.)</ref><ref>[https://www.youtube.com/watch?v=6rzLZ9Bkhwo MVG: Sony's complicated history with Backwards Compatibility]</ref>
 +
 
 +
There are two major bottlenecks at play:
 +
* '''[[wikipedia:Cell_(microprocessor)|Cell Broadband Engine]]''' - consists of two architectures that developers have to program for; [[POS_(Pong_Consoles)_CPUs_and_Other_Chips#PPC_CPUs|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 [[POS_(Pong_Consoles)_CPUs_and_Other_Chips#x86_CPUs|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 [https://discord.com/channels/272035812277878785/272083901277667342/1200171144603512892]. SPEs closer to [[PlayStation_2_emulators#Emulation_issues|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.[https://discord.com/channels/272035812277878785/272083901277667342/1197648306084524202]
 +
* '''[[wikipedia:RSX_Reality_Synthesizer|RSX (Reality Synthesizer)]]''': [[PlayStation_4_emulators#Emulation_issues|PlayStation 4 GPU]] went unemulated for a long time, simply because of how many components were just undocumented, the same thing applies here; the [https://www.psdevwiki.com/ps3/RSX 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: [https://www.youtube.com/watch?v=lLebZyha74o Why is the Sony PlayStation PS3 so hard to emulate?], [https://www.youtube.com/watch?v=zW3XawAsaeU Why was the Sony PlayStation 3 so hard to develop games for ?]
 +
* Modded Warfare: [https://www.youtube.com/playlist?list=PLn7ji3VsPy3HtSY6rB8yCCRQpWQOc-uJS PS3 Jailbreak Tutorials]
 +
* [https://www.youtube.com/watch?v=4joCMfTPP4M Alexandro Sanchez: FOSDEM'22 - PlayStation 3 Emulation]
 +
* [https://www.copetti.org/writings/consoles/playstation-3/ Rodrigo Copetti: PLAYSTATION 3 Architecture Practical Analysis]
 +
* [https://www.psdevwiki.com/ps3/ psdevwiki: PlayStation 3]
 +
* [https://whatcookie.github.io/posts/why-is-avx-512-useful-for-rpcs3/ whatcookie: Why Is AVX 512 Useful for RPCS3?]. Also, there are new upcoming instructions for future CPUs such as [[Wikipedia:Advanced_Vector_Extensions#AVX10|AVX10]] and [[Wikipedia:Advanced_Vector_Extensions#APX|APX]]. RPCS3's [https://rpcs3.net/blog/2020/08/21/hardware-performance-scaling/ 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 [https://github.com/RPCS3/rpcs3/issues/6028 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.
 +
* [https://discord.com/channels/644252595329957915/668417976554225674 T2 SDE discord - ppc-aim-ps3 channel]
 +
* RPCS3: [https://rpcs3.net/blog/ Blog], [https://discord.gg/rpcs3 Discord], [https://www.youtube.com/@RPCS3_emu YouTube].
 +
* [[Emulation books and articles]]
 +
* [[Console-specific_development_wikis]]
 +
* [[Wikipedia:PSGL|PSGL API]]
 +
 
 +
==Screenshots==
 +
<gallery widths="200" position="center" captionalign="center" >PS3_slim.png|"Slim" release in 2009
 +
PS3_2009.png|2009 PS3 Logo
 +
Playstation3_superslim.png|"Superslim" edition in 2012
 +
</gallery>
 +
 
 +
==See also==
 +
[[Controllers#DualShock_3.2FSixaxis|DualShock 3 and Sixaxis]]
  
 
==Notes==
 
==Notes==
<references group=N />
+
<references group=N2 />
  
 
==References==
 
==References==
Line 95: Line 481:
  
 
[[Category:Consoles]]
 
[[Category:Consoles]]
 +
[[Category:Home consoles]]
 
[[Category:Sony consoles]]
 
[[Category:Sony consoles]]
 
[[Category:Seventh-generation video game consoles]]
 
[[Category:Seventh-generation video game consoles]]
[[Category:PlayStation 3 emulators]]
+
[[Category:BSD-based]]
 +
[[Category:PowerPC-based]]
 +
[[Category:PlayStation 3 emulators|*]]

Latest revision as of 18:49, 21 March 2024

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.31 Alpha
Qt5
~ ~ ~ 69%
2551 out of 3689 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] For checking if your games work and 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 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 [3][4]
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.
Variable Refresh Rate compatible *
Big Picture Mode ~*
Misc RetroAchievements
EmuVR support Exclusive to libretro cores. So there is no support at the moment.
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
Inputs Pressure Sensitive Buttons [N3 2]
Motion controls (Gyro) [N3 3]
Rumble
Blu-ray player
Dolby Digital, DTS, 5.1 and 7.1
Stereoscopic 3D *
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.[5] 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.[6][7]
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

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, Blu-ray Disc Video, DVD-Video, SACD and Audio CDs. Keep in mind that, there is no support for VCDs or SVCDs just like PlayStation 2. 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. 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.

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 [8]. 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.[9]
  • 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]