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 outdated; there are simpler methods to install emulators on the Raspberry Pi that don’t require compiling from source code.

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.

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

  1. Thanks for the guide!! This worked with a couple of minor changes I needed to make on my Raspbian install:

    Slight change to the edit cmd:
    sudo nano /etc/ld.so.conf/libspectrum.conf -> sudo nano /etc/ld.so.conf.d/libspectrum.conf

    I needed to rename the downloaded .gz:
    mv fuse-1.0.0.1a.tar.gz?r=http:%2F%2Ffuse-emulator.sourceforge.net%2F&ts=1345580383&use_mirror=dfn fuse-1.0.0.1a.tar.gz

    and “cd .. ” back into src before starting the FUSE build.

    Other than those minor details it worked great, thanks!

  2. Excellent – thanks for the quick write-up! (Manic Miner is currently running on the desk behind me…)

    Using Weezy, I also had to rename the fuse archive, but the downloaded name was:

    fuse-1.0.0.1a.tar.gz?r=http:%2F%2Ffuse-emulator.sourceforge.net%2F

    …and then after running tar, I had to cd into the fuse-1.0.0.1a directory before running configure.

    There’s also a very minor typo – a stray ” character on the end of the sourceforge wget. As I say very minor, but bound to trip up the cut&paste 😉

  3. Was this compiled on Squeeze or Wheezy? I’m having issues on Wheezy with the libaudiofile-dev. I get an error when compiling libspectrum about the audio-config not being found. When the whole process is finished there’s no sound in FUSE?

  4. Another big fat waste of time… Thanks anyway. This is what went wrong. I don,t know enough tech to fix it… Perhaps it,ll be useful to someone else –

    pi@raspberrypi ~/src $ mv fuse-1.0.0.1a.tar.gz?r=http:%2F%2Ffuse-emulator.sourceforge.net%2F fuse-1.0.0.1a.tar.gz
    mv: cannot stat `fuse-1.0.0.1a.tar.gz?r=http:%2F%2Ffuse-emulator.sourceforge.net%2F’: No such file or directory
    pi@raspberrypi ~/src $ tar xvfz libspectrum-1.0.0.tar.gz
    tar (child): libspectrum-1.0.0.tar.gz: Cannot open: No such file or directory
    tar (child): Error is not recoverable: exiting now
    tar: Child returned status 2
    tar: Error is not recoverable: exiting now

  5. @Dave – I have updated the guide. World of Spectrum have has issues lately, so I have pointed the guide to another location for libspectrum-1.0.0.tar.gz

  6. Excuse my ignorance but I’m not familiar with SDL – what do I need to do to get it running under SDL – is this another install ?
    I used to have Fuse running nicely under LXDE on Wheezy before I trashed my Raspberry to get Jessie/PIXEL. Following your instructions, I can’t run fuse from the command line (probably because I haven’t got SDL) and running Fuse under the PIXEL desktop gives a tiny screen and no windows menus as Fuse did when I previously ran it under Wheezy

Leave a Reply