Créé par DH & Hykem (et rejoint par un ensemble de développeurs), RPCS3 est un émulateur de Playstation 3 multi-plateformes qui a pour objectif de devenir le plus complet possible. Il faisait principalement office de désassembleur mais pousse à présent la performance jusqu’à exécuter un grand nombre de jeux commerciaux devenant ainsi le premier émulateur de PS3 émulant des jeux du commerce, toutefois il nécessite un PC extrêmement performant.
En effet il vous faudra rien de moins qu’un CPU type Intel Comet Lake (10th) ou AMD Zen 3 (5000) ou plus, une carte graphique récente type nVidia GTX, de la mémoire haute performance type DDR4/DDR5 (min 8 go / recommandé 16 go) ou encore un système d’exploitation récent pour espérer lancer des jeux dans un mode relativement fluide (mais attention cela dépend énormément des builds et des jeux).
Plusieurs rendus s’offre à vous: Aucun, OpenGL, DirectX12 (Windows 10 uniquement) et Vulkan (qui a pour but de remplacer à terme OpenGL et ses dérivés en exploitant plus efficacement les architectures informatiques modernes).
Au sujet du nom de l’émulateur, il s’agit d’une abréviation et d’une combinaison de Personal Computer (PC) et PlayStation 3 (PS3). PC + PS3 = PCS3.
Que signifie le R? DH et BlackDemon se souviennent qu’il représentait Real car en 2011, il n’y avait que de faux émulateurs de Ps3. Puis, à un moment donné, DH (originaire d’Ukraine) a commencé à dire que le R représentait le mot Russe. De plus, Nekotekina, qui a rejoint l’équipe fin 2013 et qui est rapidement devenu l’un des plus grands développeurs de cet émulateur, est originaire de Russie. Du coup RPCS3 signifie à présent Russian Personal Computer Station 3.
Cette version (qui n’est pas à considérer comme stable) qu’on nommera « point de repère » (landmarks) dans le sens ou elle est officiellement publiée sur le site officiel (ce qui change des builds régulier dit « WIP » ou « GIT »), n’est disponible que pour les processeurs 64 bits. Pas de changelog malheureusement.
Version changes serve as landmarks and are by no means stable builds
This changelog lists the main (but not all) changes made since 0.0.X
– Qt/Input: Hotkey fixes by @Megamouse in #16971
– Update OpenAL to 1.24.3 by @Megamouse in #16972
– cellSaveData: properly initialize SaveDataEntry by @Megamouse in #16967
– overlays: play ICON1.PAM in savedata list if possible by @Megamouse in #16968
– Update minimum cmake to 3.28 by @hcorion in #16978
– Windows: fix updating with unicode user name by @Megamouse in #16980
– Qt: remove discontinued QWinTaskbar code by @Megamouse in #16984
– Updates submodules by @Megamouse in #16986
– Fix macOS SDK path by @nastys in #16990
– Miscellaneous updates by @AniLeo in #16996
– PPU LLVM: Fix VMAXFP and VMINFP by @elad335 in #16987
– linux: Do not bundle unused Qt6 libraries, reduce AppImage size by @AniLeo in #17001
– vk: Rework hot-patching of transform constants to avoid generating transfer operations and split renderpasses by @kd-11 in #16998
– sys_spu: Fix HW schedular limits by @elad335 in #16988
– cellMic: Fix usage of devices with very long names by @Megamouse in #16936
– Update submodules by @Megamouse in #17009
– qt: Fix crash on game list video icon playback, docker: Update ffmpeg to 7.1.1 by @AniLeo in #17005
– ppu: Remove redundant checks on MTFSF by @AniLeo in #17013
– Qt: Fix multi package install dialog on Linux by @AniLeo in #17012
– PPU LLVM: Fixup MTFSF by @elad335 in #17018
– rsx: Track command barrier types during recording for faster instancing compatibility checks by @kd-11 in #17011
– glext: Update from 2022.05.30 to 2025.02.03 by @AniLeo in #17014
– rsx: Replace robin_hood with ankerl::unordered_dense by @AniLeo in #17015
– reduce AppImage size further more by @pflyly in #17016
– use fixed uruntime version by @RipleyTom in #17022
– Qt: fix visibility check of table widget items by @Megamouse in #17024
– vk: Fix typo in NVIDIA-specific stencil unresolve path by @kd-11 in #17028
– Update to Qt 6.9.0 by @Megamouse in #16985
– evdev: log positive axis config by @Megamouse in #17033
– rsx: Minor improvements by @kd-11 in #17040
– Add Menu Key by @profezzorn in #17039
– Qt/input: accumulate button presses between gui refresh by @Megamouse in #17044
– sceNpTrophyRegisterContext: Send signals asynchronously by @elad335 in #17025
– Qt: fix game list image reset after a movie was stopped by @Megamouse in #17049
– Qt: Fix gamelist icons vanishing after stopping a movie by @Megamouse in #17054
– git: Remove unused code by @AniLeo in #17052
– Qt: Add checkboxes to VFS list to make selection more user friendly by @Megamouse in #17050
– Fix game list update for auto-detection VFS games folder by @digant73 in #17051
– Implement sys_spu_image_open_by_fd, fix sys_spu_image_open by @elad335 in #17061
– PPU: Fix memory write breakpoints for 13 instructions by @VelocityRa in #17063
– vk: Forgotten improvements by @kd-11 in #17041
– PPU Debugger/Memory: STDCX/STWCX breakpoints, make vm::_ref const by @elad335 in #17069
– Fix debug self always reporting as « not an elf » by @NefariousTechSupport in #17070
– vk: Forgotten improvements fixup by @kd-11 in #17072
– Fix sceNpTrophyRegisterContext by @elad335 in #17077
– Implement music player utility for testing by @Megamouse in #17080
– rsx: Fix iterating subdraws with mid-range primitive barriers by @kd-11 in #17081
– hotfix: fix parentheses when saving some files by @Megamouse in #17085
– vk: Minor fixes and improvements by @kd-11 in #17088
– Remove some obsolete warning pragmas by @Megamouse in #17089
– SPU Image Finder Fixes by @elad335 in #17094
– Fix IPv6 support detection by @RipleyTom in #17096
– fix erase_if method by @digant73 in #17101
– cellVideoOutConvertCursorColor: fix and implement by @Megamouse in #17100
– Avoid passing -fuse-ld to non-linking step by @RipleyTom in #17103
– Updates submodules by @Megamouse in #17105
– rsx: Misc fixes by @kd-11 in #17102
– vk: Fix indexed multidraw by @kd-11 in #17107
– PPU: HasBreakpoint fast path when empty by @cipherxof in #17110
– Embedded SPU Image Search Fixes, Improve SPU Code Precompilation by @elad335 in #17115
– sys_mmapper: Lazily allocate shared memory descriptors by @elad335 in #17116
– vk: Stop using internal defines to structure platform-specific code by @kd-11 in #17120
– Fix sys_mmapper_unmap_shared_memory by @elad335 in #17123
– Qt: Hex validator for address/instruction inputs by @cipherxof in #17113
– github actions: disable RPCS3 push builds unless it’s the master branch by @Megamouse in #17124
– Build improvements (in preparation of unit tests) by @Megamouse in #17125
– Move main to own file by @Megamouse in #17127
– Update linux docker to 1.6 by @Megamouse in #17126
– Add unit test project to VS by @Megamouse in #17128
– fmt: add some unit tests and fix fmt::trim by @Megamouse in #17130
– Enable ASLR by @Vestrel in #16878
– CMake: Create static rpcs3_lib and unit test by @Megamouse in #17129
– Add unit tests to CI by @Megamouse in #17104
– Fix infinite loop in fmt::replace_all if « from » is empty by @Megamouse in #17133
– CI: Add windows unit tests by @Megamouse in #17138
– CI: Only run unit tests for pull requests by @Megamouse in #17141
– test: Add UTs for rsx::simple_array by @kd-11 in #17136
– Try to fix gcc unit test and update FAudio to 25.05 by @Megamouse in #17146
– virtual Logitech G27 for Gran Turismo 6 by @Kethen in #17135
– Qt: « Show in Memory Viewer » context action by @cipherxof in #17131
– Logitech G27 cleanup by @Megamouse in #17150
– Fix crash in memory viewer launcher by @elad335 in #17152
– Logitech G27 touchups by @Kethen in #17151
– rsx: Do not interpolate when performing image reconstruction (D24X8 <-> BGRA8) by @kd-11 in #17164
– 3rd Party: Update MoltenVK to v1.3.0 by @shinra-electric in #17161
– Atomic utils fixup after ASLR changes by @Vestrel in #17168
– Update SDL to 3.2.12 by @Megamouse in #17027
– SDL: Add DS3 button pressure by @Megamouse in #16848
– vk: Disable texel buffer update-after-bind on NVIDIA driver for pre-RTX cards by @kd-11 in #17149
– Update glslang to 15.3.0 by @hcorion in #17159
– PPU Loader: Consume Executable Memory by @elad335 in #17173
– Logitech G27 fixes and cleanups by @Kethen in #17170
– Fixup SPU Interpreters by @elad335 in #17177
– System: Increase callback counter earlier to take into account how long games take to properly react to the exit request by @Megamouse in #17178
– initialize sdl haptic, log haptic device open errors by @Kethen in #17181
– Emu: Track game termination progress better by @elad335 in #17180
– SPU: Evaluated Thread-blocked LR messaging by @elad335 in #16903
– Fix unlocked hidden trophies in trophy list overlay by @Megamouse in #17183
– System: Fix Kill calling duplication by @elad335 in #17188
– Make IP Binding more global by @RipleyTom in #17194
– Fixes building with static SDL3 submodule by @RipleyTom in #17193
– Bind RPCN client socket only if bind_ip is set by @RipleyTom in #17201
– Make Disable IPv6 text translatable by @RipleyTom in #17204
– rsx: Don’t trigger surface swap-in/swap-out handlers when replacing self by @kd-11 in #17203
– Fix CallFromMainThread execution condition by @elad335 in #17205
– SDL/input: Log GUID by @Megamouse in #17209
– LogitechG27: use named_thread instead of std::thread by @Megamouse in #17211
– Logitech G27 Expand SDL device identification, add mapping note by @Kethen in #17206
– SPU: Improved GETLLAR spin detection conditions by @elad335 in #17207
– Gui: simplify LogitechG27 settings dialog by @Megamouse in #17212
– Update SDL to 3.2.14 by @Megamouse in #17213
– Update VulkanMemoryAllocator to 3.3.0 by @Megamouse in #17202
– Logitech G27 update shifter input by @Kethen in #17216
– Silence new clang warnings by @Megamouse in #17217
– PPU debugger: Update CIA unconditionally if « PPU Debug » enabled by @elad335 in #17223
– Logitech G27 update bit 86 shifter_pressed behavior, log control transfers as todo by @Kethen in #17221
– Always initialize SDL from main thread by @Megamouse in #17234
– rsx: Misc improvements by @kd-11 in #17237
– Update hidapi to 0.15.0 by @Megamouse in #17240
– Sort bin attributes based on ID by @RipleyTom in #17238
– Remove roadmap link from README by @FlexBy420 in #17245
– Fix some static analysis warnings by @Megamouse in #17243
– rsx: Flush MM queue before applying nv3089 block transfers by @kd-11 in #17249
– rsx/util/tests: Make address_range sized and refactor RSX host memory manager to use address_range64 by @kd-11 in #17251
– Update curl to 8.14.0 by @Megamouse in #17260
– fix Windows build with GCC/Clang by @oltolm in #17247
– cmake: add option to use system cubeb by @marcin-serwin in #17246
– Input: implement copiloting by @Megamouse in #17250
– [CI] Move Mac builds to GH Actions by @schm1dtmac in #17263
– Fix Mac upload hash by @hcorion in #17264
– rpcs3_version: Bump to 0.0.37 by @AniLeo in #17265
Since v0.0.36 was tagged:
– 263 new commits
– 408 source code files have been edited
– 14 455 lines of code were added and 22 105 deleted
– 23 code contributors
– 62 days of development
A noter que la liste de compatibilité continue de progresser (voir ici) en permanence.
Précisons que 100% des jeux sont exécutables à présent, même s’ils ont encore des bugs ou que certains crash, tous peuvent être lancé, c’est une belle prouesse qu’il faut souligner !
Site officiel des sources et versions compilées (builds).