Difference between revisions of "PCSX2"

From Emulation General Wiki
Jump to navigation Jump to search
(i knew i was forgetting something)
m (Cleaning)
 
(113 intermediate revisions by 64 users not shown)
Line 1: Line 1:
{{Infobox
+
{{Infobox emulator
|image = PCSX2-Logo.png
+
|logo = PCSX2-Logo.png
|imagewidth = 265
+
|logowidth = 265
|first = 1.2.1
+
|version = 1.6.0 <small>(Stable)</small>
|second = Yes
+
|active = Yes
|third = Windows, Linux, OS X
+
|platform = Windows, Linux, macOS
|fourth = [https://code.google.com/p/pcsx2/people/list PCSX2 Team]
+
|target = [[PlayStation 2 emulators|PlayStation 2]]
|fifth = [http://pcsx2.net/ PCSX2.net]
+
|developer = [https://pcsx2.net/meet-the-team.html PCSX2 Team]
|sixth = [https://github.com/PCSX2/pcsx2 GitHub]}}
+
|website = [https://pcsx2.net/ PCSX2.net]
 +
|source = [https://github.com/PCSX2/pcsx2 GitHub]
 +
|license = GNU LGPLv3 <small>(1.7+)</small><ref>Bositman (November 24, 2021). [https://pcsx2.net/301-aethersx2-pcsx2-mobile.html AetherSX2 brings PCSX2 to mobile]. ''PCSX2.net''.</ref>
 +
|compatibility = [https://pcsx2.net/compatibility-list.html Compatibility list]
 +
|bios = [[Emulator_Files#PlayStation_2|Required]]
 +
}}
  
'''PCSX2''' is an open source, plugin-based PlayStation 2 emulator. Its purpose is to mimic the PS2 hardware using a combination MIPS CPU [https://en.wikipedia.org/wiki/Interpreter_%28computing%29 interpreters], [https://en.wikipedia.org/wiki/Dynamic_recompilation recompilers] and a [https://en.wikipedia.org/wiki/Virtual_machine virtual machine] which manages hardware states and PS2 system memory.
+
'''PCSX2''' is an open-source [[PlayStation 2 emulators|PlayStation 2 emulator]] for Windows and Linux. Since 2016, it has also supported the PlayStation 2's backward compatibility mode for [[PlayStation emulators|PlayStation]] games.<ref>https://github.com/PCSX2/pcsx2/pull/1571</ref>
  
==Downloads==
+
==Download==
* [http://buildbot.orphis.net/pcsx2/ PCSX2 Dev Builds]
+
{| cellpadding="4"
* [http://pcsx2mac.net/ Mac version]
+
|-
 +
|align=center|{{Icon|Win|Lin}}
 +
|'''[https://pcsx2.net/downloads/#stable-anchor Stable builds]'''
 +
|-
 +
|align=center|{{Icon|Win|Lin|Mac}}
 +
|'''[https://pcsx2.net/downloads/#nightly-anchor Nightly builds]'''
 +
|-
 +
|align=center|{{Icon|Win-big}}
 +
|'''[http://buildbot.orphis.net/pcsx2/ Orphis dev builds]'''
 +
|-
 +
|align=center|{{Icon|Mac-big}}
 +
|'''[https://github.com/tellowkrinkle/pcsx2/releases Dev builds]'''
 +
|-
 +
|colspan=2|<hr/>
 +
|-
 +
|align=center|{{Icon|APK-big}}
 +
|[[AetherSX2|AetherSX2 Port]]
 +
|}
  
==Recommended Specs==
+
Note that the stable builds for Mac and Linux are severely outdated. For those platforms, you should use the nightly/dev builds instead, unless they contain regressions.
*Windows Vista / Windows 7 32-bit/64-bit
+
 
*CPU: Intel Core 2 Duo @ 3.2 GHz or better
+
==System requirements==
*GPU: 8600 GT or better
+
===Minimum===
*1GB RAM (2GB if on Vista / Windows 7)
+
* OS: Windows 8.1 or newer (32 or 64 bit), Ubuntu 18.04/Debian, Arch Linux, or other distro (32 or 64 bit)
For those with DualShock 3 controllers, use the new [[SCP Driver Package]].
+
** <u>NOTE:</u> Beginning with development build v1.7.2485 (March 19, 2022), PCSX2 no longer supports 32-bit architecture.
 +
* CPU: Supports SSE2 instruction, two physical cores with hyperthreading, [https://www.cpubenchmark.net/singleThread.html PassMark Single Thread Performance rating near or greater than 1600] (Intel Core i3-3210)
 +
* GPU: Support Direct3D10 and OpenGL 3.x, 2 GB Video Memory, [https://www.videocardbenchmark.net/high_end_gpus.html PassMark G3D Mark rating around 3000] (GeForce GTX 750)
 +
* RAM: 4 GB
 +
 
 +
===Recommended===
 +
* OS: Windows 10 (64 bit), Ubuntu 19.04/Debian, Arch Linux, or other distro (64 bit)
 +
* CPU: Supports AVX2 instruction, four physical cores with or without hyperthreading, [https://www.cpubenchmark.net/singleThread.html PassMark Single Thread Performance rating near or greater than 2100] (Intel Core i7-4770)
 +
* GPU: Support Direct3D11 and OpenGL 4.5, 4 GB Video Memory, [https://www.videocardbenchmark.net/high_end_gpus.html PassMark G3D Mark rating around 6000] (GeForce GTX 1050 Ti)
 +
* RAM: 8 GB
 +
 
 +
These are recommended specs for using PCSX2,<ref>https://github.com/PCSX2/pcsx2#system-requirements</ref> but depending on the game you want to play, your mileage may vary.  Some games need [http://forums.pcsx2.net/Thread-LIST-The-Most-CPU-Intensive-Games high-end, possibly overclocked CPUs] or [http://forums.pcsx2.net/Thread-LIST-The-Most-GPU-Intensive-Games powerful GPUs], whereas some games run even on [http://forums.pcsx2.net/Thread-LIST-Games-that-don-t-need-a-strong-CPU-to-emulate weak processors].
 +
 
 +
=====Windows 7 Compatibility=====
 +
 
 +
Despite Windows 7 not being officially supported, latest 1.7 dev version of PCSX2 can work with a few workarounds<ref>https://i.imgur.com/BsFBw1w.png</ref>. You'll need:
 +
 
 +
* [https://pcsx2.github.io/downloads.html latest nightly of PCSX2]
 +
* [https://github.com/doitsujin/dxvk/releases dxvk]
 +
 
 +
For starters, extract PCSX2 in a folder and then extract the 64bit dxvk d3d11.dll and dxgi.dll files next to the main executable.
 +
You'll also need to select [https://i.imgur.com/flxI0GH.png Cubeb] as the audio renderer, otherwise it'll crash with XAudio. And lastly, always pick between Vulkan, OpenGL and Software. D3D11 can crash on occasion and it won't be functioning as intended anyways.
 +
''Don't expect any official support if you post logs that indicate you're using Win7.''
  
 
==Setup==
 
==Setup==
 
===Gamepad===
 
===Gamepad===
[[File:New_God_Hand_Config.jpg|thumb|Get God Hand running on a laptop]][http://www.mediafire.com/view/115130h5rc6qe6b/LilyPad-SCP.lily Native DS3 controls with Lilypad-SCP] - Import this with the 'Load Bindings' button in Lilypad's config.
+
[[File:New_God_Hand_Config.jpg|thumb|Get God Hand running on a laptop]]
 +
[http://www.mediafire.com/view/115130h5rc6qe6b/LilyPad-SCP.lily Native DS3 controls with LilyPad-SCP] - Import this with the 'Load Bindings' button in LilyPad's config.
 +
 
 +
Either that, or you can use [http://forums.pcsx2.net/Thread-Pokopom-KrossX-s-Pad-Plugin the Pokopom XInput Plugin.] If you use a DualShock controller running under a XInput wrapper such as SCP Server, then this plugin is a no-brainer. It's very customizable, and you don't have to configure it beforehand. All of the buttons are bound at startup.
 +
 
 +
===Video===
 +
Most of the video options should be straightforward, with the possible exception of interlacing modes. Many games will run fine with 'None', while others may experience artifacting or jitter. "Auto" is recommended.
 +
 
 +
* "Sawtooth" is not recommended at all. Artifacting is far too heavy to be usable.
 +
* "Bob" has reduced artifacts, but jitter can still occur.
 +
* "Blend" has the least amount of jitter. However, it can cause blurriness. The Blend interlacer does frame-blending. This is also known as motion blur. This means that if there is heavy jitter, the video output will be extremely blurry since the two jittering frames will blend together. Only use this interlacing method as a last resort.
 +
You can cycle through the options with F5 to quickly test them out.
 +
 
 +
To completely eliminate the issue of de-interlacing, the community has made patches/hacks for a lot of games that can be loaded through a .pnach file, like a cheat code. Those can be found in the PCSX2 wiki or forums.
 +
 
 +
Another method to get around this in older versions (custom res as an option was removed), is by running GSdx in hardware rendering, doubling the vertical resolution (if a game displays 640x480 on the emulator window, set vertical res to 960) and selecting bob-tff for interlacing. This can eliminate interlacing artifacts in most cases, although issues with upscaling, as well as using hardware emulation over software, can arise.
 +
 
 +
==Overview==
 +
PCSX2 was originally created in 2001 by Linuzappz and Shadow as the successor to [[PCSX-Reloaded|PCSX]], another PlayStation emulator. Development of PCSX ceased on September 17, 2003 to focus on PCSX2. When version 0.9.8 released in May 2011, only 55% of the PS2's library was considered supported.<ref>refraction (November 25, 2010). [https://pcsx2.net/developer-blog/90-the-history-of-pcsx2.html The History of PCSX2]. ''PCSX2.net''.</ref>
 +
 
 +
A significant number of quality-of-life changes have come about since the project moved to GitHub, with a renewed interest in bringing it up to par with emulators for similar-gen consoles. Until mid-2021, PCSX2 was a holdout of the plugin system, despite development of each plugin eventually consolidating into the main repository. While the stable 1.6.0 build still contains the plugin API, the nightlies no longer have it as it was removed entirely in [https://github.com/PCSX2/pcsx2/pull/4436 PR 4436]. Compatibility has also seen major improvements across the board, to the point where every game at least boots. As of January 2022, 98% of the PlayStation 2 library is considered playable, with only 26 games marked as perfect.
  
Either that, or you can use [http://forums.pcsx2.net/Thread-Pokopom-KrossX-s-Pad-Plugin the Pokopom XInput Plugin.] If you use a DualShock controller running under an XInput wrapper such as SCP Server, then this plugin is a no-brainer. It's very customizable, and you don't have to configure it beforehand. All of the buttons are bound at startup.
+
A pull request adding x86_64 support was opened on [https://github.com/PCSX2/pcsx2/pull/3451 June 7, 2020], and both 32-bit and 64-bit builds for Windows, macOS, and Linux were first made available on [https://github.com/PCSX2/pcsx2/pull/3451#issuecomment-653720205 July 4].<ref name="Reddit_1">{{cite web|url=https://www.reddit.com/r/emulation/comments/hkzzv2/pcsx2_now_has_a_64_bit_version/ |title=PCSX2 now has a 64 bit version |publisher=Reddit|accessdate=2020-07-06|date=2020 Jul 04}}</ref> The plan is to reduce so-called "technical debt", including game-specific hacks that cause accuracy issues and bugs in the 32-bit builds, as well as broaden support for more platforms and devices such as ARM64 chips.
  
===Video Setup===
+
A pull request removing x86 support was opened on [https://github.com/PCSX2/pcsx2/pull/5130 December 9, 2021]; and the last 32-bit build and first 64-bit-only build were made available on March 19, 2022.
Now, most of the video options are very straight-forward. However, there is one that probably bears explaining: The interlacing modes. Now, many games can run fine without interlacing modes. You can just select "None" and everything will be fine. However, some games will have a "jitter" effect if you don't have interlacing modes enabled. The "Sawtooth" interlacing method is not recommended at all. Artifacting is far too heavy to be usable. The "Bob" interlacing method has the least artifacts out of all of them, but it can still let some jittering pass through. The "Blend" interlacing method has the least amount of jitter. However, that comes with a pretty hefty side-effect: blurriness. Yes, the Blend interlacer does frame-blending. This is also known, more colloquially, as motion blur. This means that if there is heavy jitter, the video output will be extremely blurry since the two jittering frames will blend together. Only use this interlacing method as a last resort.
 
  
 
==Issues==
 
==Issues==
===Automatic gamefixes===
+
:''Main thread: <span class="plainlinks">[https://forums.pcsx2.net/Thread-Sticky-PCSX2-General-Troubleshooting-FAQ PCSX2 General Troubleshooting FAQ]</span>''
Whenever you encounter any kind of bug that isn't graphical in nature, objects going through other objects, untargetable objects that should be targetable or A.I. freezing for example, make sure that the automatic gamefixes option from the system menu is activated.
+
 
 +
===Automatic game fixes===
 +
Whenever you encounter any kind of bug that isn't graphical in nature, objects going through other objects, untargetable objects that should be targetable or A.I. freezing, for example, make sure that the automatic game fixes option from the system menu is activated.
  
 
===Major graphical glitches===
 
===Major graphical glitches===
Whenever a game has graphical problems such as garbage texture, light sources visible through wall, burn in or transparent objects being opaque, the easiest fix is generally to switch to software mode either by pressing F9 in-game or via the configuration panel of the GSdx plugin.
+
Graphical problems such as corrupted textures, missing effects, clipping light sources, burn-in or transparent objects being opaque can usually be solved by switching to the software renderer either by pressing F9 while the game is running or via GSdx's config panel. If using the Direct3D 11 renderer, try the OpenGL renderer as it may be more accurate. If you're using a stable build, try switching to the most recent nightly or dev build. Newer development builds of the emulator may have fixes or other features added to the hardware renderers which remove common glitches like red or green bars appearing on the screen.
  
 
===Poor performance in software mode===
 
===Poor performance in software mode===
Many games will require you to switch to software mode to fix various issues, albeit at the cost of a significant performance loss. However, an easily overlooked setting in the graphical plugin configuration panel, extra rendering threads, might help lessen the performance loss if you have a quad-core or higher CPU. It is recommended to set it to the number of cores in your CPU minus one if you aren't using the the MTVU speed-hack, or minus two if you are (ex: if you are using a quad core CPU you should set this number to 3 without MTVU and 2 with MTVU).
+
Many games will require you to switch to software mode to fix various issues, albeit at the cost of a significant performance loss. However, an easily overlooked setting in the graphical plugin configuration panel, extra rendering threads, might help lessen the performance loss if you have a quad-core or higher CPU. It is recommended to set it to the number of cores in your CPU minus one if you aren't using the MTVU speed-hack, or minus two if you are (ex: if you are using a quad core CPU you should set this number to 3 without MTVU and 2 with MTVU).
 +
The process described above is partially automated in recent development versions of PCSX2 but you might still need to tweak it to get optimal performance levels
  
 
===Multi-threaded microVU===
 
===Multi-threaded microVU===
Multi-threaded microVU (MTVU), while generally a very useful speed-hack, might sometime cause minor problem like hanging and absence of performance gain or more severe ones like massive performance hits, save-states corruption and crashes to desktop.
+
Multi-threaded microVU (MTVU), while generally a very useful speed-hack, might sometime cause minor problems like hanging and absence of performance gain or more severe ones like massive performance hits, save-states corruption (PCSX2 keeps a backup you can load with Shift+F3 in case any issues arise) and crashes to desktop.
  
 
===Crashes===
 
===Crashes===
 
Crashes could be the results of several things.  
 
Crashes could be the results of several things.  
If the log warns you one or several time about being out of memory you will need to apply a patch to make the executable large address aware, its more commonly referred to as the [http://www.ntcore.com/files/4gb_patch.zip 4GB patch].  
+
Switching between hardware and software rendering rapidly is likely to cause the emulator to lock up. This can be easily avoided by waiting a few seconds after switching between hardware and software rendering before switching again.
 +
If your GPU drivers also crash simultaneously (or you get massive graphical corruption on your desktop and/or a BSOD while trying to run a game) this means you're either using outdated drivers or you're trying to use an AMD card with the OGL renderer and Blending Accuracy set to none, in which case either set it to basic or higher or use the DX11 renderer instead.
 
If the log warns you about TLB miss you are either:
 
If the log warns you about TLB miss you are either:
*Using a bad dump of a game - in which case you'll need to [[Ripping Games|re-rip your disc]] or [[Need_Games%3F|re-download the game]] you are trying to play.
+
 
*Playing the game directly from your DVD drive - in which case you should [[Ripping Games|rip the game]] and play using the .iso instead (it's not advised to play directly from your DVD drive).
+
* Using a bad dump of a game, in which case you'll need to [[Ripping Games|re-rip your disc]] or re-download the game you are trying to play.
*Trying to play a game that isn't supported by the emulator - in which case you cannot do anything except trying another version of the game (PAL or NTSC-J for example).
+
* Playing the game directly from your DVD drive, in which case you should [[Ripping Games|rip the game]] and play using the .iso instead (it's not advised to play directly from your DVD drive).
 +
* Trying to play a game that isn't supported by the emulator, in which case you cannot do anything except trying another version of the game (PAL or NTSC-J for example).
 +
* Trying to play a game with a massive or in some cases any EE overclock applied, in which case turn it back down the speedhack menu.
 +
* You need to check the Wiki to see if the game requires any specific settings regarding the Clamping Mode of the EE/VU.
 +
* Cheats used in the game's .pnach file are invalid.
 +
 
 
If PCSX2 still crashes after doing all of the above, check that you aren't using any speed-hacks and that your system is stable and not overheating especially if you are overclocking.
 
If PCSX2 still crashes after doing all of the above, check that you aren't using any speed-hacks and that your system is stable and not overheating especially if you are overclocking.
  
===Blurry===
+
===Extreme fluctuation in emulation speed===
 +
The large fluctuation in emulation is often caused by the games themselves and cannot be avoided, but there is a handful of cases where this is caused by specific configuration issues
 +
 
 +
* Using large internal resolution multiplier on a low-end GPUs, even if the game runs mostly fine some effect can cause the emulator to suddenly have to do a lot of very heavy operations on the VRAM, low-end GPUs tend to have much lower VRAM bandwidth and will get absolutely crushed by that, especially true when using Large framebuffer and even more so when using the OGL renderer. Obviously the only real fix is turning the resolution down and disabling Large Framebuffer if possible
 +
* Playing games directly from the original DVD using a disc drive, in which case you should [[Ripping Games|rip the game]] and play using the .iso instead
 +
* Having the Blending accuracy set too high in the OGL renderer (Full and Ultra mostly)
 +
* Using EE overclock in some games
 +
 
 +
===Intermittent warped audio===
 +
Due to how the synchronizing function of the audio plugin works, even when running games on a computer that is capable of going way above 100% speed in a stable fashion, random bits of time-stretched audio can be heard occasionally or even frequently, there are however a few ways to work around that issue.
 +
* Set the audio syncing method to Async Mix (can cause A/V sync issue, not recommended with rhythm games), do not set it to None as it basically does the same thing as Async Mix but has more issues
 +
* Unlock the PCSX2 framerate limiter and use an external one such as MSI Afterburner
 +
 
 +
===Blurriness===
 
It's either interlacing or a filter in the game itself. For the former, switching the de-interlacing mode with F5 may help, and may cause flicker or screen shaking. For the latter, hacks are required. Either Aggressive-CRC if the game is listed there, or skipdraw (toy with the number, 1-100) might work otherwise.
 
It's either interlacing or a filter in the game itself. For the former, switching the de-interlacing mode with F5 may help, and may cause flicker or screen shaking. For the latter, hacks are required. Either Aggressive-CRC if the game is listed there, or skipdraw (toy with the number, 1-100) might work otherwise.
  
 
===Black lines===
 
===Black lines===
Those lines are caused by scaling to a non-integer internal resolution (anything other than XxNative), texture filtering (Check that shit off or to half at most), improperly offset textures(TC offset hack, Wild Arms hack), or improperly handled texture edges(Sprite hack). Native resolution for the most part fixes those. But software rendering may be required as well.
+
Black lines are caused by scaling to a non-integer internal resolution (anything other than Yx Native), texture filtering (Try anything that isn't bilinear (Forced), improperly offset textures (TC Offset, Wild Arms Offset hacks, Half-Pixel Offset), or improperly handled texture edges (Merge Sprite hack, Sprite/Round Sprite combobox). Native resolution, for the most part, fixes these issues, however, software rendering may be required as well.
 +
 
 +
==Special hardware==
 +
===Pressure-sensitive buttons===
 +
The DualShock 2 joypad bundled with the PS2 has all buttons and sticks with variable pressure states.
 +
 
 +
While most PS2 games don't require this feature, instead preferring variable trigger/stick pressure (e.g. sneaking past the sleeping dog in Chulip), a select few do. Some examples include:
 +
 
 +
* All three attack buttons in the Bouncer do different attacks based on whether the press was light, medium or strong. Same goes for the musical game Mad Maestro.
 +
* Star Ocean 3 has a musical item that plays different melodies depending on pressure and they're required for progressing.
 +
 
 +
Games requiring variable trigger pressure need physical controllers with analog sticks, but rare are third-party controllers which support variable pressure buttons. To know if your controller supports it, open the LilyPad plugin settings by going to the PCSX2 menu and selecting "Config", "Controllers (PAD)", and "Plugin Settings". At the LilyPad plugin popup, select your gamepad from the list of detected controllers in the "Device Diagnostics" box in the lower left then click the "Test Device" button.
 +
 
 +
A small popup window will appear, showing a list of all the gamepad's buttons as well as their current state. 0.000 = indicates unpressed, 1.000 = indicates fully depressed. Roll either analog stick around. See how the values change from 0.000 to 0.xyz, with the .xyz values shifting incrementally. These changing .xyz values show how the plugin detects different changes in angle as you move the analog stick around.
 +
 
 +
Now press any of the buttons normally used by games, i.e. the triangle/square/cross/circle buttons. See how the values immediately shift from 0.000 = unpressed, directly to 1.000 = pressed. If your gamepad truly has pressure sensitive buttons you will see gradual 0.xyz changes as you slowly press each button, just like the different changes in angle as you move the analog sticks around.
 +
If the buttons change from 0.000 directly to 1.000 this proves that your gamepad buttons are not pressure sensitive and are merely tracking the pressed/unpressed state.
 +
 
 +
The solution would be to either buy an official DualShock 3 controller and use an appropriate 3rd party driver such as [[SCP Driver Package]], or mapping the button to a rarely used trigger/stick in LilyPad this way:
 +
 
 +
An additional button needs to be mapped to circle as well but configured to deliver "light" pressure. This is done by opening the gamepad plugin configuration and choosing a rarely used key - for example, the lower shoulder button L2 - and remapping it to the circle button, and setting the sensitivity to 0.500 or thereabouts. In the game, merely use the remapped [email protected] button to deliver "light" tap/hold tunes while the regular circle button can be used normally to deliver "hard" tap/hold tunes.
 +
 
 +
===Lightgun support===
 +
Lightgun support is available in the pcxs2 emulator via a third party plugin called nuvee. His allows you to use and mouse or mouse compatible device (such as a lightgun) to play the large ps2 library of lightgun games.<ref>https://lightgungamer.com/pcsx2</ref>
 +
 
 +
==See also==
 +
* [[How To Play PCSX2 Online]]
 +
* [[Online PS2 games]]
 +
 
 +
==References==
 +
{{reflist}}
  
==Guides and Info==
+
==External links==
*[http://pcsx2.net/247-official-pcsx2-configuration-guide-video.html Official PCSX2 Setup Guide]
+
* [https://pcsx2.net/compatibility-list.html Official compatibility list]
*[http://neogaf.com/forum/showthread.php?t=427321 NeoGaf Guide]
+
* [http://pcsx2.net/247-official-pcsx2-configuration-guide-video.html Official PCSX2 setup guide]
*[http://wiki.pcsx2.net/index.php/Main_Page PCSX2 Wiki]
+
* [http://neogaf.com/forum/showthread.php?t=427321 NeoGAF guide]
*[[How To Play PCSX2 Online]] (See [[Online PS2 Games]] for what games still have servers up)
+
* [http://wiki.pcsx2.net/index.php/Main_Page PCSX2 wiki]
*[http://forums.pcsx2.net/Thread-PCSX2-Widescreen-Game-Patches?pid=271674#pid271674 PCSX2 Widescreen Game Patches] and [http://ps2wide.net/ PS2 Widescreen Hacks]
+
* [http://forums.pcsx2.net/Thread-PCSX2-Widescreen-Game-Patches?pid=271674#pid271674 PCSX2 widescreen game patches] and [http://ps2wide.net/ widescreen hacks]
 +
* [https://forums.pcsx2.net/Thread-60-fps-codes 60 fps codes]
  
 
[[Category:Emulators]]
 
[[Category:Emulators]]
 +
[[Category:Console emulators]]
 +
[[Category:Home console emulators]]
 +
[[Category:PlayStation 2 emulators]]
 
[[Category:Windows emulation software]]
 
[[Category:Windows emulation software]]
 
[[Category:Linux emulation software]]
 
[[Category:Linux emulation software]]
[[Category:OS X emulation software]]
+
[[Category:macOS emulation software]]
 +
[[Category:Netplay]]

Latest revision as of 15:00, 18 May 2022

PCSX2
PCSX2-Logo.png
Developer(s) PCSX2 Team
Latest version 1.6.0 (Stable)
Active Yes
Platform(s) Windows, Linux, macOS
Emulates PlayStation 2
Compatibility Compatibility list
Website PCSX2.net
License GNU LGPLv3 (1.7+)[1]
Source code GitHub
BIOS/Keys Required

PCSX2 is an open-source PlayStation 2 emulator for Windows and Linux. Since 2016, it has also supported the PlayStation 2's backward compatibility mode for PlayStation games.[2]

Download[edit]

Windows Linux Stable builds
Windows Linux macOS Nightly builds
Windows Orphis dev builds
macOS Dev builds

Android AetherSX2 Port

Note that the stable builds for Mac and Linux are severely outdated. For those platforms, you should use the nightly/dev builds instead, unless they contain regressions.

System requirements[edit]

Minimum[edit]

Recommended[edit]

These are recommended specs for using PCSX2,[3] but depending on the game you want to play, your mileage may vary. Some games need high-end, possibly overclocked CPUs or powerful GPUs, whereas some games run even on weak processors.

Windows 7 Compatibility[edit]

Despite Windows 7 not being officially supported, latest 1.7 dev version of PCSX2 can work with a few workarounds[4]. You'll need:

For starters, extract PCSX2 in a folder and then extract the 64bit dxvk d3d11.dll and dxgi.dll files next to the main executable. You'll also need to select Cubeb as the audio renderer, otherwise it'll crash with XAudio. And lastly, always pick between Vulkan, OpenGL and Software. D3D11 can crash on occasion and it won't be functioning as intended anyways. Don't expect any official support if you post logs that indicate you're using Win7.

Setup[edit]

Gamepad[edit]

Get God Hand running on a laptop

Native DS3 controls with LilyPad-SCP - Import this with the 'Load Bindings' button in LilyPad's config.

Either that, or you can use the Pokopom XInput Plugin. If you use a DualShock controller running under a XInput wrapper such as SCP Server, then this plugin is a no-brainer. It's very customizable, and you don't have to configure it beforehand. All of the buttons are bound at startup.

Video[edit]

Most of the video options should be straightforward, with the possible exception of interlacing modes. Many games will run fine with 'None', while others may experience artifacting or jitter. "Auto" is recommended.

  • "Sawtooth" is not recommended at all. Artifacting is far too heavy to be usable.
  • "Bob" has reduced artifacts, but jitter can still occur.
  • "Blend" has the least amount of jitter. However, it can cause blurriness. The Blend interlacer does frame-blending. This is also known as motion blur. This means that if there is heavy jitter, the video output will be extremely blurry since the two jittering frames will blend together. Only use this interlacing method as a last resort.

You can cycle through the options with F5 to quickly test them out.

To completely eliminate the issue of de-interlacing, the community has made patches/hacks for a lot of games that can be loaded through a .pnach file, like a cheat code. Those can be found in the PCSX2 wiki or forums.

Another method to get around this in older versions (custom res as an option was removed), is by running GSdx in hardware rendering, doubling the vertical resolution (if a game displays 640x480 on the emulator window, set vertical res to 960) and selecting bob-tff for interlacing. This can eliminate interlacing artifacts in most cases, although issues with upscaling, as well as using hardware emulation over software, can arise.

Overview[edit]

PCSX2 was originally created in 2001 by Linuzappz and Shadow as the successor to PCSX, another PlayStation emulator. Development of PCSX ceased on September 17, 2003 to focus on PCSX2. When version 0.9.8 released in May 2011, only 55% of the PS2's library was considered supported.[5]

A significant number of quality-of-life changes have come about since the project moved to GitHub, with a renewed interest in bringing it up to par with emulators for similar-gen consoles. Until mid-2021, PCSX2 was a holdout of the plugin system, despite development of each plugin eventually consolidating into the main repository. While the stable 1.6.0 build still contains the plugin API, the nightlies no longer have it as it was removed entirely in PR 4436. Compatibility has also seen major improvements across the board, to the point where every game at least boots. As of January 2022, 98% of the PlayStation 2 library is considered playable, with only 26 games marked as perfect.

A pull request adding x86_64 support was opened on June 7, 2020, and both 32-bit and 64-bit builds for Windows, macOS, and Linux were first made available on July 4.[6] The plan is to reduce so-called "technical debt", including game-specific hacks that cause accuracy issues and bugs in the 32-bit builds, as well as broaden support for more platforms and devices such as ARM64 chips.

A pull request removing x86 support was opened on December 9, 2021; and the last 32-bit build and first 64-bit-only build were made available on March 19, 2022.

Issues[edit]

Main thread: PCSX2 General Troubleshooting FAQ

Automatic game fixes[edit]

Whenever you encounter any kind of bug that isn't graphical in nature, objects going through other objects, untargetable objects that should be targetable or A.I. freezing, for example, make sure that the automatic game fixes option from the system menu is activated.

Major graphical glitches[edit]

Graphical problems such as corrupted textures, missing effects, clipping light sources, burn-in or transparent objects being opaque can usually be solved by switching to the software renderer either by pressing F9 while the game is running or via GSdx's config panel. If using the Direct3D 11 renderer, try the OpenGL renderer as it may be more accurate. If you're using a stable build, try switching to the most recent nightly or dev build. Newer development builds of the emulator may have fixes or other features added to the hardware renderers which remove common glitches like red or green bars appearing on the screen.

Poor performance in software mode[edit]

Many games will require you to switch to software mode to fix various issues, albeit at the cost of a significant performance loss. However, an easily overlooked setting in the graphical plugin configuration panel, extra rendering threads, might help lessen the performance loss if you have a quad-core or higher CPU. It is recommended to set it to the number of cores in your CPU minus one if you aren't using the MTVU speed-hack, or minus two if you are (ex: if you are using a quad core CPU you should set this number to 3 without MTVU and 2 with MTVU). The process described above is partially automated in recent development versions of PCSX2 but you might still need to tweak it to get optimal performance levels

Multi-threaded microVU[edit]

Multi-threaded microVU (MTVU), while generally a very useful speed-hack, might sometime cause minor problems like hanging and absence of performance gain or more severe ones like massive performance hits, save-states corruption (PCSX2 keeps a backup you can load with Shift+F3 in case any issues arise) and crashes to desktop.

Crashes[edit]

Crashes could be the results of several things. Switching between hardware and software rendering rapidly is likely to cause the emulator to lock up. This can be easily avoided by waiting a few seconds after switching between hardware and software rendering before switching again. If your GPU drivers also crash simultaneously (or you get massive graphical corruption on your desktop and/or a BSOD while trying to run a game) this means you're either using outdated drivers or you're trying to use an AMD card with the OGL renderer and Blending Accuracy set to none, in which case either set it to basic or higher or use the DX11 renderer instead. If the log warns you about TLB miss you are either:

  • Using a bad dump of a game, in which case you'll need to re-rip your disc or re-download the game you are trying to play.
  • Playing the game directly from your DVD drive, in which case you should rip the game and play using the .iso instead (it's not advised to play directly from your DVD drive).
  • Trying to play a game that isn't supported by the emulator, in which case you cannot do anything except trying another version of the game (PAL or NTSC-J for example).
  • Trying to play a game with a massive or in some cases any EE overclock applied, in which case turn it back down the speedhack menu.
  • You need to check the Wiki to see if the game requires any specific settings regarding the Clamping Mode of the EE/VU.
  • Cheats used in the game's .pnach file are invalid.

If PCSX2 still crashes after doing all of the above, check that you aren't using any speed-hacks and that your system is stable and not overheating especially if you are overclocking.

Extreme fluctuation in emulation speed[edit]

The large fluctuation in emulation is often caused by the games themselves and cannot be avoided, but there is a handful of cases where this is caused by specific configuration issues

  • Using large internal resolution multiplier on a low-end GPUs, even if the game runs mostly fine some effect can cause the emulator to suddenly have to do a lot of very heavy operations on the VRAM, low-end GPUs tend to have much lower VRAM bandwidth and will get absolutely crushed by that, especially true when using Large framebuffer and even more so when using the OGL renderer. Obviously the only real fix is turning the resolution down and disabling Large Framebuffer if possible
  • Playing games directly from the original DVD using a disc drive, in which case you should rip the game and play using the .iso instead
  • Having the Blending accuracy set too high in the OGL renderer (Full and Ultra mostly)
  • Using EE overclock in some games

Intermittent warped audio[edit]

Due to how the synchronizing function of the audio plugin works, even when running games on a computer that is capable of going way above 100% speed in a stable fashion, random bits of time-stretched audio can be heard occasionally or even frequently, there are however a few ways to work around that issue.

  • Set the audio syncing method to Async Mix (can cause A/V sync issue, not recommended with rhythm games), do not set it to None as it basically does the same thing as Async Mix but has more issues
  • Unlock the PCSX2 framerate limiter and use an external one such as MSI Afterburner

Blurriness[edit]

It's either interlacing or a filter in the game itself. For the former, switching the de-interlacing mode with F5 may help, and may cause flicker or screen shaking. For the latter, hacks are required. Either Aggressive-CRC if the game is listed there, or skipdraw (toy with the number, 1-100) might work otherwise.

Black lines[edit]

Black lines are caused by scaling to a non-integer internal resolution (anything other than Yx Native), texture filtering (Try anything that isn't bilinear (Forced), improperly offset textures (TC Offset, Wild Arms Offset hacks, Half-Pixel Offset), or improperly handled texture edges (Merge Sprite hack, Sprite/Round Sprite combobox). Native resolution, for the most part, fixes these issues, however, software rendering may be required as well.

Special hardware[edit]

Pressure-sensitive buttons[edit]

The DualShock 2 joypad bundled with the PS2 has all buttons and sticks with variable pressure states.

While most PS2 games don't require this feature, instead preferring variable trigger/stick pressure (e.g. sneaking past the sleeping dog in Chulip), a select few do. Some examples include:

  • All three attack buttons in the Bouncer do different attacks based on whether the press was light, medium or strong. Same goes for the musical game Mad Maestro.
  • Star Ocean 3 has a musical item that plays different melodies depending on pressure and they're required for progressing.

Games requiring variable trigger pressure need physical controllers with analog sticks, but rare are third-party controllers which support variable pressure buttons. To know if your controller supports it, open the LilyPad plugin settings by going to the PCSX2 menu and selecting "Config", "Controllers (PAD)", and "Plugin Settings". At the LilyPad plugin popup, select your gamepad from the list of detected controllers in the "Device Diagnostics" box in the lower left then click the "Test Device" button.

A small popup window will appear, showing a list of all the gamepad's buttons as well as their current state. 0.000 = indicates unpressed, 1.000 = indicates fully depressed. Roll either analog stick around. See how the values change from 0.000 to 0.xyz, with the .xyz values shifting incrementally. These changing .xyz values show how the plugin detects different changes in angle as you move the analog stick around.

Now press any of the buttons normally used by games, i.e. the triangle/square/cross/circle buttons. See how the values immediately shift from 0.000 = unpressed, directly to 1.000 = pressed. If your gamepad truly has pressure sensitive buttons you will see gradual 0.xyz changes as you slowly press each button, just like the different changes in angle as you move the analog sticks around. If the buttons change from 0.000 directly to 1.000 this proves that your gamepad buttons are not pressure sensitive and are merely tracking the pressed/unpressed state.

The solution would be to either buy an official DualShock 3 controller and use an appropriate 3rd party driver such as SCP Driver Package, or mapping the button to a rarely used trigger/stick in LilyPad this way:

An additional button needs to be mapped to circle as well but configured to deliver "light" pressure. This is done by opening the gamepad plugin configuration and choosing a rarely used key - for example, the lower shoulder button L2 - and remapping it to the circle button, and setting the sensitivity to 0.500 or thereabouts. In the game, merely use the remapped [email protected] button to deliver "light" tap/hold tunes while the regular circle button can be used normally to deliver "hard" tap/hold tunes.

Lightgun support[edit]

Lightgun support is available in the pcxs2 emulator via a third party plugin called nuvee. His allows you to use and mouse or mouse compatible device (such as a lightgun) to play the large ps2 library of lightgun games.[7]

See also[edit]

References[edit]

External links[edit]