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
– rsx: Implement deferred buffer allocations for GPU write by @kd-11 in #13473
– pkg install: return correct error if possible by @Megamouse in #13478
– cellMic: random improvements by @Megamouse in #13426
– Qt: disable psn setting in global settings by @Megamouse in #13480
– rpcn: throw exception when using rpcn features without a proper config by @Megamouse in #13482
– Patches: Virtual move/remove/create game files patches by @elad335 in #13483
– Fix wolfssl connect by @RipleyTom in #13487
– VFS: Fix mounting non-existant paths by @elad335 in #13488
– Qt: Disable some network settings in global config. Re-enable RPCN in global config. by @Megamouse in #13489
– patches: fix move_file/hide_file error by @Megamouse in #13491
– overlays: add ppu compile notification and touch existing compile notifications by @Megamouse in #13423
– cellVdec: revert RGBA alignment change by @Megamouse in #13496
– hid: try to fix linux by @Megamouse in #13499
– cellSaveData: Slow save completion (brings iconic game save icons back) by @elad335 in #13492
– Use NBIO for RPCN by @RipleyTom in #13511
– Add better error handling for RequestSignalingInfos by @RipleyTom in #13514
– PPU: Do not break on unexpected TOC by @elad335 in #13490
– Add missing spinning icon from resources by @RipleyTom in #13521
– Fix hid_pad_handler by @RipleyTom in #13525
– llvm: update code to new API by @oltolm in #13500
– SPU LLVM: fix regression from #13500 by @Nekotekina in #13533
– use new LLVM API in SPURecompiler by @oltolm in #13536
– Use relative urls in .gitmodules by @RipleyTom in #13547
– Trophies: log more specific errors on install failure by @Megamouse in #13544
– Fix timestamps in signaling_handler by @RipleyTom in #13551
– Signaling: report status inactive on unknown connection by @RipleyTom in #13553
– Fix recvn high cpu usage by @RipleyTom in #13543
– Improve invite handling by @RipleyTom in #13552
– cellFsReaddir: Fix termination sequence / Fix savestate crash on load by @elad335 in #13531
– Fix timeout spam from signaling by @RipleyTom in #13561
– Fix an emulator crash in Emulator::SaveSettings by @elad335 in #13567
– vk: Separate vertex and fragment stage push constant updates for overlays by @kd-11 in #13573
– Fix inaccuracies pointed out by PVS-Studio by @RipleyTom in #13569
– 3rd Party: Update MoltenVK to 1.2.3 (Vulkan SDK 1.3.243) by @shinra-electric in #13574
– [TESTERS NEEDED] cellMic: wait for registration before using secondary microphones by @Megamouse in #13484
– Increase delay for GHL and TT int transfers by @RipleyTom in #13578
– vk: Improve hardware detection for M1 by @kd-11 in #13591
– Fix mic thread usage by @RipleyTom in #13593
– cellMusicExport: first implementation by @Megamouse in #13596
– Add Qt Creator .autosave files to .gitignore by @elad335 in #13597
– sys_fs & VFS: Misc bug fixes by @brian218 in #13477
– Fix emulator crash when stopping emulation after being paused by @elad335 in #13530
– Update dependencies by @Megamouse in #13613
– Update to LLVM 16 by @Nekotekina in #13534
– rsx: Add a clip_width workaround for some buggy games by @kd-11 in #13623
– llvm: fix submodule path by @Megamouse in #13622
– cellGcm: add more enums by @Megamouse in #13587
– Add alternate 3D display modes by @headassbtw in #13582
– Improve cellMic and sys_usbd thread scheduling by @RipleyTom in #13601
– Fix BUILD_LLVM option by @RipleyTom in #13627
– Updated BUILDING.md according to the changes made by #13622 by @brian218 in #13628
– remove unnecessary pointer bitcasts by @oltolm in #13617
– Update to LLVM 16.0.1 by @Nekotekina in #13629
– Skylander Portal: Trap Team Audio Transfers by @deReeperJosh in #13565
– Update build-mac.sh by @nastys in #13644
– Fix deref in cellSaveData by @RipleyTom in #13646
– Loader: Make executable analyzation not halt UI when launching games by @elad335 in #13630
– Forces deterministic FP operations when online by @RipleyTom in #13608
– vk: GTX970 workaround by @kd-11 in #13577
– Debugger: Fix step over by @elad335 in #13649
– cellMic: fallback to lower channel count and sampling rate if requested is not supported by @Megamouse in #13614
– Add savestate buttons to home menu by @elad335 in #13562
– PPU LLVM: disable DSE pass by @Nekotekina in #13651
– SPU LLVM: use atomic loads in read channel count by @Nekotekina in #13659
– Fix tmp path in updater by @RipleyTom in #13661
– jit: Fix vec_cmp_eq by @kd-11 in #13665
– SPU LLVM: use volatile stores for PC update by @Nekotekina in #13670
– Round squircled axis values to the nearest whole number by @shockdude in #13671
– Invert the DJ Hero Turntable crossfader axis bind. by @shockdude in #13636
– Implement sceNpManagerGetCachedInfo by @RipleyTom in #13687
– SPU LLVM: optimize register stores by @Nekotekina in #13672
– vk: Promote barycentric interpolation to 64-bit by @kd-11 in #13690
– BufferUtils: fix SSE2 path for byteswaps by @Nekotekina in #13691
– Qt: add checkbox to restart dialog by @Megamouse in #13695
– Qt: add grid filters by @Megamouse in #13699
– Qt: add option to reset time played by @Megamouse in #13698
– Keep second 0 in firmware strings by @Megamouse in #13697
– gl: Refactor attachment clear logic by @kd-11 in #13701
– SPU LLVM: improve DSE by @Nekotekina in #13702
– Path to LLVM library fixed in Debug by @luizfernandonb in #13703
– Reduce IO With Game Library Loading by @elad335 in #13715
– Silence some warnings by @Megamouse in #13717
– SPU LLVM: experimental change by @Nekotekina in #13710
– Update Unself structs and documentation by @Megamouse in #13711
– Emu: Cache games.yml and only save when necessary by @Megamouse in #13716
– Fixup for #13720 by @Nekotekina in #13722
– Qt: Optimize hard list refresh by @Megamouse in #13712
– Update dependencies by @Megamouse in #13725
– Qt: Set game size calculation function properly by @Megamouse in #13726
– User Interface: Game searching improvements by @elad335 in #13719
– Qt: fix table item delegate usage by @Megamouse in #13737
– SPU LLVM: fix bug for AMD FX processors by @Nekotekina in #13738
– Qt: lazy load trophy icons by @Megamouse in #13739
– Qt: fix savedata dialog exception by @Megamouse in #13743
– Qt: lazy load save data icons by @Megamouse in #13…
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 !
We are delighted to announce that as of today, the RPCS3 Loadable compatibility category has reached 0 GAMES!
This means there are no PS3 games left that boot to a black screen on the emulator – every PS3 game at the very least boots and shows image output.
Happy holidays! pic.twitter.com/3ZAWFzbyGP
— RPCS3 (@rpcs3) December 25, 2022
Site officiel des sources et versions compilées (builds).