PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits.

The PCSX2 project has been running for more than twenty years. Past versions could only run a few public domain game demos, but newer versions can run most games at full speed, including popular titles such as Final Fantasy X and Devil May Cry 3. Visit the PCSX2 compatibility list to check the latest compatibility status of games (with more than 2500 titles tested).

PCSX2 allows you to play PS2 games on your PC, with many additional features and benefits. A few of those benefits include:

  • Custom resolutions and upscaling
  • Virtual and sharable memory cards
  • Save-states
  • Patching system
  • Internal recorder to achieve lossless quality at full speed

So how do I use it?

  • Download the version suited for you, for beginners, the full installer of the latest stable release is recommended.
  • Get the BIOS file from your PlayStation 2 console. This is not included with PCSX2 since it is a Sony copyright so you have to get it from your console.

Install PCSX2

  • Configure PCSX2. For beginners the Configuration Guide video and the Quick Start configuration guide should help you. For a detailed description of every single option you can always refer to the full guide.
  • Insert your PS2 game CD/DVD in your DVD rom. You can either run it directly from the disc or create an ISO image of your disc with a program like IMGburn for faster reads.
  • Enjoy!

Technical Notes

  • You need the Visual C++ 2019 x64 Redistributables to run PCSX2 on Windows.
  • Windows XP and Direct3D9 support was dropped after stable release 1.4.0.
  • Windows 7, Windows 8.0, and Windows 8.1 support was dropped after stable release 1.6.0.
  • 32-bit and wxWidgets support was dropped after stable release 1.6.0, with the wxWidgets code being removed completely on 25th December 2022.
  • Make sure to update your operating system and drivers to ensure you have the best experience possible. Having a newer GPU is also recommended so you have the latest supported drivers.
  • Because of copyright issues, and the complexity of trying to work around it, you need a BIOS dump extracted from a legitimately-owned PS2 console to use the emulator. For more information about the BIOS and how to get it from your console, visit this page.
  • PCSX2 uses two CPU cores for emulation by default. A third core can be used via the MTVU speed hack, which is compatible with most games. This can be a significant speedup on CPUs with 3+ cores, but it may be a slowdown on GS-limited games (or on CPUs with fewer than 2 cores). Software renderers will then additionally use however many rendering threads it is set to and will need higher core counts to run efficiently.
  • Requirements benchmarks are based on a statistic from the Passmark CPU bench marking software. When we say "STR", we are referring to Passmark's "Single Thread Rating" statistic. You can look up your CPU on Passmark's website for CPUs to see how it compares to PCSX2's requirements.
  • Vulkan requires an up-to-date GPU driver; old drivers may cause graphical problems.

What's New

It has been over four years since the last stable PCSX2 revision released. A lot of things can happen in four years, but we could not have predicted just how much progress would be made in that time. PCSX2 has received over 6000 changes, passed 100 million downloads, and celebrated its 20th anniversary! There are lots of design changes, technical discoveries, and more to discuss. Let's jump right in and get started with the highlights from four years of development.

The Elephant in the Room: PCSX2 Enters Its Qt Era

You might know the name wxWidgets from its time as PCSX2's choice of GUI, or from other emulators like Dolphin which used it before migrating to Qt. For a long time, it served us sufficiently well, but its age and implementation began to show rather quickly. Threading issues resulted in deadlocks and race conditions, because it was not properly separated from the emulation core. The technical debt started high and only got worse as the project tried to keep moving forward.

But now, wxWidgets is gone. No more desktop experience reminding you of what Windows desktop apps looked like in 2006. Qt brings with it a slick appearance, more efficient UI backend, and provided the perfect opportunity to redo all our menus and widgets. The addition of themes allows you to personalize your PCSX2 to your liking. The result is by far our best user experience to date. Massive thanks to Stenzek for bringing his Qt expertise from DuckStation and leading the charge on PCSX2's new Qt design!

Saying Goodbye to Plugins

We had a good run with plugins, but their time has come. A relic of a simpler time, plugins were once hailed as the solution where there was no single great solution to the challenges of emulation. Don't like one plugin's design? Use another. One plugin breaks a game? Use another. But in the modern era where accuracy is paramount and user experience is of ever-increasing importance, their limitations, fragmentation of the development space, and antiquated codebases have shown their age. It is time to say goodbye, and GovanifY spearheaded this major piece of development.

A difficult decision had to be made: how do we get rid of plugins, but keep feature parity with what they once had? Getting rid of plugins fixes a number of issues, but it would bring up many more if features or accuracy were lost. A middle ground was reached: plugin authors were contacted, and their was code assimilated into the core PCSX2 project. This meant the program could be built out of a single project file; no longer were plugins compiled separately and dynamically linked! You will find that there are a lot of similarities but also a lot of differences in how PCSX2's settings work now. Many common terms and options remain, while others have been upgraded, changed, or removed to keep up with the times.

Simplifying Configuration With Automatic Game Fixes

A major priority for the team has been a focus on automation. How many things are there for users to deal with that they really shouldn't need to? The answer was... A lot. Really, a lot. You might recall our old interface had graphics fixes buried in the graphics plugin. Or perhaps the CPU modes which were handled in their own tabs. Speed hacks had another tab. More graphics settings were on their own – somehow not connected to the plugin. Game fixes which were somehow supposed to be different from everything else... We could keep going. It was confusing.

But then we had a thought: since we are already shipping a database file with information on games, why not include more information about what settings a game needs to run correctly? And so PCSX2's new "game index" was made a reality. It contains a complete list of all known games, and with this index, we now ship pre-configured fixes to ensure your games will automatically run smoothly. You no longer need to remember to enable those graphics fixes every time you switch games - PCSX2 will already know what that game needs and do it for you!

Goodbye Goldfish Brain, Hello Per-Game Settings

A long-standing issue from wxWidgets was the burden of changing your settings every time you switched games. Even though automated game fixes have mostly solved this problem on their own, there remain any personal touches you might make. Say you want to run different games at different resolutions; that's still something you have to change every time you switch games, right? Not any longer!

PCSX2 now includes per-game settings which are detached from your global settings. The per-game settings will always default to inherit from your global settings, but they allow you to explicitly set a value for one game in particular. Now if you want to run a game at a higher resolution than the rest or use specific memory cards for different games, you can set it once in your per-game settings and forget about it.

Read the entire changelog here.