Troubleshooting - 987123879113/pcsx2 GitHub Wiki

Stuck on black screen after the initial PS2 intro chime

If you are stuck on a black screen after the PS2 intro chime then you either lack the correct key files (civ.bin, cks.bin, eks.bin, kek.bin) or your HDD is encrypted and you do not have the matching HDD ID and ILINK ID files. If you believe you have all of the correct files then consult the program log (Debug > Show Program Log) to see if any files aren't being loaded properly.

Stuck on black screen after PS2 boot sequence

If you are stuck on a black screen after the entire PS2 boot sequence has completed, then try enabling the "OPH Flag hack" by going to Config > General Settings > Game Fixes > uncheck "Presets" at the bottom > check "Enable manual game fixes" and then finally check "OPH Flag hack". You will need to restart the game for this to work.

The current build of this fork should automatically enable the "OPH Flag hack" setting when you boot a Python 2 game because the network initialization part of the bootloader is broken without it.

Booting into the PS2 dashboard browser

The emulated HDD's reads are time sensitive and can fail if the drive you are storing the HDD image on is too slow to keep up. Try lowering the turbo speed if you are using turbo during boot, or moving the files to a faster drive like an SSD.

Stuck on blue screen that says "Initializing Network"/γƒγƒƒγƒˆγƒ―γƒΌγ‚―γ‚’εˆζœŸεŒ–γ—γ¦γ„γΎγ™

Set your network adapter type settings in PCSX2. Python 2 games require a valid network configuration to boot.

Video cut off around edges

wxWidgets: Config > Graphics Settings > DISABLE "Screen Offsets" and ENABLE "Show Overscan".

Qt: Settings > Graphics > DISABLE "Screen Offsets" and ENABLE "Show Overscan". You could optionally set this per-game by right clicking the game entry on the game list, going to properties, and modifying the graphics settings there.

If that still doesn't work you can try enabling the 31khz setting in Python2.ini for your specific game (note this glitches GFDM and Toy's March video display, which is hardware accurate).

Graphical glitches

Use the "Software" video renderer. If you are using the "Software" video renderer then you're out of luck.

Boot BIOS takes me to the PS2 dashboard

Use the correct SCPH-50000 BIOS. Ensure that "Hard Disk Drive" is enabled in Config > Network and HDD Settings. Ensure that "No disc" is selected under the CDVD menu.

Boot sequence is slow

Press F4 to toggle the frame limit, or press tab to toggle the turbo mode. Press same key again to go back to normal speed.

Drive images are too large! Can I compress them?

PCSX2 natively does not support compression of HDD images. HDD images are not CD/DVD images so the various ways to compress CD/DVD images for PCSX2 do not work for HDDs.

The only option available for compressing the HDD images is to use your filesystem's compression functionality. For Windows, you will most likely be able to use the NTFS compression option. Right click the drive image > open Properties > click the Advanced button toward the bottom next to Attributes > then check the "Compress contents to save disk space" option and apply the setting. It will take a while to compress the image but in some cases you can go from 40gb down to a ~2gb in extreme cases. Other games will go from 40gb down to ~15gb. Note that using NTFS compression may result in hiccups during boot while it's trying to initially open the HDD so this is not a 100% transparent method.

Warning: DO NOT USE compact TOOL TO DO THIS! In my experience with trying to use other tools to compress the images, PCSX2 just outright hard locks after the initial boot logo when it tries to start reading the HDD image.

(Qt only) Can't map controller button(s)

If you are using a non-standard/custom or not so well known controller then you may run into controller mapping issues. Download the SDL2 Gamepad Tool to generate a new controller mapping for your specific controller. Select the gamepad you wish to map and then press "Create A New Mapping" and follow the prompts to make a mapping between your physical controller and SDL2's internal controller.

Once you've finished mapping the controller, you should see a string in the console or text window on the program that says something like 03000000305700003780000001010000,SIGMA 9000TB,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,dpup:h0.4,dpdown:h0.1,dpleft:h0.0,platform:Linux,. Copy/paste this entire string, from the first 0 to the last ,, and paste it into the resources/game_controller_db.txt file in your PCSX2 folder. Restart PCSX2 and your controller should be working now if you mapped it correctly.

Please note that this file gets overwritten when you update PCSX2 so you should be careful when updating.

SDL2 Gamepad Tool: https://www.generalarcade.com/gamepadtool/

If your controller is a real controller and not a custom controller you made, I would suggest submitting the new mapping to SDL_GameControllerDB as it will be automatically pulled into PCSX2 upstream and would be helpful for everyone. https://github.com/gabomdq/SDL_GameControllerDB

Dongle BAD: invalid CRC values

If you are getting the "Dongle BAD: invalid CRC values" error message then it means you need to update your dongle files. Previous versions of the emulator allowed invalid dongles but with the inclusion of support for the MAME Python 2 ROMs, the code has been made more strict in order to accurately detect the ordering of the data within the dongle files.

Technical explanation: All valid dongles will share some similar features. The serial for the dongles is a pre-determined format of 14 xx xx xx xx xx xx yy where 14 is the family code of the dongle chip (DS2430), the xx values are the serial number, and the yy is the CRC value of the previous 7 bytes (the entire 14 xx xx xx xx xx xx region). Additionally, the payload of the dongle that is read into the game has its own CRC value as the very last byte which is a checksum of the previous 31 bytes in the payload. If either of the CRC values for the serial OR the payload is invalid then the emulator will reject the dongle file as it's an invalid dongle dump.