Before I start I’d like to say this is not supposed to be an in depth review of Puppy Arcade. It is a post which explains what Puppy Arcade is and how I think it can be improved.
Puppy Arcade is a version of Puppy Linux created by Scott Jarvis and can be downloaded from http://scottjarvis.com/page105.htm.
A few weeks ago I wrote a series of posts about different versions of Puppy Linux including Wary (http://everydaylinuxuser.blogspot.co.uk/2012/06/bewary-puppy.html), Slacko (http://everydaylinuxuser.blogspot.co.uk/2012/06/puppy-slackos-no-slouch.html) and Lucid (http://everydaylinuxuser.blogspot.co.uk/2012/07/scrappy-doo-lucid-has-puppy-powers.html).
Well there are more versions of Puppy Linux out there and one I’ve used quite often is Puppy Arcade. Puppy Arcade turns your computer into a retro games console where you can play games on multiple emulators.
The list of emulators is truly impressive including emulators for the Commodore 64, MAME, Sinclair Spectrum, Amiga, Amstrad, NES and Sega Genesis. There is also a DOOM emulator.
To be honest Puppy Arcade has everything you need for retrogaming EXCEPT…. it is looking dated and for new users it might seem fairly clunky.
Issue number 1 that I ran into when running Puppy Arcade on this particular laptop (Samsung R20) is that the initial boot up seems to load in a funny display mode and so the colours are naff and the icons are chunky. I can solve this straight away by restarting X. This has the desired effect of making the system look good and the docking bar appears.
Issue number 2 is connecting to the internet. The internet connection is actually a lot easier in Puppy Arcade compared to both Wary and Slacko as there is a tool called PWireless which makes it a case of just choosing your wireless device and entering the key. The problem is that Puppy Arcade doesn’t have a browser installed by default which means you have to use the browser install facility to install a browser. Now I know Puppy is designed to be small but having Seamonkey pre-installed might have been a better idea than nothing at all.
Issue number 3 and this is the big one is the lack of support for an XBOX controller. I happen to have another joypad available and I set this up quite easily but the XBOX controller is a device many people have and so rather than fork out on a new joypad it would be good if the XBOX controller worked straight away. I have spent 2 nights trying to get the XBOX controller to work (The wired controller) and I have to admit failure.
In UBUNTU based distros the XBOX controller works straight away as it is built into the kernel. In Puppy this isn’t the case. It should however be possible to get the XBOX controller working by installing XBOXDRV.
My first idea was to see if there is a PET package already available and whilst searching the best I found was that someone said they had produce an SFS file with XBOXDRV and LIBBOOST. This SFS file does not appear to be anywhere for download.
I therefore had a choice which was to compile the package myself or convert the debian package to a PET file.
Here comes issue number 4. Using Puppy Arcade it was very difficult to get the XBOXDRV Debian package and to convert it to a PET.
To resolve the XBOXDRV PET issue I loaded Lucid Puppy and downloaded all the Debian packages required. I then converted the packages to PETs and installed them on Lucid Puppy to test that the controller worked.
There are some command line commands required to get XBOXDRV working and when I ran XBOXDRV there were a few dependency errors. I resolved these one by one by searching for the missing dependencies online and trying again. Eventually I got to the point that I could run XBOXDRV and the XBOX 360 controller was recognised and it worked. It took a lot of effort to get this far.
Now that I had PET files I added them to a USB drive and rebooted into Puppy Arcade to install them. Puppy Arcade has more dependencies than Lucid Puppy and so despite having all the PET files required to get the controller to work in Lucid it still wouldn’t work in Arcade.
At this point I searched for each .so one by one online and via various Puppy forums managed to get all the dependencies needed to run XBOXDRV. The result…. Nothing. There were no problems with the package and it seemed to be running ok but it doesn’t. The controller just doesn’t seem to be recognised.
I love the idea of Puppy Arcade. It is lightweight, it has loads of emulators and it has a number of really neat tools for installing ROMs.
The package management for Puppy Arcade is poor. I ended up having to trawl the net for PET packages as the repositories just didn’t contain enough. This was a very hit and miss way of working. Even for Lucid Puppy the procedure was hard work.
I have tried the XBOX 360 controller using Bodhi and it works without having to install anything. Therefore I wonder is it time that Puppy Arcade got an upgrade. Maybe it can be reproduced using Lucid Puppy with the Xboxdrv preinstalled with all the dependencies.
I am tempted to try to create a distro using a lightweight Ubuntu version such as Lubuntu or Bodhi with all the emulators used in Puppy Arcade. This would give the package management and stability of UBUNTU with the similar speed of Puppy.