RPCS3

Last updated

RPCS3
Original author(s) DH, Hykem, AlexAltea
Developer(s) (RPCS3 TEAM) Nekotekina, kd-11, elad335, jarveson, Megamouse, hcorion, scribam, ruipin, isJuhn, Galciv, Numan [1]
Initial releaseMay 23, 2011;13 years ago (2011-05-23)
Stable release
None
Preview release
v0.0.32-16834 Alpha / August 16, 2024;3 months ago (2024-08-16) [2]
Repository github.com/rpcs3/rpcs3/
Written in C++, GLSL and C
Operating system Windows, macOS, Linux, FreeBSD
Platform x86-64, ARM64
Available inEnglish
Type Video game console emulator
License GNU General Public License version 2.0
Website rpcs3.net

RPCS3 is a free and open-source emulator and debugger for the Sony PlayStation 3 that runs on Windows, Linux, FreeBSD and macOS operating systems, allowing PlayStation 3 games and software to be played and debugged on a personal computer. It is being developed in the C++ programming language targeting x86-64 and ARM64 [a] CPUs featuring OpenGL and Vulkan as backend renderers.

Contents

As of August 2024, nearly 70% of PlayStation 3 games have been classified as "playable", meaning that a significant portion of the native library can be played from start to finish without any major problems. [3]

Development

Despite the general idea that the complexity of the PlayStation 3's Cell architecture would prevent it from being emulated, [4] RPCS3 released on May 23, 2011, by programmers DH and Hykem as a working emulator. [5] The developers initially hosted the project on Google Code and eventually moved it to GitHub on August 27, 2013. The emulator was first able to successfully run simple homebrew projects in September 2011 [6] and got its first public release in June 2012 as v0.0.0.2. [7]

On February 9, 2017, RPCS3 received its first implementation of a PPE thread scheduler, enhancing its emulation of the many-core Cell microprocessor. [8] On February 16, 2017, RPCS3 gained the ability to install official PlayStation 3 firmware directly to its core file system. [9] In May 2017, it was reported that the implementation of the Vulkan graphics API had shown some performance improvements approaching 400%, pushing several games into "playable" status. [10]

In July 2022, the developers of RPCS3 implemented save states into the emulator. This feature had previously been considered infeasible due to technical limitations. [11]

In September 2024, a build of RPCS3 native to the ARM64 CPU architecture for macOS devices with Apple silicon system-on-chip was released on GitHub. [12]

Requirements

As of late 2024, the OS requirements are:

Prior to this, the requirements for Mac and PC were lower at macOS 11.6 or later and Windows 7 or later, respectively. The PC must have at least 4 GB of RAM, 8 GB recommended, an x86-64 CPU and a GPU supporting one of the supported graphics APIs: OpenGL 4.3 or greater, or Vulkan, the latter being recommended. Additional support for SIMD CPU instruction sets such as AVX-2 and AVX-512 is also recommended for best performance. Apart from the game itself to be run, the emulator requires the PlayStation 3's firmware, which can be downloaded from Sony's official website. [13]

RPCS3 received significant media attention in April 2017 for its ability to emulate Persona 5 , achieving playability prior to the game's Western release date. [14] [15] [16] [17] In September 2017, Persona developer Atlus issued a DMCA takedown notice against RPCS3's Patreon page. The action was motivated by the Patreon page making frequent mentions on the emulator's progress on emulating Persona 5. The demand, however, was settled by only removing all Persona 5 references from the page. [18] [19]

See also

Related Research Articles

<span class="mw-page-title-main">Simple DirectMedia Layer</span> Free software multimedia library

Simple DirectMedia Layer (SDL) is a cross-platform software development library designed to provide a hardware abstraction layer for computer multimedia hardware components. Software developers can use it to write high-performance computer games and other multimedia applications that can run on many operating systems such as Android, iOS, Linux, macOS, and Windows.

<span class="mw-page-title-main">Wine (software)</span> Windows compatibility software

Wine is a free and open-source compatibility layer to allow application software and computer games developed for Microsoft Windows to run on Unix-like operating systems. Developers can compile Windows applications against WineLib to help port them to Unix-like systems. Wine is predominantly written using black-box testing reverse-engineering, to avoid copyright issues. No code emulation or virtualization occurs. Wine is primarily developed for Linux and macOS.

