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 s’agissait à l’origine d’un simple désassembleur, mais il a depuis évolué au point d’exécuter l’ensemble du catalogue commercial de la PS3, devenant ainsi le premier émulateur pleinement fonctionnel de la console. Cette performance exige toutefois une machine particulièrement puissante.
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
Since v0.0.41 was tagged:
– 244 new commits
– 478 source code files have been edited
– 11 599 lines of code were added and 4 024 deleted
– 33 code contributors
– 58 days of development
Changelog:
– Remove duplicated code in VKShaderInterpreter.cpp by @digant73 in #18832
– Add « Enable Mouse-based Gyro » setting to I/O config by @Windsurf7 in #18835
– SPU LLVM: Use 128-bit SVE2 for FMS by @Whatcookie in #18837
– SPU LLVM: Idiomatic FSM implementation for ARM64 by @Whatcookie in #18806
– SPU LLVM: SVE multiply optimizations (ARM) by @Whatcookie in #18789
– vk: Autogrow descriptor pools based on demand by @kd-11 in #18844
– Initialize rtmidi async by @Megamouse in #18843
– Make FFB direction encoding for emulated G27 configurable by @ZerNico in #18776
– usb_device: present wii instruments as PS3 instruments by @sanjay900 in #18796
– SPU LLVM: Use I8MM for GBH and GBB by @Whatcookie in #18833
– Update Submodules by @Megamouse in #18840
– HOTFIX: JIT/AArch64: advertise +i8mm to the LLVM target machine by @Rad0van in #18846
– SPU LLVM: Use TBL for AArch64 ROTQBY shuffles by @Whatcookie in #18818
– cellAudio: fix _mxr000 surmixer event-queue key constant by @Rad0van in #18850
– RSX: Add hardware spin_wait helper, use it in flush requests by @Whatcookie in #18830
– rsx: Handle mipmap sampling edge case when SNORM emulation is active by @kd-11 in #18860
– cellAudio: Fix _mxr000 event queue hack by @elad335 in #18857
– SPU/PPU: Implement PPU reservation priority over SPUs by @elad335 in #18854
– rsx: Use mip0 resolution scale when computing mipmap scaling factors by @kd-11 in #18866
– Qt: Add exit game shortcut by @Megamouse in #18869
– SaveStates: Fix lv2_timer serialization by @elad335 in #18878
– ffmpeg: remove directshow backend by @Megamouse in #18879
– Fix drag & drop of files on main window by @digant73 in #18885
– gui: Move download database actions from game list to Manage -> Database submenu by @Vishrut2403 in #18870
– rsxaudio: fix some VS warnings by @Megamouse in #18886
– gui: Play preview videos on row selection, not just hover by @thephilcoulson in #18721
– Use more std::move by @Megamouse in #18868
– Add integrity check to PSN Content, DLC and Game Update files by @digant73 in #18669
– Fix visual studio projects by @Megamouse in #18889
– Do not throw on hex_to_bytes error in iso get_key by @Megamouse in #18891
– Optimise PNGs across the repo by @Chubercik in #18831
– Use more std::string_view (Part 1) by @Megamouse in #18890
– gl: Maintenance fixes by @kd-11 in #18874
– Use opengl renderer in game window title by @Megamouse in #18895
– Use more fmt::split_sv by @Megamouse in #18898
– Stop playing gamelist movies when the window loses focus by @Megamouse in #18899
– Use more std::string_view (Part 2) by @Megamouse in #18901
– [SPU] Optimize CLZ on targets without AVX512 by @WalterKruger in #18900
– sys_rsx: Fix IOMAP syscalls argument types by @elad335 in #18909
– Fix std::string_view regressions by @Megamouse in #18908
– Qt: use readable strings for window visibility in gui settings by @Megamouse in #18907
– [macOS] Update runners to OS 15, raise minimum deployment target accordingly by @schm1dtmac in #18897
– Add user agent to curl requests by @Megamouse in #18912
– [SPU] Calculate FRSQEST exponent using arithmetic by @WalterKruger in #18905
– Add missing sanity check in savedata_op by @Megamouse in #18918
– Update pugixml to 1.16 by @Megamouse in #18904
– fix double path delimiter by @digant73 in #18923
– Use more std::string_view (Part 3) by @Megamouse in #18903
– [SPU LLVM] Calculate FREST fraction using vperm2d for AVX512 by @WalterKruger in #18931
– SPU Analyzer: Giga Block Crash Fix for Skylanders Giants by @chotchki in #18935
– SPU LLVM: Use SVE2 XAR for constant rotates by @Whatcookie in #18849
– [SPU LLVM] Refactor SHUFB to improve readability by @WalterKruger in #18937
– Update wolfssl to 5.9.2 by @Megamouse in #18946
– Update 7zip to 26.02 by @Megamouse in #18947
– [SPU LLVM] Additional SHUFB splat/special-index fast paths by @WalterKruger in #18945
– emulated turntable: allow to map motion sensors by @Megamouse in #18958
– Add more motion control mappings to turntable and ghltar by @Megamouse in #18961
– Fix consteval read_from_ptr and add sanity checks if possible by @Megamouse in #18963
– Propagate src_loc in write_to_ptr and read_from_ptr by @Megamouse in #18967
– SPU Precompilation: Add support for unaligned segments by @elad335 in #18968
– Fix TTY UTF-8 logging by @Megamouse in #18969
– settings: Default async with shader interpreter with no shader compilation hint by @AniLeo in #18956
– Fix cellKb when using key modifiers on linux by @Megamouse in #18938
– macOS: DJ Hero Turntable support (deck buttons, passthrough conflict) by @silvatyrant in #18957
– Fix out of bounds read in Dimensions by @Megamouse in #18972
– cellSysmodule implementation by @capriots in #18962
– [SPU ASMJIT] Vectorized 16-bit variable shifts for SSE2 targets by @WalterKruger in #18911
– SPU LLVM: Use ARM USHL for masked infinite shifts by @Whatcookie in #18816
– PPU LLVM: Fix core_lock locking by @elad335 in #18774
– SPU: Comparisons via multiplications for ARM, checksums via absolute difference, and rolled loops by @Whatcookie in #18824
– Fallback unsupported database SPU decoder on ARM64 by @cicerohellmann in #18651
– sysinfo.cpp: Relax TSC calibration constraints by @elad335 in #17909
– cellSysmodule: fixup by @capriots in #18977
– Fix VSH on ARM64: Memory management fixes by @elad335 in #18707
– cellSysmodule: fixup (part 2) by @capriots in #18978
– Move unsafe raw pointer write_to_ptr and read_from_ptr to write_to_ptr_unsafe and read_from_ptr_unsafe by @Megamouse in #18975
– Update Submodules by @Megamouse in #18980
– Extra logging for GUI notifications by @RipleyTom in #18988
– input: fix arrow key mapping roundtrip on macOS ARM by @Icnopandaz in #18920
– Bump global savestate version by @capriots in #18989
– VK: fix video_out_calibration_pass::get_fragment_inputs by @Megamouse in #18952
– Add OpenCV 5 Support by @hcorion in #18998
– Update fusion to 1.3.0 by @Megamouse in #19008
– Update curl to 8.21.0 by @Megamouse in #18943
– Fix PS1 classics shortcuts by @Megamouse in #19012
– [SPU LLVM] Refactor SELB to improve readability by @WalterKruger in #19002
– [SPU ASMJIT] Optimize xfloat compares and multiply by @WalterKruger in #19025
– IDM: Optimize search for concurrency by @elad335 in #19027
– sys_fs: Fix ENOTDIR check for paths ending with /dot or /dotdot by @elad335 in #19028
– Update fusion to 1.3.1 by @Megamouse in #19030
– PPU LLVM: Optimize vector NaN handling for AVX512 by @Yahfz in #19033
– PPU LLVM: Optimize vector denormal handling for AVX512 by @Yahfz in #19034
– [SPU LLVM] Replace constant float checks with LLVM’s KnownFPClass analysis by @WalterKruger in #19043
– PPU LLVM: Accelerates NJ handling in FTZ environment by @elad335 in #19040
– metainfo: Update screenshot preview by @AniLeo in #19044
– qt: Fix save manager crash when deleting multiple entries by @ProtoJay4789 in #19019
– Revert SPU Reduced Loop Optimizations to fix Arm64 regressions by @elad335 in #18979
– SPU: Revert LQX/STQX reduction by @elad335 in #19050
– [SPU LLVM] Use select in FMA to shorten its dependency chain by @WalterKruger in #19052
– pad settings: Fix for clearing bindings by @Megamouse in #19054
– Add more info to VFS exceptions by @Megamouse in #19055
– [macOS] Update to the latest MoltenVK 1.4.2 prebuilt by @schm1dtmac in #19059
– atomic: Fix BSD compilation by @AniLeo in #19061
– LLVM: Improve v128 constant extraction by @elad335 in #19064
– Fix: get_known_bits fix by @RipleyTom in #19051
– cli: allow to boot last savestate of a game by @Megamouse in #19067
– Qt: add guest memory dump utility by @canersaka in #19068
– Qt: move guest memory dump code to own class by @Megamouse in #19070
– rsx: Clean up the shader interpreters by @kd-11 in #19084
– Update llvm to 22.1.8 by @Megamouse in #16807
– rsxfp/interpreter – Implement missing texture functionality by @kd-11 in #19090
– Fix package install failure warning message by @Megamouse in #19096
– Fix recording encoder selection by @Megamouse in #19063
– Fix DLC installation by @Megamouse in #19097
– SPU/ARM64: Fix PS1 classics and RawSPU Games by @elad335 in #19088
– vk: remove unused setting by @Megamouse in #19099
– Replace some abort() calls with fmt::throw_exception by @Megamouse in #19094
– Remove outdated LLVM ifdefs by @Megamouse in #19092
– Fix value assignment in iota16 by @isztldav in #19105
– Fix 1st regression on black textures in Sonic Generations by @digant73 in #19091
– Add game invite handling to friends overlay #18417 by @primetime43 in #19108
– UI/UX: Add Categories Broken and Completed to Filter Game List by @Darkhost1999 in #19106
– add missing vids and pids for wii MPA devices by @sanjay900 in #19111
– Allow to skip empty strings in fmt::merge by @Megamouse in #19110
– rsx: Implement proper fix for incomplete image reconstruction in the texture cache when WCB is disabled by @kd-11 in #19104
– rsx: Fix interpreter error spam due to incorrect format lookup by @kd-11 in #19113
– ci/bsd: Update FreeBSD to 14.4, use LLVM 22 while keeping clang-devel by @AniLeo in #19116
– rsx: fix some msvc warnings by @Megamouse in #19115
– [SPU LLVM] Shorten FI’s dependency chain and fix SNaN clamping issue by @WalterKruger in #19107
– ci/bsd: Compile with clang 22 by @AniLeo in #19119
– overlay: Add trophy list sorting options by @Vishrut2403 in #18965
– rpcs3_version: Bump to 0.0.42 by @AniLeo in #19121
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).






























