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 certains nombres 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 core i7 @ 4Ghz (voir config minimale requise sur le site officiel), une carte graphique récente type nVidia GTX, de la mémoire haute performance type DDR4 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.29 was tagged:
– 490 new commits
– 565 source code files have been edited
– 32 452 lines of code were added and 12 759 deleted
– 16 code contributors
– 155 days of development

 

– rsx: fix register_vertex_printer value func by @Megamouse in #14401
– Update dependencies by @Megamouse in #14400
– Update ffmpeg by @Megamouse in #13870
– [Test] Big atomic cleanup and futex_waitv support for Linux by @Nekotekina in #14403
– [hotfix] Fix lf_queue regression by @Nekotekina in #14414
– Direct return in ppu_check by @cipherxof in #14404
– Fixup futex_waitv redefinition by @Nekotekina in #14418
– PPU LLVM/SPU/Non-TSX: Obnoxiously responsive and obedient PPU for SPU requests by @elad335 in #14408
– Auto-dump binaries (PPU Debug), reduce ELF loader RAM usage by @elad335 in #14416
– Fix current date format by @MSuih in #14423
– rsx: Rebuild shader texture state if we detect a silent mismatch by @kd-11 in #14420
– overlays/osk: respect ignore_device_events by @cipherxof in #14407
– macOS CI: build faudio from source by @nastys in #14428
– macOS CI: set DMG format to ULMO (lzma) by @nastys in #14429
– timerslack improvements for linux and usermode waiting by @Whatcookie in #14388
– CI: Don’t silence curl errors by @Margen67 in #14411
– Make experimental build warning modal by @nastys in #14431
– vk: Fix detection of RADV on get_driver_vendor() by @AniLeo in #14432
– PPU LLVM Cache Fix by @elad335 in #14427
– Merge xfloat options by @Megamouse in #14247
– [hotfix] PPU Precompilation Fixup by @elad335 in #14435
– Fixup SPU/PPU Cache Abortion, Fix VSH Regression by @elad335 in #14437
– [hotfix] PPU Analyzer: Fixup verify_func by @elad335 in #14441
– cellGame: Add sleep when waiting for VSH by @elad335 in #12853
– cellSaveData: Fix check 58, implement checks 77 and 76 by @elad335 in #14443
– PPU: Fixup interpreter and analyzer by @elad335 in #14453
– rsx: Rewrite image merging routines by @kd-11 in #14446
– LV2/cellPad: Implement priority-based connection updates by @elad335 in #14458
– PPU Loader: Fix main()’s envp, move process arguments to stack by @elad335 in #14461
– Fixup futex_waitv regressions by @Nekotekina in #14436
– PPU Loader: Fixup stack alignment after envp fix by @elad335 in #14465
– SPU LLVM: Fix for AVX-512 CFLTU path by @Whatcookie in #14467
– VS: Fix compilation on Visual Studio 17.7.0 by @Megamouse in #14473
– patches: Improve location logging for invalid note sequence by @Megamouse in #14474
– SPU LLVM: Inline timer reads for WrDec and RdDec by @Whatcookie in #14469
– home menu: remove non-dynamic SPU Loop Detection by @Megamouse in #14477
– cellRec: fix width of encoder frames by @Megamouse in #14476
– cellPad: Fixup sys_config management by @elad335 in #14480
– cellRec: add more encoder options by @Megamouse in #14483
– Fix PPU SELF Precompilation by @elad335 in #14485
– Qt6: fix build on mingw-w64 by @oltolm in #14412
– Fixup atomic wait (Linux) by @Nekotekina in #14495
– CELL: Postponed address notifications by @elad335 in #14491
– utils/endian.hpp: Use std::byteswap, fixup regression by @elad335 in #14498
– PPU: Fix LVRX bad memory access by @elad335 in #14499
– Update Linux Docker by @hcorion in #14489
– cellAudio: Move and partially fix _mxr000 hack by @elad335 in #14501
– Update submodules by @Megamouse in #14504
– 3rdParty: Bump MoltenVK to 1.2.5 – Vulkan SDK 1.3.261 by @shinra-electric in #14496
– Debugger/RSX: Add hash of current FP/VP shaders by @elad335 in #14503
– workaround for Clang crash by @oltolm in #14508
– Replace some utils::bless usages, Fixup cellPadPeriphGetInfo by @elad335 in #14509
– xaudio2: enable IXAudio2Extension for mingw-w64 by @oltolm in #14514
– Update BUILDING.md by @Darkhost1999 in #14515
– CLI – install multiple pkgs from folder by @nkarl7 in #14516
– Debugger/PPU: Superior Callstack Detection by @elad335 in #14518
– LV2/Loader: Fix kernel regions addresses by @elad335 in #14523
– Game List: Add initials-only search by @elad335 in #14524
– qt/utils: support full path in get_dir_entries by @Megamouse in #14528
– Input: Add PS Move navigation controller to pad classes by @Megamouse in #14527
– Progress Dialog: Fix race on PPU compilation status by @elad335 in #14526
– Progress Dialog: Fix race that could lead to ever-inaccurate results by @elad335 in #14531
– rsx: Fix index vertex array range with modulo calculation by @elad335 in #14505
– Progress Dialog: Fix race when PPU compilation is super fast, RSX #14505 fixup by @elad335 in #14533
– cellGame/sceNpDrm/Loader: Few fixes by @elad335 in #14537
– overlays: fix some warnings, simplify code, use move and references by @Megamouse in #14535
– rsx: Discard color mask writes with reserved bits by @elad335 in #14545
– PPU Analyzer/Savestates: Usability improvements, Reduce LLVM compilation of garbage data by @elad335 in #14547
– rsx: Optimize RET returning to following CALL by @elad335 in #14552
– RB3MidiKeyboard.cpp: fix some note off messages being processed incorrectly by @DarkRTA in #14551
– GHLtar: fix guitar tilt by @Megamouse in #14554
– Input: Implement pressure sensitivity deadzone by @Megamouse in #14557
– cellPad/input: prepare some peripheral data code by @Megamouse in #14559
– cellPad: fix custom controller status by @Megamouse in #14553
– PPU Analyzer: Fix OPD section validation by @elad335 in #14561
– Zero register optimization for AVX-512-VBMI by @Whatcookie in #14241
– Initial SPU LLVM Precompilation by @elad335 in #14565
– SPU LLVM Precompilation Fixup by @elad335 in #14569
– [DS4] Proper USB/BT detection by @Nekotekina in #14573
– 3rd Party: Update MVK 1.2.5 as it was updated without using new tags by @shinra-electric in #14566
– input: add SDL_GameControllerDB by @Megamouse in #14558
– macOS CI: build ffmpeg and gnutls from source, and fix deploy script by @nastys in #14563
– Qt: fix pressure intensity deadzone enabled state by @Megamouse in #14578
– Improve SPU LLVM Precompilation by @elad335 in #14570
– Hotfix SPU Cache Spam For Game Collections by @elad335 in #14582
– Setup Azure Pipelines by @hcorion in #14585
– Make sure to enable PR builds for Azure by @hcorion in #14588
– Qt: rename pad profiles to input config files by @Megamouse in #14579
– Crypto: Fix endianess, avoid crashing on invalid values by @elad335 in #14584
– rsx/texture-cache: Remove archaic short-circuit during purge-xxxxx routines by @kd-11 in #14590
– rsx: Fix excluded sections check mismatch by @kd-11 in #14597
– SPU LLVM: Optimize spu_idisable by @elad335 in #14598
– Set azure variables by @hcorion in #14599
– Actually fix build id issue by @hcorion in #14601
– Windows: Update version gen script and add scripts to VS filters by @Megamouse in #14602
– SPU: fix some wierd typos (may be wrong, no idea) by @Megamouse in #14589
– SPU LLVM: Precompilation Improvements and misc fixes by @elad335 in #14595
– sys_rsx: Fix local memory size reported in driver info by @elad335 in #14603
– SPU LLVM: Fill space between functions using targets (Precompilation) by @elad335 in #14604
– [HOTFIX] Do not wait for progress dialog cleanup for SPU Precompilation by @elad335 in #14607
– Progress dialog: show analysing… while no files or modules are known yet. by @Megamouse in #14610
– macOS CI: build freetype from source by @nastys in #14612
– Win32/File.cpp: utime: fallback to 01/01/1980 00:00:00 if the date is too low by @Megamouse in #14019
– SPU/PPU LLVM: Fixups and minor optimizations by @elad335 in #14616
– Add approximation to remaining compilation time by @elad335 in #14622
– Add Tony Hawk RIDE Skateboard handler by @Megamouse in #14619
– PPU/Progress Dialog: Improve remaining time approximation by @elad335 in #14624
– Progress dialog: Fix remaining time by @Megamouse in #14627
– macOS CI: build jpeg-xl from source by @nastys in #14618
– Updates by @Megamouse in #14623
– PPU Analyzer: Fixup by @elad335 in #14626
– USIO: Support up to 4 players for Tekken Tag Tournament 2 Pair Play mode by @brian218 in #14629
– PPU LLVM: Re-add multi-threaded (multi-files) overlay module compilation by @elad335 in #14635
– Rewrite Utilitis/sema.cpp by @elad335 in #14640
– FFmpeg: rebase to improve artifact creation by @Megamouse in #14641
– Update OpenAL and log an error if ALC_ENUMERATION_EXT is missing by @Megamouse in #14642
– cellMic: Improve cellMicGetDeviceAttr for channel volume by @Megamouse in #14643
– Mac build on Azure by @hcorion in #14660
– vk: Fix section merge calculations when using a temp resource by @kd-11 in #14657
– Welcome Dialog: Add ability to set Dark Theme by @elad335 in #14650
– Add Azure Build Status back to Readme.md by @Megamouse in #14667
– SPU LLVM: Optimize remaining rotate instructions which take a twos compliment value as input by @Whatcookie in #14651
– Add restart option to home menu by @Darkhost1999 in #14675
– Patches: Add savable breakpoints patch type by @elad335 in #14676
– macOS CI: reinstall jpeg-xl and other dependencies from source by @nastys in #14673
– [TESTERS NEEDED] rsx: Handle tiled memory by @kd-11 in #14647
– Savestate Fixes part 3 out of 3 by @elad335 in #14691
– Update curl to 8.3.0 by @Megamouse in #14678
– SPU LLVM: Optimize GB/GBH/GBB with a GFNI path by @Whatcookie in #14669
– cmake: fix libcurl compilation by @oltolm in #14696
– Savestate fixes part 4 out of 3 by @elad335 in #14694
– sys_fs: Optimize concurrent file reads by @elad335 in #14697
– VFS: Fix recursive locking regression by @elad335 in #14702
– Improve vfs::host::rename by @elad335 in #14703
– macOS CI: set build timeout to 180 minutes by @nastys in #14705
– Savestate fixes 8 out of 14 by @elad335 in #14704
– CMAKE: try to fix curl by @Megamouse in #14711
– Input: Fix « , » key in keyboard pad handler by @Megamouse in #14714
– Qt 6.5.3 by @Megamouse in #14683
– Update Linux Docker to Qt 6.5.3 by @hcorion in #14716
– CMake: fix curl build by @oltolm in #14715
– Qt: Remember last game window position and visibility by @Megamouse in #14713
– macOS CI: force install Python 3.11 by @nastys in #14725
– PPU Loader: Fix relocation offset verification by @elad335 in #14730
– rsx: Detiler improvements by @kd-11 in #14706
– Qt: Allow to use .gz files in Log viewer by @Megamouse in #14729
– Qt: allow to use zipped logs in config checker by @Megamouse in #14733
– llvm: add support for LLVM 17 by @oltolm in #14720
– Add –parents to mkdir to avoid error if directory exists by @repomansez in #14732
– Update dependencies by @Megamouse in #14727
– Update curl by @Megamouse in #14736
– Disable RTMidi linking to jack by @RipleyTom in #14735
– VFS: fix rename by @elad335 in #14739
– cellSaveData: some list delete fixes by @Megamouse in #10622
– [Bugfix] USIO: Fixed switch-kind buttons got released when game window lost focus by @brian218 in #14750
– Utilities/Thread.cpp: Fix threads memory leak by @elad335 in #14765
– cellPhotoDecodeFromFile: Allow decoding files located in /dev_hdd1 by @Megamouse in #14757
– rsx: Maintenance improvements by @kd-11 in #14767
– Bump MoltenVK to 1.2.6 (Vulkan 1.3.268) by @shinra-electric in #14766
– Misc fixes by @Megamouse in #14769
– fix Clang compilation warnings by @oltolm in #14770
– sys_net: fix some warnings by @Megamouse in #14790
– [UI/UX] Fix Firmware tree checkboxes for Darker Style by TheMitoSan file by @Darkhost1999 in #14799
– Switch official AppImage deployment to clang by @hcorion in #14800
– Midi: improve error handling by @Megamouse in #14802
– Update dependencies by @Megamouse in #14801
– rsx: Vertex program analyser improvements by @kd-11 in #14804
– Savestates: Implement initial RAM ventilation system by @elad335 in #14784
– rsx: zip and unzip rsx captures by @Megamouse in #14808
– rsx: fix reading zipped captures by @Megamouse in #14811
– fix read_at by @oltolm in #14813
– rsx: Fix vertex input validation failure by @kd-11 in #14820
– rsx: Maintenance improvements by @kd-11 in #14834
– Implement audio recording by @Megamouse in #14817
– Qt: add trophy count column to trophy manager game list by @Megamouse in #14839
– Change Batch Creation from PPU/SPU to LLVM by @Darkhost1999 in #14836
– [TESTERS NEEDED!] Savestates: Compressed files by @elad335 in #14822
– Explicitly add qtsvg to freebsd by @hcorion in #14844
– Savestates: Asynchronous compression by @elad335 in #14847
– macOS CI: link ffmpeg after building it from source by @nastys in #14843
– PPU Progress Dialog: Add « Applying PPU Code » stage by @elad335 in #14848
– Qt: fix random segfaults when canceling batch operations by @Megamouse in #14840
– SPU: Fixup SPU Cache progress in first game boot by @elad335 in #14851
– rsx: Minor code cleanup by @kd-11 in #14852
– fix Clang warnings by @oltolm in #14849
– Qt: Play ICON1.PAM on hover in gamelist if available by @Megamouse in #14835
– Qt 6.6.1 by @Megamouse in #14846
– Recording: optimize access to video recorder by @Megamouse in #14854
– Recording: Implement audio recording for rsx audio by @Megamouse in #14856
– Qt: force hover event handling for flow widget items by @Megamouse in #14857
– Qt: Properly use ICON1.PAM from game data dir if available by @Megamouse in #14866
– PPU/sys_dbg: Implement self-modifying code by @elad335 in #14865
– cellRec: Remove outdated frame size check by @Megamouse in #14873
– Savestates: Fix compressed serialization handler deadlock by @elad335 in #14875
– Mac CI: Install python before updating by @hcorion in #14879
– rsx: Let 308a::color have a synchronization side-effect in strict mode by @kd-11 in #14880
– asm.hpp: fix usage of _mm_prefetch by @oltolm in #14884
– Qt: Post Game-Installation Assistant by @elad335 in #14864
– macOS CI: use 7-Zip for artifacts by @nastys in #14881
– Update Vulkan to 1.3.268.0 by @Megamouse in #14870
– sceNp/vm: Fix strings read, implement safe string reader by @elad335 in #14885
– Force sending a FIN packet on rpcn disconnect by @RipleyTom in #14891
– Update soundtouch to 2.3.2 by @Megamouse in #14855
– input/evdev: handle flatness deadzone value by @Megamouse in #14889
– Fix initialization order for network_thread by @RipleyTom in #14895
– Trophy Manager: allow to lock/unlock trophies by @Megamouse in #14827
– Fix fxo dependencies by @Megamouse in #14897
– sys_usbd: Prevent sys_usbd_get_descriptor() from buffer overflow & Add some more arguments to sys_usbd_attach()’s logging for better debugging by @brian218 in #14900
– sys_usbd: Fix up sys_usbd_get_descriptor() error handling according to hardware test by @brian218 in #14903
– rsx: Avoid data loss in blit engine when WCB/WDB + RCB/RDB is active by @kd-11 in #14907
– Update Dependencies by @Megamouse in #14893
– Util/fixed_typemap.hpp: Fixes by @elad335 in #14896
– Do not allow running RPCS3 from Rar directories by @Megamouse in #14913
– Qt/Stylesheets: allow to use native styles by @Megamouse in #14915
– Replace condition_variable with atomic_t by @RipleyTom in #14916
– Game Settings: Add an option to create game config using default settings by @elad335 in #14911
– VSH fix: Fix sys_fs_fcntl default_sys_fs_container use by @elad335 in #14918
– sceNpDrm: improve error handling of rap files by @Megamouse in #14908
– overlays: convert debug overlay to native overlay by @Megamouse in #14894
– Fixup np_handler ctor by @elad335 in #14920
– Qt: use initial style as default style by @Megamouse in #14924
– Qt: use default colors for native styles by @Megamouse in #14925
– Fix nph and nt interderp by @RipleyTom in #14926
– Do not include pstl headers (execution namespace) by @kd-11 in #14930
– Remove destructor dependencies on nph by @RipleyTom in #14932
– Typemap: Set init to false after each individual destructor by @Megamouse in #14931
– Use asmjit main repo by @Megamouse in #14938
– rsx: CPU blit refactor and support RSX tiled addressing by @kd-11 in #14934
– [HOTFIX] rsx: Fix typo by @kd-11 in #14943
– Fix and improve savestates by @elad335 in #14953
– Qt/input: separate num keys from other keys by @Megamouse in #14957
– sys: Fix hdd game dir name by @Megamouse in #14956
– RPCN 0.8 by @RipleyTom in #14951
– Fix sceNpManagerGetNetworkTime called before rpcn connection by @RipleyTom in #14963
– Docs: Add clarifications regarding Visual Studio 2019 version requirements. by @Tha14 in #14965
– msvc: Fix debug build by @Megamouse in #14966
– Update AppStream Metainfo for Linux software centers by @Alexander-Wilms in #14961
– rsx: Misc tiling improvements by @kd-11 in #14964
– fix some warnings by @Megamouse in #14960
– Update wolfssl to v5.6.6 by @Megamouse in #14968
– fix some more warnings by @Megamouse in #14970
– HOTFIX in atomic.hpp by @elad335 in #14971
– macOS CI: fix missing libjxl_cms.0.9.dylib by @nastys in #14980
– Fixes for 0.0.30 by @elad335 in #14959
– cellPad LDD fixup by @elad335 in #14988
– macOS CI: downgrade ffmpeg by @nastys in #14987
– rsx: Fix RSX tiling when using optimized DMA views by @kd-11 in #14985
– Warn on use of privileged port on Linux by @RipleyTom in #14990
– Fix games.yml hdd paths by @Megamouse in #14995
– More fixes by @elad335 in #14992
– Improve cellSearch paths handling and mounting by @Megamouse in #14975
– rpcs3_version: Bump to 0.0.30 by @AniLeo in #14982

 

 

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

Télécharger RPCS3 v0.0.37 Alpha (27.1 Mo)

Site Officiel

En savoir plus…