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
- 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
Full Changelog: v0.0.32...v0.0.33