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
- 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
FRSQESTexponent 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
FRESTfraction usingvperm2dfor 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
SHUFBto 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
SHUFBsplat/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
SELBto 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
KnownFPClassanalysis 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
FMAto 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
Full Changelog: v0.0.41...v0.0.42