In computer science, dynamic recompilation is a feature of some emulators and virtual machines, where the system may recompile some part of a program during execution. By compiling during execution, the system can tailor the generated code to reflect the program's run-time environment, and potentially produce more efficient code by exploiting information that is not available to a traditional static compiler.

In software engineering, a compatibility layer is an interface that allows binaries for a legacy or foreign system to run on a host system. This translates system calls for the foreign system into native system calls for the host system. With some libraries for the foreign system, this will often be sufficient to run foreign binaries on the host system. A hardware compatibility layer consists of tools that allow hardware emulation.

<span class="mw-page-title-main">Basilisk II</span> Open-source 68k Macintosh emulator

Basilisk II is an emulator which emulates Apple Macintosh computers based on the Motorola 68000 series. The software is cross-platform and can be used on a variety of operating systems.

<span class="mw-page-title-main">QEMU</span> Free virtualization and emulation software

QEMU is a free and open-source emulator that uses dynamic binary translation to emulate the processor of a computer. It provides a variety of hardware and device models for the machine, enabling it to run different guest operating systems. QEMU can be used in conjunction with Kernel-based Virtual Machine (KVM) to execute virtual machines at near-native speeds. Additionally, QEMU supports the emulation of user-level processes, allowing applications compiled for one processor architecture to run on another.

<span class="mw-page-title-main">Rosetta (software)</span> Operating system component

Rosetta is a dynamic binary translator developed by Apple Inc. for macOS, an application compatibility layer between different instruction set architectures. It enables a transition to newer hardware, by automatically translating software. The name is a reference to the Rosetta Stone, the artifact which enabled translation of Egyptian hieroglyphs.

<span class="mw-page-title-main">Hackintosh</span> Non-Apple computer running macOS

A Hackintosh is a computer that runs Apple's operating system macOS on computer hardware that is not authorized for the purpose by Apple. This can also include running Mac software on hardware it is not originally authorized for. This is due to the software license for macOS only permitting its use on in-house hardware built by Apple itself, in this case the Mac line.

<span class="mw-page-title-main">Dolphin (emulator)</span> Nintendo GameCube and Wii emulation software

Dolphin is a free and open-source video game console emulator of GameCube and Wii that runs on Windows, Linux, macOS, Android, Xbox One, Xbox Series X and Series S.

<span class="mw-page-title-main">PCSX2</span> PlayStation 2 video game console emulator

PCSX2 is a free and open-source emulator of the PlayStation 2 for x86 computers. It supports most PlayStation 2 video games with a high level of compatibility and functionality, and also supports a number of improvements over gameplay on a traditional PlayStation 2, such as the ability to use higher resolutions than native, anti-aliasing and texture filtering. It has been released for Windows, Linux, and macOS.

<span class="mw-page-title-main">PCSX-Reloaded</span> Video game console emulator

PCSX is a free and open-source, video game console emulator that allows software designed to be used with the Sony PlayStation to run on personal computers. Over the years, development changed hands several times with PCSX-Reloaded (PCSXR) now being the main version. As of 2021, the emulator seems to be no longer under active development. A newer, actively maintained fork of PCSX-Reloaded is PCSX-Redux.

Advanced Vector Extensions are SIMD extensions to the x86 instruction set architecture for microprocessors from Intel and Advanced Micro Devices (AMD). They were proposed by Intel in March 2008 and first supported by Intel with the Sandy Bridge microarchitecture shipping in Q1 2011 and later by AMD with the Bulldozer microarchitecture shipping in Q4 2011. AVX provides new features, new instructions, and a new coding scheme.

<span class="mw-page-title-main">Mednafen</span> Emulator for multiple systems

Mednafen, formerly known as Nintencer, is an OpenGL and SDL multi-system free software wrapper that bundles various original and third-party emulation cores into a single package, and is driven by command-line input. It is distributed under the terms of the GPL-2.0-or-later license. Certain emulation cores of Mednafen have been ported to RetroArch/Libretro.

<span class="mw-page-title-main">PPSSPP</span> PSP emulator

PPSSPP is a free and open-source PSP emulator for Windows, macOS, Linux, iOS, Android, Nintendo Wii U, Nintendo Switch, BlackBerry 10, MeeGo, Pandora, Xbox Series X/S and Symbian with a focus on speed and portability. It was released to the public on November 1, 2012, licensed under the GNU GPLv2 or later. The PPSSPP project was created by Henrik Rydgård, one of the co-founders of the Dolphin emulator.

