[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

PCSX2

PCSX2 is PlayStation 2 emulator that runs on both Windows and Linux, though given it is 32bit only and depends on libraries not included in Slackware, binaries available for download on project's website will not run out of the box. Here is how to make PCSX2 run.

Installation

32bit software on 64bit Slackware

If you have 32bit Slackware, you can skip this section. If you have 64bit Slackware, you need to add multilib capability to your system, i.e. make it capable of executing 32bit programs. Which means:

  • replace glibc and gcc packages with their multilib versions
  • add 32bit packages (not regular but converted for use on 64bit Slackware) of the rest of the system (so you will have 32bit and 64bit version of everything)
  • if you plan to use proprietary graphics driver, you might want to (re)install it at this point (and probably rebuild initrd as well)

Compiling missing libraries

Next, you need to compile missing libraries from source. Some are needed by pcsx2 executable itself, while some are needed by plugins.

On 64bit (though multilib) Slackware, you need to make sure you will compile 32bit, not 64bit libraries. In shell, run:

# . /etc/profile.d/32dev.sh
# export ARCH=i486

That will make system use 32bit compiler to produce 32bit programs.

wxWidgets

It's library for creating GUIs. I prefer no to mix libraries I compile myself with the rest of the system, hence the –prefix. The –enable-unicode option is necessary; PCSX2 requires unicode version of wxWidgets.

# wget https://sourceforge.net/projects/wxwindows/files/2.8.12/wxWidgets-2.8.12.tar.gz
# gunzip -c wxWidgets-2.8.12.tar.gz | tar -x
# cd wxWidgets-2.8.12
# ./configure --prefix=/opt/CPKGwxwidgets --enable-unicode
# make
# make install

libaio

Libaio is library for asynchronous I/O, whatever that asynchronous I/O is.

  • gets sources from git
# git clone https://git.fedorahosted.org/git/libaio.git
  • libaio does not come with usual configure script, so just edit Makefile
libaio/Makefile
prefix=/opt/CPKGlibaio
	CFLAGS="-mtune=i686 -m32" make
  • compile and install
# make
# make install

Soundtouch

It's library for processing audio data.

# wget http://www.surina.net/soundtouch/soundtouch-1.7.1.zip
# unzip soundtouch-1.7.1.zip
# cd soundtouch
# ./bootstrap
# ./configure --prefix=/opt/CPKGsoundtouch
# make
# make install

PortAudio

PortAudio seems to be cross-platform API for playing sound.

# wget http://www.portaudio.com/archives/pa_stable_v19_20111121.tgz
# gunzip -c pa_stable_v19_20111121.tgz | tar -x
# cd portaudio
# ./configure --prefix=/opt/CPKGportaudio
# make
# make install

Final steps

  • Libraries are compiled but in non-standard locations (unless you did not touch –prefix), linker needs to be told where to look for them. Use LD_LIBRARY_PATH enviroment variable to do that (you can also add this command to your ~/.bashrc):
export LD_LIBRARY_PATH=/opt/CPKGwxwidgets/lib:/opt/CPKGsoundtouch/lib:/opt/CPKGportaudio/lib:/opt/CPKGlibaio/lib:$LD_LIBRARY_PATH
  • You will also need PlayStation 2 BIOS. It would be nice to get it from Sony's website, alas no, you will have to get it from…certain other sites.
  • Get some games and try it out.

Links

Sources

 howtos:emulators:pcsx2 ()