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
– USB: Allow UsbPspCm passthrough by @Florin9doi in #15540
– Qt/Logs: Fixing spaces, optimize string to html conversion by @elad335 in #15549
– HLE: use original filename for media exports by @Megamouse in #15548
– cellVideoOut: Add interlaced modes by @Megamouse in #15515
– Savestates: Fixup file write by @elad335 in #15555
– Qt: Keep progress dialog alive to fix rare segfaults by @Megamouse in #15553
– merge qt_camera_error_handler into qt_camera_handler by @oltolm in #15557
– VSH cache by @Megamouse in #15534
– Split normal sockets and p2p sockets handling v2 by @RipleyTom in #15562
– Update submodules by @Megamouse in #15569
– USB: Disconnect the virtual device only for TRANSFER_NO_DEVICE error by @Florin9doi in #15574
– vfs_directory: try to fix compilation on gcc 14.1 by @Megamouse in #15579
– cellPad: don’t report fake move pads as connected by @Megamouse in #15365
– rsx: Implement xform-constant-based instancing by @kd-11 in #15483
– sys_net improvements by @RipleyTom in #15584
– USB: GunCon3 updates by @Florin9doi in #15585
– rsx: Fix processing of deferred indexed draw parameter updates by @kd-11 in #15589
– Savestates: Multi-threaded compression, use ZSTD by @elad335 in #15587
– gl: Handle GCM_FORMAT_G8B8 readback compatibility check by @kd-11 in #15591
– fix size calculation in get_member_and_attrs by @RipleyTom in #15593
– spu llvm: fix compilation and optimize some vector lookups by @Megamouse in #15598
– Add matching2 option handling by @RipleyTom in #15601
– USB: Add GunCon 3 config window by @Florin9doi in #15597
– sys_usbd: Add Skylander Dump File Types by @deReeperJosh in #15603
– PAD: Fix ldd_data transfer by @Florin9doi in #15606
– overlays/input: allow ldd pad input by @Megamouse in #15180
– threads: some cleanup by @Megamouse in #15599
– Fix GunCon3 encoding by @Megamouse in #15607
– Avoid repeating the -march flag by @pstef in #15561
– cellSysutil: Implement dispatcher callback unloading by @elad335 in #15604
– Improve CB accuracy for Avc2 by @RipleyTom in #15586
– Improve match2 ctx context start by @RipleyTom in #15609
– StrFmt.h: Fix throw_exception log message by @elad335 in #15611
– [TESTERS NEEDED AGAIN] SPU: PUTLLC16 Optimization, SPU Analyzer capabilities upgrade by @elad335 in #15429
– sys_usbd: Allow 2 More Slots for Power Discs on Infinity Base by @deReeperJosh in #15583
– Implement mouse handler configuration by @Megamouse in #15608
– Savestates/SPU LLVM: Fix sinking store finally by @elad335 in #15616
– RSX/SPU: Import and improve RSX accurate reservations functionality by @elad335 in #15618
– Update curl to 8.8.0 by @Megamouse in #15619
– SPU LLVM: Implement PUTLLC16 for accurate RSX reservations by @elad335 in #15621
– Implement raw mouse hot swap by @Megamouse in #15615
– Use official 7zip github repository by @Megamouse in #15625
– Fix OSK event hook callback key code by @Megamouse in #15624
– Overlays: allow LDD/USB input even if len is 0 by @Megamouse in #15629
– vk: Don’t always preserve the renderpass for all drivers when doing transform hot-patch by @kd-11 in #15636
– Fix logic typo from PR 15636 by @kunit1 in #15638
– LLVM: Prevent crash on disk space shortage by @elad335 in #15640
– vk: Dump diagnostic messages if device creation fails by @kd-11 in #15642
– SPU LLVM: Disable PUTLLC16 for the weekend by @elad335 in #15648
– sys_net: properly return error in sendto by @cipherxof in #15653
– Unix/Savestates: Fix savestates destination by @elad335 in #15650
– USB: If a Santroller device is in use elsewhere, don’t send it commands by @sanjay900 in #15655
– Cirrus: Update to FreeBSD 13.3 by @AniLeo in #15662
– OpenAL: Fix crash when loading certain audio devices by @AniLeo in #15660
– Add openal-soft submodule by @Megamouse in #15663
– SPU: Make GETLLAR always accurate by @elad335 in #15654
– SPU Analyzer: Fix of Crysis by @elad335 in #15668
– Fix raw mouse move handler by @Megamouse in #15670
– Implement anti-deadzone setting by @Megamouse in #15634
– SPU: Silence some warnings by @Megamouse in #15675
– PPU LLVM: Support Unity games properly by @elad335 in #15678
– sys_ppu_thread: Fixed up sys_ppu_thread_join()’s check for detached threads by @brian218 in #15685
– SPU: Enable PUTLLC16 with RTIME checks by @elad335 in #15686
– Game List: Add shortcut to open cache dir by @elad335 in #15687
– rsx: Properly implement signed normalized texture emulation by @kd-11 in #15683
– DS3/DS4/Dualsense: Improvements by @Megamouse in #15522
– RSX: Fix some warnings by @Megamouse in #15688
– Qt: log error cause on shortcut icon creation by @Megamouse in #15695
– sceNp: add some array pointer checks by @Megamouse in #15690
– rsx: Fix simple_array::map by @kd-11 in #15699
– vm_ptr: add some nullptr deref audits by @Megamouse in #15698
– input: Try to fix ingame pad connection updates by @Megamouse in #15697
– Fix sys_lwmutex_lock for SYS_SYNC_RETRY by @elad335 in #15692
– LV2: Race condition fixup by @elad335 in #15700
– Fix race in sys_net select and poll by @RipleyTom in #15704
– SPU: Self-evolving GETLLAR spin detection (Optimization) by @elad335 in #15623
– SPU LLVM: Avoid sinking stores out of non-loops by @elad335 in #15714
– Savestates/Mouse: Fix Mouse handler use by @elad335 in #15717
– Update submodules by @Megamouse in #15721
– input: try to fix macOS SDL crash by @Megamouse in #15722
– Fix locale on linux by @MSuih in #15723
– Improve keyboard modifier handling by @Megamouse in #15725
– PPU: Fix access violation on logging by @elad335 in #15726
– Cut sceNpDrmIsAvailable sleep time by half by @elad335 in #15734
– input: fix ds3 gyro offset by @Megamouse in #15733
– input: add missing lock to keyboard handler ReleaseAllKeys by @Megamouse in #15740
– input: fix minimum turntable input by @Megamouse in #15741
– Invalidate ds4/dualsense calibration instead of disabling the controller by @Megamouse in #15738
– Fix some warnings by @Megamouse in #15742
– skylander_dialog: Fix Drill Sergeant’s name by @SuperSamus in #15744
– 3rd Party: Update MoltenVK to 1.2.9 (Vulkan SDK 1.3.283) by @shinra-electric in #15707
– SPU Analyzer: Fix support for multi-block value merge by @elad335 in #15746
– Allow to change more input configs during runtime by @Megamouse in #15736
– input: actually initialize midi drum notes and combos by @Megamouse in #15748
– rsx: Fix wrapped/clamped MSAA sampling behavior with dynamic flags by @kd-11 in #15743
– Fix weird new gcc namespace warning by @Megamouse in #15747
– rsx: Fix codegen when depth-conversion is enabled by @kd-11 in #15752
– Remove check_state() inside thread notificatios by @elad335 in #15749
– CELL: More efficient reservation notificatins by @elad335 in #15756
– Fix midi drum config loading order by @Megamouse in #15757
– cellGem: implement cellGemEnableMagnetometer2 by @Megamouse in #15758
– revert problematic optimization introduced in pull request #15618 by @5kft in #15761
– Fixup and Improve CELL resrrvation notifications by @elad335 in #15759
– Input GUI fixes by @Megamouse in #15771
– Overlays: Show pressure intensity toggle hint on demand by @Megamouse in #15772
– Fix some visual studio filters by @Megamouse in #15774
– Improve error message when update cannot be installed due to version mismatch by @MSuih in #15773
– USB: GunCon3 updates by @Florin9doi in #15776
– [WIP] SPU: Channel Loop Pattern Detection by @elad335 in #15765
– Qt: fix camera id bugs by @Megamouse in #15778
– cellGem: fix camera format conversions by @Megamouse in #15779
– Update submodules by @Megamouse in #15781
– improve CMake files by @oltolm in #15791
– Support old sceNpScoreRankData by @RipleyTom in #15797
– Remove Alipay link from FUNDING.yml by @MSuih in #15807
– Do not set the data size in sceNpBasicGetEvent for SCE_NP_BASIC_EVENT_OFFLINE by @CookiePLMonster in #15804
– SPU: Utilize Operating System sleep in detected RCHCNT loop by @elad335 in #15801
– sys_usbd: Emulate Dimensions Toypad by @deReeperJosh in #15763
– USB: Top Shot Elite emulation / Top Shot Fearmaster emulation by @Florin9doi in #15793
– Fix some warnings (MSVC) by @Megamouse in #15813
– 3rd Party: Bump MoltenVK to 1.2.10 (Vulkan SDK 1.3.290) by @shinra-electric in #15814
– Fixed compilation by @second-reality in #15816
– Some settings fixes by @Megamouse in #15810
– Improve dimensions dialog by @Megamouse in #15815
– sceNp: Fix sending partial results from sceNpScoreRecordGameData by @CookiePLMonster in #15821
– Input: Reload viewport gui settings when changing visibility or active state of the game window by @Megamouse in #15822
– Qt: Fix resolution dropdown if resolution flags of game are empty by @Megamouse in #15823
– Add icons to RPCN friend status circles by @Megamouse in #15830
– vk: Fix crash on VEGA M GH chips by @kd-11 in #15825
– cellMic: Wake up upon registering emulated SingStar microphone by @DaniElectra in #15837
– Add SPU usage for program dump, remove welcome dialog keyboard-shortcut by @elad335 in #15843
– sys_usbd: Allow ‘Moving’ figure to same slot on Dimensions Toypad by @deReeperJosh in #15850
– DS4/DualSense/SDL: Add touchpad support by @Megamouse in #15856
– raw_mouse: Fix button map out of bounds access by @Megamouse in #15855
– Fix some warnings by @Megamouse in #15863
– gl: Fixes for wayland (asahi linux, aarch64) by @kd-11 in #15869
– types.hpp: Add argument formatter to assert errors by @elad335 in #15871
– Fix ffmpeg deprecation warnings by @Megamouse in #15864
– gl: Fix hang on windows by @kd-11 in #15875
– types.hpp: Format C arrays too for assert errors by @elad335 in #15874
– Update submodules by @Megamouse in #15876
– cellMic: Fix CELLMIC_DEVATTR_CHANVOL handling by @DaniElectra in #15838
– Run platform sanity checks after creating the log and log windows path by @Megamouse in #15853
– change PSMove mouse button bindings by @future-figs in #15860
– Add fallback CPU detection when llvm is not aware of the CPU model by @kd-11 in #15881
– Improved wayland support by @kd-11 in #15883
– Qt/trophies: allow to delete a game’s trophy directory by @Megamouse in #15887
– Case-insensitive path compare for module verifier by @kd-11 in #15889
– Dimensions: Try to fix out of bounds array access by @Megamouse in #15893
– SPU LLVM: Revert store postponing restrictrictions by @elad335 in #15897
– MSVC: Fix openal warnings by @Megamouse in #15899
– sys_usbd: Default replies for Dimensions Color Commands by @deReeperJosh in #15901
– cellMic: improvements by @Megamouse in #15900
– aarch64/cpu: Add LLVM support by @kd-11 in #15904
– PINE: Fix socket naming for Mac and Linux to match protocol specification by @Refragg in #15906
– Class « llvm:StringRef » has no member ‘Startswith’ by @Darkhost1999 in #15898
– Fix initial reload of mouse handler configs by @Megamouse in #15909
– rsx: Fix fragment constants decoding for non-x86 platforms by @kd-11 in #15915
– Pad settings: Ignore button press or stick values unless they increase by @Megamouse in #15907
– input: add analog limiter button by @Megamouse in #15917
– Enable user to change country code by @Ninetime in #15884
– evdev: try to improve button mapping by @Megamouse in #15916
– SPU: Fix bug in GETLLAR, Enable PUTLLC16 if accurate reservations is off by @elad335 in #15918
– Enable users to cancel/reject friend requests by @Ninetime in #15923
– gl: Fix OpenGL behavior under wayland-egl by @kd-11 in #15924
– Fix warning / Refactor some UI code by @Megamouse in #15927
– Qt/input: add shortcut for toggling emulated mouse and keyboard by @Megamouse in #15929
– SPU: Fix « SPU Accurate Reservations » off by @elad335 in #15933
– aarch64/llvm: Handle processing of leaf nodes by @kd-11 in #15925
– rsx: Fix crash when CPU blit is enabled by @kd-11 in #15931
– xinput: allow to map triggers as positive or negative by @Megamouse in #15932
– keyboard: only map single buttons by @Megamouse in #15936
– Fix sys_io thread deadlock by @elad335 in #15941
– [Optimization] CELL: Exclusive reservation notifications by @elad335 in #15934
– Improve patch.yml value validation by @Megamouse in #15940
– VFS tool dialog + 7zip 24.08 by @Megamouse in #15943
– evdev: don’t warn on disabled motion device by @RipleyTom in #15945
– Qt: Improve patch creator and patch manager dialogs by @Megamouse in #15944
– [Optimization] SPU: Unlock RSX list transfers by @elad335 in #15946
– Qt: fix pad settings latency by @Megamouse in #15952
– Implement thread_ctrl::wait_until() by @elad335 in #15953
– input: Some fixes by @Megamouse in #15957
– aarch64/llvm: Improve compatibility by @kd-11 in #15962
– aarch64 fixes by @kd-11 in #15971
– Debugger/SPU: Implement SPU Disassembler by @elad335 in #15961
– Rework aarch64 signal handling by @kd-11 in #15974
– cmake: fix EGL and add USE_SYSTEM_CURL by @oltolm in #15975
– config: Set minimum allowed resolution scale to 25% by @AniLeo in #15977
– vk: Support v3dv, allow creating device without textureCompressionBC by @AniLeo in #15978
– Debugger: Pointer comparison bugfix by @elad335 in #15976
– aarch64: CPU branding info and misc improvements by @kd-11 in #15981
– aarch64: Support for apple exceptions by @kd-11 in #15987
– Handle WSAENETRESET error by @RipleyTom in #15993
– SPU: Remove condition from GETLLAR spin detection by @elad335 in #15995
– MacOS – Implement remaining portions for native ARM64 by @kd-11 in #15992
– Qt: sync gui settings by default after setting or removing values by @Megamouse in #15998
– Qt: ask for camera and microphone permissions by @Megamouse in #14798
– RSX: Fix RSX Captures by @elad335 in #16004
– Vk/Gl/Overlays: Do not blend the alpha channel when rendering overlays by @Megamouse in #16009
– Misc fixes by @kd-11 in #16011
– aarch64: Support calloc patch blocks by @kd-11 in #16022
– BUILDING: Add qt6-svg for archlinux, update gcc/clang versions by @AniLeo in #16021
– rpcs3_version: Bump to 0.0.33 by @AniLeo in #16025
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).