Get Your Game On - Playing PlayStation Games in Linux

Run your favorite PlayStation games on Linux with PCSX.

This article focuses on Sony PlayStation games and the PCSX PlayStation Emulator. I chose this particular system because you can find PlayStation games both on-line and in game stores, primarily in the Used section.

Getting and Installing PCSX

To get PCSX, point a browser to the Web site (see the on-line Resources), scroll down to the Linux port section, and download the latest build. Once you have the file, change to your download directory. Next, uncompress and then unpackage the file. For example, on the command line inside your download directory, you might type tar xzvf Lpcsx-1.5.tgz.

This action creates a directory called Pcsx in your current location (for example, ~/Downloads/Pcsx). Now that you have the main tool unpacked, it's time to download and add plugins.

Getting Plugins and BIOS

PCSX is just a program shell. Plugins provide the functionality you need in order to play your games. To find a good selection, go to the Next-Gen Emulation site (see Resources) and click PlayStation. Along the left-hand side of the PLUGINS section of links, click Linux Plugins to find your options.

The plugins I selected were Pete's XGL2 Linux GPU (video), P.E.O.P.s Linux OSS SPU (sound), CDR Mooby Linux (to use ISO files of my games instead of the CDs) and padJoy. If you want to learn more about any of the plugins, click the home icon next to the entry in the listing. Otherwise, click the disk next to it in order to download the file. Either save them directly into the Plugin subdirectory (for example, ~/Downloads/Pcsx/Plugin), or copy them there once you have them downloaded.

In addition to plugins, you need a PlayStation BIOS. “Need” is a strong word—PCSX comes with a rudimentary BIOS, but many recommend downloading a real PlayStation version for the best game compatibility. It's legally questionable to offer the BIOS content so I won't give you a link. However, reading TheGing's Guide to PlayStation BIOS Images (see Resources) will not only educate you more about PlayStation BIOSes, it will give you a list of versions to try. Enter the name of the version you want to use in a search engine, and you'll find the files soon enough. Save the file into the Bios subdirectory (for example, ~/Downloads/Pcsx/Bios), or move it there once you have it.

Installing the “Easy Stuff”

Some parts are simple to install, and some parts are more difficult. Let's start with the easy ones, beginning with the BIOS. It probably came in a file ending in .zip, so use either your graphical file manager to uncompress it, or type unzip filename to do it by hand (for example, unzip That's it. It's installed.

Next, we install Pete's XGL2 Linux GPU plugin. As you might guess from the name, if you know much about sound in Linux, this plugin uses the Open Sound System (OSS). If your system doesn't use OSS, you need to install and set it up before your sound will work. Your distribution already may have it in place; see the documentation for details or search your package management system.

The tarball you downloaded for this plugin is in a file similar to gpupetexgl208.tar.gz. Using your preferred method, unpack the file. There is no configuration directory by default, so create Pcsx/cfg (for example, ~/Downloads/Pcsx/cfg). Now, copy the files gpuPeteXGL2.cfg and cfgPeteXGL2 into the cfg directory.

Getting the P.E.O.P.s Linux OSS SPU plugin, whose filename is similar to spupeopsoss108.tar.gz, is a nearly identical process. Unpackage it in Plugin, and then copy spuPeopsOSS.cfg and cfgPeopsOSS into the cfg directory.

Installing CDR Mooby Linux

This plugin can be a bit tougher. The installation can appear to go well and then not work, but there's a quick fix available, so don't worry. CDR Mooby comes in a file similar to cdrmooby2.8.tgz. Unpack this tarball in the Plugin directory. This should be all you need to do. However, if you find later when you start PCSX, you see the error (the program will start anyway, look on the command line): cannot open shared object file: No such file or directory

then PCSX is looking in the wrong place for this library. Type one of the following two commands (try locate first, and if it doesn't work, try find):