PCSX2 | |
Author: | Linuzappz, Shadow, Refraction, Saqib, Gabest, Gregory, GovanifY, Stenzek, lightningterror, fobes |
Developer: | PCSX2 Team |
Latest Release Version: | 2.0.2 |
Platform: | x86-64[1] |
Programming Language: | C++ |
Operating System: | Windows, Linux, macOS |
Language Count: | 14 |
Language Footnote: | [2] |
Genre: | Video game console emulator |
License: | Since 0.9.7: GPL-3.0-or-later[3] Until 0.9.6: GPL-2.0-or-later |
PCSX2 is a free and open-source PlayStation 2 emulator for Windows, Linux, and macOS[4] that supports a wide range of PlayStation 2 video games with a high level of compatibility and functionality. Although PCSX2 can closely mirror the original gameplay experience on the PlayStation 2, PCSX2 supports a number of improvements over gameplay on a traditional PlayStation 2, such as the ability to use resolutions up to 12 times larger than native, anti-aliasing and texture filtering.
PCSX2, like its predecessor project PCSX (a PlayStation emulator), is based on a PSEmu Pro spec plug-in architecture, separating several functions from the core emulator. These are the graphics, audio, input controls, CD/DVD drive, and USB and FireWire (i.LINK) ports. Different plug-ins may produce different results in both compatibility and performance. Additionally, PCSX2 requires a genuine copy of the PS2 BIOS, which is not available for download from the developers due to copyright-related legal issues. Since September 2016, PCSX2 is partially compatible with PlayStation games.[5]
The main bottleneck in PS2 emulation is emulating the Emotion Engine multiprocessor on the PC x86 architecture. Although each processor can be emulated well independently, accurately synchronizing them and emulating the console's timing is difficult.[6]
Development of PCSX2 was started in 2001 by programmers who go by the names Linuzappz and Shadow, who were programmers for the PlayStation emulator PCSX-Reloaded. Other programmers later joined the team, and they were eventually able to get some PS2 games to the loading screen. The team then started working on the difficult task of emulating the PlayStation 2's BIOS; they got it to run, although it was slow and graphically distorted. Version 0.9.1 was released in July 2006.
From 2007 to 2011, developers worked on Netplay and speed improvements.[7] PCSX2 0.9.8 was released in May 2011 and featured an overhauled GUI written with wxWidgets, that improved compatibility for Linux and newer Windows operating systems. In December 2022, PCSX2 was overhauled to remove all WxWidgets elements. The project has used Qt since. The addition of a new VU recompiler brought better compatibility, a memory card manager, an overhaul of the SPU2-X audio plug-in, and numerous other improvements.[8]
As of November 2021, 97% of PlayStation 2 games are considered "playable" on the emulator, meaning they can be played largely but not entirely free of slight issues.[9] 22 games are considered "perfect" – free of bugs – and all but one at least boot to the menu screen.
In 2022, PCSX2 added support for the Vulkan API.[10] PCSX2 was used as a basis for AetherSX2, a PlayStation 2 emulator for Android.[11] In 2022, an unofficial fork of PCSX2 was created for the Xbox Series X/S known as XBSX2.[12]
PCSX2 supports save states and dynamic recompilation (JIT). There is also support for gameplay recording in Full HD using the GSdx plugin. Options such as the ability to increase/decrease game speeds, use unlimited memory cards, and utilize any gamepad controllers supported by the native operating system are also available. Cheat codes are supported via the use of PNACH patching files. RetroAchievements support adds a community-driven achievement system for select games.
PCSX2 formerly made use of plug-ins as a means of modularizing development efforts among the separate components (subsystems) of the emulated PlayStation 2 hardware. For instance, video plug-ins were utilized by PCSX2 to render images to the screen and emulate the graphics hardware of the PlayStation 2, whereas sound plug-ins would emulate the sound hardware of the PlayStation 2.
A list of several plug-ins follows:
Name | Subsystem | Notes | |
---|---|---|---|
GSdx | Video | The fastest, most accurate graphics plug-in. Requires Direct3D or OpenGL support and optionally uses a GPU. GSdx plug-in is compatible with PSX emulators but is limited to software rendering with them. There also exists an unofficial ToCAEDIT[13] version and the GSdx-Cutie version.[14] | |
GSdx FX | Video | Post-processing shader pack for GSdx plugin. | |
ZZogl | Video | A less optimized graphics plug-in that uses Open GL. Compatible with Linux and Windows. This plugin is fork of ZeroGS KOSMOS plugin. | |
SPU2-X | Audio | The most accurate sound plug-in. | |
SSSPSX Pad | Input | A simple input plug-in. | |
LilyPad | Input | An advanced input plug-in that supports keyboards, mice, and controllers. | |
Nuvee | Input | An input plug-in that supports lightguns and USB mice. | |
TwinPad | Input | Another keyboard and mouse plug-in. | |
XPad | Input | An Xbox 360 controller input plug-in. | |
CDVD | Optical | A simple optical media plug-in that runs games from optical discs. | |
Linuz ISO CDVD | Optical | A plug-in which has the ability to compress ISO images. | |
Dev9 | Hard drive | Handles PS2 hard disk drive and Ethernet emulation. | |
MegaDev9 | Hard drive | A more advanced version of Dev9. Currently, it only partially emulates the PS2 hard drive. | |
Netplay | Netplay | A plug-in which allows certain games to be playable multiplayer over the Internet. |
As of v1.7.0-dev-1420[15] PCSX2 has merged all functionality into the core emulator, eliminating the concept of plugins as well as releasing 64-bit variants.
The list of plugins that have been merged are listed below:
Hardware requirements are largely game-dependent. Due to the demanding nature of emulation, PCSX2 is much more likely to perform well with modern mid-range to high-end hardware, with lower-end systems likely to experience less than full performance. The performance bottleneck in most cases is the CPU rather than the GPU. This is especially the case in software mode, in which only the CPU is used for emulation. In hardware mode, the GPU emulates the graphics, but can still be a bottleneck if the internal resolution is set too high. Some games may also run slower due to unoptimized graphics code or weak video cards. As computer hardware has continued to advance with time, the likelihood of performance issues with PCSX2 has experienced a corresponding decrease.
PCSX2 has been very well-received. Matthew Humphries of Geek.com described it as "an impressive piece of work".[16] Alex Garnett of PC World criticized the difficulty of setting up PCSX2 but called it a "masterpiece."[17] Although David Hayward of Micro Mart also criticized the complexity, he also called it "technically amazing."[18] Sriram Gurunathan of In.com described PCSX2 as "arguably the most popular emulator around" and named it as one of the site's top five emulators.[19] Brandon Widder of Digital Trends included PCSX2 in his Best Emulators article.[20] John Corpuz of Tom's Guide mentioned PCSX2 in his Best PlayStation Emulators for PCs article, saying, "When it comes to stable, playable PlayStation 2 emulation, PCSX2 is pretty much the best game in town at the moment."[21]