Well... here we have a v 1.0 version. If any willing participants would test out and see if there are any points which are unclear (I've tried to cover some basic useful things to know along the way too) or just plain don't work, I'll adjust as needed so ALL feedback is welcome. This is provided "as is" and since I just went through it myself again from scratch, should work. Should. Again it is intended for total beginners and although it looks long and scary, it really isn't that hard. Just follow along!
How to run FUSE (and do a bunch of other stuff) V1.0
Assumed: You are at the command prompt logged in as root, with internet connection working so that you can download the files needed.
1) How To Get A Shiny Desktop.
Okay, first thing first - let's get ourselves an updated system and a GUI installed shall we? For light resource usage most are using the LXDE desktop, which is what Debian also uses.
At your command prompt, type:
And hit enter. This will update your Arch install to the latest packages. If any prompt for a yes/no appears, just hit Y and enter. Generally this will take a very long few minutes and should just go by itself.
Now we're updated, it's time to install our LXDE desktop/GUI. At the command prompt type:
pacman -S lxde xorg-xinit xf86-video-fbdev
Again hitting enter at the end. This will install the LXDE desktop, and the correct video drivers for your Raspberry Pi.
Once this is done, you can start the LXDE desktop by typing:
Here we are, your nice shiny new LXDE desktop with mouse/keyboard. Not too complicated.
Now, just for the sake of it, let's shut down now and make sure everything is okay. Click the bottom left corner of the screen to bring up the LXDE menu, and select LXTerminal from Accessories. Wait a few seconds for it to open, then simply type:
shutdown -ah -t 10 now
And hit enter.
After a little while your system will shut down. I will explain here that it is INCREDIBLY important that you use the shut down command and don't just turn off the power until it says "System Halted"... as Arch will fail to start up again if you don't shut down properly. Do NOT logout from the desktop menu either. You will be forced to rewrite the image to the sd card and start all over again. Now you know how to do it, so that shouldn't happen. (If you want to reboot ever, simply open the terminal as above, type reboot and hit enter instead. Simple.)
2) Let's Get Ready To Build!
Power your RPi back on, and soon you'll need to log back in to the command prompt. This time you can either start LXDE as earlier with the "xinit /usr/bin/lxsession" command and open LXTerminal again, or just stick on the command prompt for now.
Now... let's install our build tools for compiling, shall we?
Whether on the command prompt or LXTerminal simply type:
pacman -S kernel26-headers file base-devel abs
And hit enter. Allow everything to install (either hitting "Y", or enter if asked to pick default=all).
That's it. You have your own build tools for compiling source now. Fun! These can later be used to compile any PKGBUILD you want - but for now stick with FUSE.
3) Wait - We Need Source Code!
Start up LXDE at this point if you have not already and bring up the LXTerminal.
We need something to get our source with now of course - so, just for simplicity let's install the web browser Midori by typing (remember - enter at the end of all commands from now on!):
pacman -S midori
You know the deal by now - let it install. When it completes, go to the bottom left menu again and run Midori from the Internet menu. It'll take a little while to open.
Go to http://aur.archlinux.org/packa.....p?ID=10350
to get the fuse-emulator source. Save it by right-clicking on the "Tarbell" link from the page. Just hit "Save As" for now and this will save the tarbell in /root.
You will also need libspectrum which is linked to on the same page - go to the page (it's http://aur.archlinux.org/packa.....p?ID=10350
if you don't get where to click), and again hit Save As on the Tarbell link for libspec.
To make things easier here, we need an unarchiver. Bring up your trusty LXTerminal again and tell it:
pacman -S xarchiver
Which will install the lovely easy to use xarchiver program. Now go into the menu again and hit "File Manager" in Accessories. This will bring up the root folder where you should now see those files we just downloaded. Right click on either and select "Extract Here" from the menu that appears. You'll see the two extracted folders appear. We have to deal with libspectrum first, otherwise we cannot compile fuse-emulator as it depends on libspectrum and a few other things being there first. These are what is referred to as "dependancies" - simply, applications depend on them to run.
Now again at LXTerminal, type:
pacman -S alsa-utils audiofile bzip2 glib2 libgcrypt zlib xz
4) Time To Compile!
Now we can build our libspectrum! BUT... reboot first from the LXTerminal as you learned earlier. This will make sure we have plenty of memory free. Once we're rebooted and back to the command prompt, DO NOT start LXDE this time. We need all the memory we can get and it will not have enough with LXDE running - seriously, it will just error on you and fail to build. (This took a LONG time to figure out. Try to do everything below yourself from LXTerminal if you want to see for yourself.)
So, still logged in at the command prompt, it's time to compile our code!
This will get us into the libspectrum folder with the extracted source from the tarbell.
makepkg --asroot PKGBUILD
As you will see - it failed. Why? If we read the message we can see it is because the PKGBUILD file which tells the build tools how to deal with it doesn't work for ARM architecture (arch='arm') processors. So... we need to make it do so.
Be careful here. Use the down cursor key and the right cursor key to move the white cursor box down to the line which starts with "arch=". See how it only shows "i686" and "x86_64" for 32-bit or 64-bit processors and not ARM which the RPi uses, just as the error showed us? Well... move the cursor along to inside that first bracket and type 'arm' (with a space after it). The line will then read:
arch=('arm' 'i686' 'x86_64')
That's it. The PKGBUILD file will now compile for our ARM processor. Remember this trick as you will need it for future source compiles.
Now press CTRL and O at the same time and hit enter. This will save our changes. After that, press CTRL and X to close the nano editor. You're now back at the command line. Repeat our:
makepkg --asroot PKGBUILD
And as you'll see, the error is gone this time. Now wait for our compiler to do the job and make our libspectrum. A lot of scary text will scroll by, including a few warnings and such, you can just ignore it and wait. While waiting, note the fact that you have just started a PKGBUILD and source code compiling for ARM! You can now do it with any app, so long as you use pacman or PKGBUILD and tarbell archives to install those dependancies it lists on their pages too!
Finished building? Good work (zombie) ARM. Now we will install your newly built "libspectrum". Type:
pacman -U libspectrum-1.0.0-1-arm.pkg.tar.xz
5) Here We Go... Building FUSE At Last!
Now the last part... fuse-emulator itself! Type in:
As usual hit enter. This will take us back to /root. We want to be in the fuse-emulator folder now, so type:
There is another PKGBUILD file in here. As with the last one we need to edit the line to add ARM support before we can compile it. So as before we'll type:
You will find the same line as we edited before to add ARM support in this file. As before, simply move the cursor and make it read:
arch=('arm' 'i686' 'x86_64')
And save and exit nano again as before.
Now... You know what's coming next? Let's get our FUSE compiled by typing:
makepkg --asroot PKGBUILD
This will take a VERY long time. Seriously. It is important that if the screensaver kicks in you do not type anything. Just move your mouse. At most, press a cursor key. It will eventually finish. Take the time to marvel on the fact that you've now learned how to install a GUI to Arch Linux (and if you want nicer looking fonts later then try pacman -S ttf-dejavu and see the difference), how to install your build tools and programs via pacman, and how to get PKGBUILD files to compile ARM code for your Raspberry Pi. Not bad at all!
Finished? Here it goes. Type:
pacman -U fuse-emulator-220.127.116.11a-2-arm.pkg.tar.xz
"Proceed with installation"? YES!
Now, start LXDE again. However, assuming you want sound enabled there's one last thing to do in LXTerminal:
To start our audio drivers:
You will find the FUSE emulator is now in the Other menu as ZX Spectrum Emulator. Go ahead and click. Go into the Options -> Sound menu and tick "Sound Enabled". Now you just need to get your games. Find for example "Skool Daze" or "Manic Miner" on http://www.worldofspectrum.org
using Midori, and unarchive it as we did earlier. Go to Media -> Tape -> Open in the FUSE GUI and select your extracted game. Press J then CTRL+PP (which should appear as Load "") and hit enter. Wait and your game will load..!