Please note that our version increases are landmarks and not stable builds
Always download the latest build from https://rpcs3.net/download
Note: These are NOT stable builds. RPCS3 is a rolling release software without stable builds. These are random tags we do from time to time. Do NOT use the branch from these tags to package RPCS3.
What's Changed
- [Need test] vm locking refactoring by @Nekotekina in #11904
- Debugger: Fix instruction pointer for good by @elad335 in #11909
- PPU LLVM: match interpreter for VEXPTEFP/VLOGEFP by @Nekotekina in #11916
- cellVideoExport/cellRec: first implementation by @Megamouse in #11883
- SPU/PPU Loader: Implement linker/PS3 compiler executable files loading by @elad335 in #11892
- PPU Loader: Fix removing writablity permission for RSX/SPU writable segments by @elad335 in #11919
- Minor maintenance by @Nekotekina in #11926
- SPU: Cache reservation memory direct access handle (optimization) by @elad335 in #11240
- Fix Emulator::argv state after failed PS3 exitspawn by @elad335 in #11929
- Tentative fix for unreadable ELF sections without flags by @elad335 in #11924
- Add Force_Disable_Exclusive_Fullscreen_Mode to UI by @Darkhost1999 in #11923
- cellRec: fix pOpt pointer type by @Megamouse in #11931
- sys_net: ensures return from raw socket calls by @RipleyTom in #11933
- sys_rsxaudio: Initial implementation by @Vestrel in #11907
- Input: add absolute mouse movement mode by @Megamouse in #11939
- SPU: optimize conflicting PUTLLUC (No-TSX) by @Nekotekina in #11932
- dnshook: add asterisk support by @RipleyTom in #11934
- Fix for device2host control transfers by @RipleyTom in #11900
- Avoid using PUTLLC in PUTLLUC if we know SPU LR has already been raised by @elad335 in #11940
- Qt: disable mouse movement mode groupbox by @Megamouse in #11944
- Add Top Shot Elite controllers to whitelist by @RipleyTom in #11942
- ELF: fix sh_flag bitset enum by @Nekotekina in #11953
- Make CPU Profiler able to print stats which sum up the records of all SPU threads by @elad335 in #11920
- sceNpTrophy: fix some bugs by @Megamouse in #11935
- cellHttp: add more errors by @Megamouse in #11963
- input: properly log hid_error by @Megamouse in #11965
- Fix Regression in Waitable Atomics by @Nekotekina in #11952
- Workaround: Force audio provider by @Megamouse in #11964
- MSELF extractor: Ensure the files' dwellings by @elad335 in #11983
- Add device info to VFS by @Megamouse in #11968
- Implement sceNpManagerGetTicketParam by @RipleyTom in #11989
- Debugger: Show constant-formed attribute of register value by @elad335 in #11970
- sceNp: add some constants by @Megamouse in #11991
- cellAudio: Some bugfixes by @elad335 in #11977
- Implemented sceNpDrmGetTimelimit by @NicknineTheEagle in #11679
- Update FW 4.89 Latest Version by @Joaozin-tech in #11992
- PPU: improve accuracy for instructions FRSQRTE, FRES by @Nekotekina in #11972
- Fix for ticket parsing by @RipleyTom in #11997
- CLI: add decrypt option by @Megamouse in #11985
- SPU: Fix race on SPU Mailbox last value reading by @elad335 in #12000
- PPU LLVM: Precompile system-internal executables if booting a dev_flash's program by @elad335 in #11999
- LV2: Memory state post-exitspawn fixes by @elad335 in #12001
- Loader: Fix out-of-bounds access of string by @elad335 in #12004
- sceNp: register custom menu by @Megamouse in #12002
- Fix recursion crash in the debugger + inifinite instructions view by @elad335 in #12006
- SPU: Implement timer freezing ability by @elad335 in #12005
- Implement sys_process_exit3 by @elad335 in #12036
- VSH: Refrain from libfs_utility_init.sprx precompilation by @elad335 in #12019
- PPU DisAssembler: Prevent false function descriptor detection by @elad335 in #12028
- rsx: Restructure ZCULL handling by @kd-11 in #12020
- rsx: Implement HW accurate frame limiter by @elad335 in #12045
- rsx: Deadlock avoidance of accurate RSX reservations by @kd-11 in #12048
- Wipe clean VSH's temporary directory of choice, remove game install cache at boot by @elad335 in #11347
- rsx: Trivial non-blocking display synchronization by @kd-11 in #12055
- Limit range of driver wake-up delay slider by @MSuih in #12056
- Warn about LTO and add an option to remove LTO flags by @RipleyTom in #12018
- Add regeneration for system flatbuffers users by @RipleyTom in #12014
- Fix lv2_socket_native::accept by @RipleyTom in #12003
- Message queue overlay by @RipleyTom in #12023
- sys_rsxaudio: Add id to kernel explorer and some fixes by @Vestrel in #12027
- vk: Fix conditional render fast-path by @kd-11 in #12071
- vk: Enable event scope hack for INTEL proprietary drivers by @kd-11 in #12072
- RawSPU: Reinvoke pending interrupts if missed by @elad335 in #12075
- cellAdec: fix uninitialized default size of AVPacketHolder by @Megamouse in #12077
- Fix cellVdec regression to be harmonized with the new interrupts model by @elad335 in #12087
- Adding base-devel to the essential tools needed by @Yahfz in #12090
- Overlays: Add screenshot message to queue by @Megamouse in #12078
- cmake: unbreak USE_SYSTEM_FLATBUFFERS by @jbeich in #12089
- sys_spu: Fix spu_thread_group_terminate deadlock by @elad335 in #12095
- gui/themes: Nekotekina by GooseWing (update) by @Andryshik345 in #11588
- More verbose errors in nt_p2p_port by @RipleyTom in #12094
- Update LLVM commit by @Whatcookie in #12105
- rsx: Fix VBLANK and FLIP time by @elad335 in #12108
- fix: unset APPDIR before launching new appimage by @RipleyTom in #12119
- rsx: Fix cellGcmGetLastSecondVTime, revert FLIP time fix by @elad335 in #12120
- SPU LLVM: Optimize inline MFC transfers by @Whatcookie in #12080
- sys_rsxaudio: timer fix by @Vestrel in #12111
- SPU LLVM: Fixup for inline MFC transfers by @Whatcookie in #12124
- fix: parsing bug in read_metadata by @RipleyTom in #12126
- rsx: Fix deadlock in vm::_page_unmap by @elad335 in #12127
- Misc fixes by @Darkhost1999 in #12110
- add vblank_ntsc_fixup to UI by @Darkhost1999 in #12042
- Qt: fix tooltips and widget states in settings by @Megamouse in #12136
- Debugger: Show HEX view of floating-point PPU registers by @elad335 in #12130
- Fix issue #12137 by @brian218 in #12138
- ogl bringup part 1 by @kd-11 in #12114
- fix: changes execl to execv for compatibility with checkrt by @RipleyTom in #12133
- cellAudioQuit: do not clear event queues by @Megamouse in #12121
- Obtain system memory page size by @Nekotekina in #12139
- [TESTERS NEEDED] cellAudio: Implement audio format options, scrap downmix options by @Megamouse in #12112
- Move test elfs to test dir by @Megamouse in #12092
- feat: add boot test menu entry by @RipleyTom in #12152
- ogl bringup part 2 by @kd-11 in #12151
- SPU LLVM: Optimize LQR/STQR by @Whatcookie in #12153
- Ogl bringup part 3 by @kd-11 in #12162
- rsx: Implement atomic FIFO fetching (stability improvement) (non-default setting) by @elad335 in #12107
- rsx: Minor fixup by @elad335 in #12165
- gl: Disallow overlapping binding points by @kd-11 in #12169
- SPU LLVM: Reneable icelake shufb paths by @Whatcookie in #12170
- cellAudioOut: Improve sound mode enumeration by @Megamouse in #12164
- DualSense: Fix firmware report on newer versions by @Megamouse in #12173
- cellGame: Make stats storage non-temporary, fix cbSet->setParam by @elad335 in #12179
- [Testers Needed] Qt: use dedicated thread for getting input in the pad settings by @Megamouse in #12178
- rsx: Resurgence of HLE GCM by @elad335 in #12167
- cellGame: Revert cellGameDataCheckCreate2 change for now by @elad335 in #12184
- cellSysutil: Implement DRAWING callbacks, optimize emulation stopping time by @elad335 in #12129
- [Hotfix] cellMsgDialogAbort: send DRAWING_END also with native UI by @Megamouse in #12187
- Initial cellGameThemeInstall and cellGameThemeInstallFromBuffer by @Megamouse in #12188
- Re-Enable debug features in PPU interpreter by @Nekotekina in #12192
- LLVM: Fix 0 vector constant observation by @elad335 in #12198
- SPU LLVM: Microfixes by @Whatcookie in #12195
- vk: Fix image view search and destroy by @kd-11 in #12200
- [Testers needed] cellAudio: Fix downmixer modes by @Megamouse in #12186
- DS3: fix report size check by @Megamouse in #12203
- vm_native.cpp: Remove the blame from Windows by @elad335 in #12172
- DS3: fix other report size check. by @Megamouse in #12208
- Implements sys_fs_fcntl 0xC0000008 and 0xC000001A by @RipleyTom in #11957
- SPU LLVM: Improve expression matching detection for moved registers by @elad335 in #12206
- SPU LLVM: Use vrangeps in clamp_smax by @Whatcookie in #12182
- rsx: Suggest to try setting RSX FIFO Accuracy to a higher mode of accuracy on crash by @elad335 in #12204
- RSX: Add more wide paths for upload_untouched by @Whatcookie in #12209
- Qt: Also parse changelog with "Background" update by @Megamouse in #12216
- Qt: remove "Send Exit CMD" menu option by @Megamouse in #12215
- rsx: Fix NV406E semaphore_acquire timeout detection by @elad335 in #12205
- SPU LLVM: fix vrangeps usage in clamp_smax by @Nekotekina in #12219
- glsl: Avoid implicit int->uint conversions by @AniLeo in #12220
- rsx: Implement a dynamic Null Renderer by @elad335 in #12218
- PPU LLVM arm64+macOS port by @sguo35 in #12115
- SPUAnalyzer.h: Add missing category check functions by @elad335 in #12222
- SPU/PPU LLVM: fix triple setup (regression fix) by @Nekotekina in #12228
- Submodules by @Megamouse in #12223
- cellSysutil: more stubs and error checks by @Megamouse in #12230
- cellAudioOut: fix sound_mode exception by @Megamouse in #12234
- Reset audio renderer after cellAudioOutConfigure() was called by @capriots in #12248
- stub cellHttp by @Megamouse in #12237
- cellAudio(Out): properly implement all downmixing modes by @capriots in #12252
- Implement PINE IPC Server by @isJuhn in #10522
- [ppu] Fix arm64 trampoline by @sguo35 in #12242
- SPU: Implement "double" SNR storage by @elad335 in #12258
- Qt: add optional states to toolbar icons by @Megamouse in #12261
- Debugger: Implement SPU breakpoints by @elad335 in #11009
- Debugger: Hide breakpoint and callstack list if unused by @elad335 in #12266
- IdManager.h: Improve idm::select by @elad335 in #10461
- Debugger: always print cpu_thread::dump_misc() by @Nekotekina in #12270
- vm: Make falloc return value bool by @elad335 in #11018
- HLE: more error checks by @Megamouse in #12267
- Debugger: Refresh at 100fps during debugger interaction (was 20fps) by @elad335 in #12269
- Debugger: Simplify and optimize #12269 by @elad335 in #12275
- cellGame: prepare disc change callbacks by @Megamouse in #12190
- sys_fs: Add mountpoint for /dev_ps2disc by @Nekotekina in #12276
- Qt: fix music handler destructor by @Megamouse in #12277
- Emu: Implement BlockingCallFromMainThread by @Megamouse in #12278
- rsx: PS3 Native frame limiter improvements, add Infinite frame limiter by @elad335 in #12052
- rsx: Fixup after #12052 for frame limiter off by @elad335 in #12282
- Qt: Properly repaint the Emulation menu icons by @Megamouse in #12287
- Make fs::get_parent_dir/fs::pending_file use string_view as argument by @elad335 in #11060
- SPU: Implement execution wake-up delay by @elad335 in #8485
- macOS CI fix by @nastys in #12291
- Partial revert for cf0fcf5 by @Nekotekina in #12299
- Qt: log uuid by @Megamouse in #12301
- Qt: Use exe dir instead of emu dir for updates by @Megamouse in #12297
- rpcs3_version: Bump to 0.0.23 by @AniLeo in #12302
Full Changelog: v0.0.22...v0.0.23