How to compile the Fuse ZX Spectrum Emulator on the Raspberry Pi (SDL)

  • UPDATED 13th May, 2015 – Updated for the Raspberry Pi 2.
  • UPDATED 27th April, 2015 – Old WoS links are dead. Links updated!
  • UPDATED 14th March, 2018 – Weird copy and paste issue with some of the code.

This guide is now quite out of date – there are much easier ways to install emulators on the Raspberry Pi without the hassle of compiling from source.

Getting Fuse running on the Raspberry Pi is relatively simple – just follow the steps in this post.

I am running Raspbian, but these instructions should work on other Debian based distributions. This guide will compile Fuse to run with SDL. You do not need to start X Windows to run Fuse in SDL mode.

I suggest you connect to your Raspberry Pi over SSH. You can use a terminal application like PuTTY under Windows, ssh on *nix or terminal on OS X. This will save you typing in all the commands below. It’s a lot easier to copy and paste!

Connect to your Pi, and install the following packages.

$ sudo apt-get install libaudiofile-dev libsdl1.2-dev

Create a folder inside /home/pi called src. You will download the FUSE and libspectrum files to this folder, extract the source code, and compile it. You need to rename the file downloaded from SourceForge.

$ cd /home/pi
$ mkdir src
$ cd src
$ wget https://qa.debian.org/watch/sf.php/fuse-emulator/libspectrum-1.0.0.tar.gz
$ wget http://downloads.sourceforge.net/project/fuse-emulator/fuse/1.0.0.1a/fuse-1.0.0.1a.tar.gz

Now, extract, compile and install libspectrum. This takes about 5 minutes on the original model B, and about 3 on the Pi 2.
$ tar xvfz libspectrum-1.0.0.tar.gz
$ cd libspectrum-1.0.0
$ ./configure
$ make
$ sudo make install

Configure ld.so.conf so it can see the libspectrum libraries.

$ sudo nano /etc/ld.so.conf.d/libspectrum.conf
Put the following line into nano, save and exit.
/usr/local/lib
$ sudo ldconfig

Now extract, compile and install FUSE. This can take up to 30 minuets on the original Pi, so be patient! Much quicker on the Pi 2.

$ cd ..
$ tar xvfz fuse-1.0.0.1a.tar.gz
$ cd fuse-1.0.0.1a
$ ./configure --with-sdl
$ make
$ sudo make install

Thats it – FUSE should have compiled successfully. Run the command fuse to start the emulator. Copy over your TZX, TAP, DSK files etc over SFTP using a client like Filezilla.

Feel free to paste a comment below to let me know how you get on, or to let me know if there are any mistakes in my instructions.