PlayStation 3 emulator and debugger
Find a file
Kuan-Wei Chiu 22d9343f2c
Some checks failed
Build RPCS3 / RPCS3 Linux ubuntu-24.04-arm gcc (push) Waiting to run
Build RPCS3 / RPCS3 Linux ubuntu-24.04-arm clang (push) Waiting to run
Build RPCS3 / RPCS3 Mac Intel (push) Waiting to run
Build RPCS3 / RPCS3 Mac Apple Silicon (push) Waiting to run
Build RPCS3 / RPCS3 Windows (push) Waiting to run
Build RPCS3 / RPCS3 Windows Clang (push) Waiting to run
Generate Translation Template / Generate Translation Template (push) Failing after 1m29s
Build RPCS3 / RPCS3 Linux ubuntu-24.04 gcc (push) Has been skipped
Build RPCS3 / RPCS3 Linux ubuntu-24.04 clang (push) Has been skipped
Build RPCS3 / RPCS3 FreeBSD (push) Has been skipped
Fix invalid comparator in savedata_op sorting
According to the C++ standard, comparison functions used in sorting
algorithms such as std::sort must establish a strict weak ordering.
Specifically, the comparator must be irreflexive: for all values x,
comp(x, x) must be false.

The original comparator used >= for descending order, which violates
this requirement in the case of equal values (i.e., when a == b, both
comp(a, b) and comp(b, a) would return true). This can result in
undefined behavior in sorting algorithms, including potential
segmentation faults due to invalid iterator manipulation.

This change replaces >= with > to ensure irreflexivity and compliance
with the standard's requirement for a strict weak ordering.
2025-06-21 20:00:12 +03:00
.ci exclude libusb submodule 2025-06-20 09:08:03 +02:00
.github Add Timeout to FreeBSD build 2025-06-20 09:08:03 +02:00
3rdparty CI: Build static OpenAl 2025-06-19 12:09:59 +02:00
bin git: Remove unused code 2025-04-16 13:36:56 +03:00
buildfiles CI: build windows clang 2025-06-15 17:12:50 +02:00
darwin/util MacOS: silence some warnings 2024-12-28 19:58:59 +01:00
rpcs3 Fix invalid comparator in savedata_op sorting 2025-06-21 20:00:12 +03:00
Utilities CI: fix branch name and PR number 2025-06-14 23:44:06 +02:00
.clang-format Disable AlignConsecutiveAssignments 2022-10-22 11:32:04 +02:00
.editorconfig Set default to utf-8 for MSVC 2020-12-06 15:30:12 +03:00
.gdbinit Add .gdbinit config file 2020-11-12 23:43:38 +03:00
.gitignore Add unit test project to VS 2025-04-29 21:09:12 +02:00
.gitmodules Update VulkanMemoryAllocator to 3.3.0 2025-05-15 16:23:47 +02:00
BUILDING.md Update Qt to 6.9.1 2025-06-05 21:57:43 +02:00
CMakeLists.txt CMake: add more options 2025-06-16 09:01:00 +02:00
CMakePresets.json Add opencv to cmake 2024-11-16 15:10:20 +01:00
git-clang-format Add a git pre-commit hook running clang-format 2016-08-27 15:40:41 +02:00
LICENSE Few bugs fixed and license file added 2014-02-13 11:33:07 +01:00
objdump.cpp Implement utils::memory_map_fd (partial) 2022-01-26 15:46:16 +03:00
pre-commit.readme Add a git pre-commit hook running clang-format 2016-08-27 15:40:41 +02:00
README.md [CI] FreeBSD build (#17293) 2025-06-12 09:33:40 +03:00
rpcs3.sln VS: compile glslang with the solution 2025-05-06 00:43:41 +02:00
usertype.dat .clang-format added 2016-08-12 14:32:57 +03:00

RPCS3

GitHub Actions RPCS3 Discord Server

The world's first free and open-source PlayStation 3 emulator/debugger, written in C++ for Windows, Linux, macOS and FreeBSD.

You can find some basic information on our website. Game info is being populated on the Wiki. For discussion about this emulator, PS3 emulation, and game compatibility reports, please visit our forums and our Discord server.

Support Lead Developers Nekotekina and kd-11 on Patreon

Contributing

If you want to help the project but do not code, the best way to help out is to test games and make bug reports. See:

If you want to contribute as a developer, please take a look at the following pages:

You should also contact any of the developers in the forums or in the Discord server to learn more about the current state of the emulator.

Building

See BUILDING.md for more information about how to setup an environment to build RPCS3.

Running

Check our friendly quickstart guide to make sure your computer meets the minimum system requirements to run RPCS3.

Don't forget to have your graphics driver up to date and to install the Visual C++ Redistributable Packages for Visual Studio 2022 if you are a Windows user.

License

Most files are licensed under the terms of GNU GPL-2.0-only License; see LICENSE file for details. Some files may be licensed differently; check appropriate file headers for details.