<span class="mw-page-title-main">RetroArch</span> Emulator and media player frontend

RetroArch is a free and open-source, cross-platform frontend for emulators, game engines, video games, media players and other applications. It is the reference implementation of the libretro API, designed to be fast, lightweight, portable and without dependencies. It is licensed under the GNU GPLv3.

Vulkan is a low-level, low-overhead cross-platform API and open standard for 3D graphics and computing. It was intended to address the shortcomings of OpenGL, and allow developers more control over the GPU. It is designed to support a wide variety of GPUs, CPUs and operating systems, and it is also designed to work with modern multi-core CPUs.

<span class="mw-page-title-main">Citra (emulator)</span> Nintendo 3DS emulator

Citra is a discontinued free and open-source emulator of the handheld Nintendo 3DS for Windows, macOS, Linux, and Android. Citra's name is derived from CTR, which is the model name of the original 3DS. Citra can run many homebrew games and commercial games. As of August 2024, Citra has been forked in a GitHub repository by former Citra team member PabloMK7, and is currently continuing development.

<span class="mw-page-title-main">Yuzu (emulator)</span> Discontinued Nintendo Switch emulator

Yuzu is a discontinued free and open-source emulator of the Nintendo Switch, developed in C++. Yuzu was announced to be in development on January 14, 2018, 10 months after the release of the Nintendo Switch.

<span class="mw-page-title-main">Ryujinx</span> Discontinued Nintendo Switch emulator

Ryujinx is a discontinued free and open-source emulator of the Nintendo Switch. It was first released on February 5, 2018 and supported more than 3,000 games by 2024.

References

  1. "Contributors to RPCS3/rpcs3". GitHub.
  2. "Downloads". rpcs3.net. Retrieved April 13, 2023.
  3. wololo (August 5, 2024). "RPCS3 (PS3 Emulator) 0.0.32 gets improved CPU detection + countless improvements". Wololo.net. Archived from the original on August 22, 2024. Retrieved August 28, 2024.
  4. Usher, William (March 8, 2014). "PS3 Emulator Can Now Run Commercial Games". CinemaBlend . Archived from the original on March 13, 2014. Retrieved March 3, 2017.
  5. "rpcs3 r1 Google Code". May 23, 2011. Archived from the original on March 14, 2014 via Google Code.
  6. "rpcs3 r28 on Google Code". May 23, 2011. Archived from the original on August 20, 2012 via Google Code.
  7. "rpcs3 tag 0.0.0.2". June 1, 2012. Archived from the original on January 6, 2013 via Google Code.
  8. "Pull request #2349 - [WIP] PPU scheduler" . Retrieved March 3, 2017 via GitHub.
  9. "PS3UPDAT.PUP installer (#2386) · RPCS3/rpcs3@458dbbd" . Retrieved March 3, 2017 via GitHub.
  10. Donnell, Peter (May 22, 2017). "RPCS3 Gets Performance Boost with Vulkan API". Eteknix. Archived from the original on January 22, 2019.
  11. Bailey, Dustin (August 4, 2022). "PS3 emulator RPCS3 finally adds save states". GamesRadar . Retrieved October 19, 2022.
  12. RPCS3/rpcs3-binaries-mac-arm64, RPCS3, September 25, 2024, retrieved September 25, 2024
  13. "Quickstart". RPCS3. Retrieved May 18, 2023.
  14. Prescott, Shaun (April 3, 2017). "Persona 5 is playable on PC with this PS3 emulator". PC Gamer . Archived from the original on June 21, 2017.
  15. Plunkett, Luke (April 4, 2017). "Here's Persona 5 'Running' On A PC". Kotaku . Archived from the original on June 23, 2018.
  16. Becht, Eli (April 5, 2017). "'Persona 5' Running on PC Emulation". Heavy.com . Archived from the original on March 19, 2018.
  17. Grubb, Jeff (April 3, 2017). "Persona 5 is up and running on one of the PC's PlayStation 3 emulators". VentureBeat . Archived from the original on June 23, 2018.
  18. Moon, Mariella (September 27, 2017). "Atlus tried to take down a PS3 emulator advertising 'Persona 5'". Engadget . Archived from the original on September 29, 2017.
  19. Orland, Kyle (September 27, 2017). "Atlus wants to cut off a PS3 emulator because it runs Persona 5". ArsTechnica . Archived from the original on September 30, 2017.

Notes

  1. For macOS devices.