Get Your Game On - Playing PlayStation Games in Linux
PCSX is just a core program. It requires plugins to do anything, and you already have these installed. To configure the plugins, change to the directory you created when you unpacked the files—for example, ~/Downloads/Pcsx. From there, run the program from the command line by typing ./pcsx.
A Pcsx Msg dialog appears, telling you to configure the program. Click OK to open the PCSX Configuration dialog (Figure 1). Many of these dialog boxes don't need you to do anything unless you have a specialty in sound or graphics and like to tweak things, so I will skip to those that are essential.
The main dialog box to configure is the Pad section, so click Configure under Pad 1 (Figure 2).
Next to Emulation, click the PCSX radio button. If your controller is analog, check the analog check box as well. From here, you can click the various buttons to change what they map to. With a joystick, for example, you might click the up arrow in the left cluster of four and then press the joystick handle forward. You can set some of these buttons to map to your keyboard as well, but your keyboard options are limited, so try to keep most on the controller. If you're into creating macros, use the M buttons on the bottom.
Click OK when you are finished mapping the keys. If you have two controllers, click the Configure button under Pad 2 and repeat the process for the second one—make sure to change its device listing; you can use jstest to confirm for yourself which pad is js0 and which pad is js1. After setting up the controllers, you need to tell PCSX which BIOS to use. Otherwise, under the BIOS section, select the BIOS that you downloaded. To do so, find the Bios section and use the drop-down list box to choose the BIOS in the listing.
Your configuration is now complete. Click OK, if all went well, and PCSX starts (Figure 3).
PCSX can't read a PlayStation CD-ROM directly unless you use a different plugin than the one I chose. Don't despair. I chose the different plugin for a reason. It is, in fact, much faster for game play if you create an image of the game CD-ROM(s) and store them on your hard drive. You can't use most standard tools to do this, however, because there are many little issues in the way (see the Mega Games site if you're interested). Instead, use cdrdao to build an ISO file from the CD's raw content. For many, the command will look like this:
cdrdao read-cd --read-raw --datafile frogger.bin --device ATAPI:0,0,0 --driver generic-mmc-raw frogger.toc
where frogger.bin is the data file to create (the CD you will select when it comes time to play), and frogger.toc is the table of contents file to create. Both of these files are named after the game, so I easily can tell which one I want to choose. The ATAPI:0,0,0 entry will work for most CD-ROM drives.
Yes, it's been a long haul, but you finally can attempt to play a game. I'll warn you right now that not all games will work. Frogger worked immediately, but I'm still fussing with Final Fantasy VII, which is, of course, a more complex game.
Start PCSX just as you did earlier: enter the Pcsx directory and type ./pcsx. This time, only the PCSX dialog appears. If you need to, use the Configuration menu to adjust your settings. When you're ready to play, select File-->Run CD and then navigate to where you stored your .bin and .toc files. Select the .bin file for the game, and click OK (Figure 4). It might take a bit of practice to figure out your control setup, but it gets easier.
Make sure you're not running something that hogs processor time or RAM in the background. You can watch for this by opening a terminal window and typing top to open the process monitor. You may find that trying to make the game window larger doesn't work and, in fact, even crashes your machine. If you want to run a game through the specified BIOS, choose File-->Run CD Through BIOS. This action might convince some touchy games to play.
Resources for this article: /article/8888.
- Linux Kernel Testing and Debugging
- NSA: Linux Journal is an "extremist forum" and its readers get flagged for extra surveillance
- Wanted: Your Embedded Linux Projects
- Tails above the Rest, Part III
- RSS Feeds
- Numerical Python
- Dolphins in the NSA Dragnet
- Are you an extremist?
- Tech Tip: Really Simple HTTP Server with Python
- The 101 Uses of OpenSSH: Part I