Ubuntu MAME Arcade Project – Part 1, The Computer

This. Is. Awesome…


MAME has been around for awhile.  There are multiple variants for various operating systems.  While the project is open source, you can definitely install it on a closed source platform like MS Windows or Apple’s Darwin Unix.  For something the scale of an arcade cabinet it generally wouldn’t make sense to buy an apple computer, but Windows is still an option.  There are also multiple products that you can buy to just install MAME on Windows and everything will run pretty smoothly.  There are a few caveats to this approach that may leave you wanting another option.

First, the Windows OS isn’t free.  It is also pretty picky about what hardware you can run a particular version on.  For example Windows 8 now requires special UEFI hardware (a little bit of a ripoff of Apple’s traditional Open Firmware system) because it takes so long to start that Microsoft actually saves the contents of RAM on a successful startup to disk instead of executing the hundreds of thousands of lines of code to prop it up every time you turn it on.

Second, MAME is free so do you really want to pay for it?  As mentioned previously there are plenty of great MAME products out there with commercial support that will let you just double click an installer, download some game ROMs (Read Only Memory) to a directory, and off you go.  A decent package will run you $50 or more.  there are options for running MAME for free on Windows as well and definitely feel free to explore them on your shiny new windows license or on the old PC that you are cannibalizing that already has Windows installed but there are more things you should consider.


Everyone who has access to this post is probably aware of virus scanners.  Small armies of independent coders around the world hate Microsoft products, and Microsoft has made it easy by attaching everything in the computer to a central registry for malicious code to infect and eventually take over your computer.  To combat these miscreants an entire industry was born to sell you software to keep your system usable.  Not only does this software chew up system resources like RAM and processor cycles, it also costs money to make and maintain.  There are free alternatives like Clamwin out there that are well maintained so the cost isn’t really an issue as much as the drag on your system.  This will definitely be noticable on older hardware and will force you to pay out of pocket for extra hardware horsepower to keep these processes from interrupting your gameplay experience.  Alternatively not installing it is fine if you aren’t connected to the internet and are careful not to put files on your arcade that haven’t been checked out first.


Enter Linux.

For my build I used a Core2 Duo machine with 4GB of RAM and plenty of SATA hard drive space (1TB) for use as a media server.  More on that adventure later…

5b2a984d7b-I'm running loads!

There are many variants of Linux to choose from that are free and relatively easy to use.  I recommend Mint, Fedora, and Ubuntu for this.  For the purposes of this build I chose Ubuntu because I use it at work, my kids have used it since before they could talk, and it even supports phones now.  It has a huge community of helpful members, is easy to use and learn, and is absolutely free.  MAME is part of most Linux software repositories (Think iTunes store for Linux) and is well supported by the Linux community.

Linux runs on pretty much any hardware ever made including whatever you may have in your closet that “doesn’t start anymore” or that computer you bought at that garage sale 2 years ago as well as the latest ARM processors and even the old Apple G series systems.  If you know what kind of processor your machine has go get the right version of Ubuntu Desktop from Ubuntu.com and follow their instructions for creating a bootable CD/DVD or USB thumb drive.



If you don’t know what type of processor you have, it’s probably an Intel chip, and at 4Gb RAM you should be fine with the 32 bit Ubuntu installer.

Boot the installation media, follow the onscreen installation instructions (defaults are fine) and you should have a pretty new desktop operating system when it reboots on it’s own.  If not go to ask.ubuntu.com and ask what happened.  They are a global community of passionate Linux users who really care about helping.  Just be sure to identify yourself as a Linux noob if that applies to you. 🙂


Once you have a working computer, click on the menu button at the top left and search for “terminal” in the search bar.  This is the Linux command line.  Not to worry though, I will tell you what to type.  If you still aren’t comfortable you can also open the Ubuntu Software Center application, find mame, and install it. It will ask for the password you set during the install.

If you aren’t scared to do so, at the terminal command prompt “$” type the following;

sudo -i

You will be asked to enter your password.  Once you have passed this authentication step you are now the superuser and can change or ruin anything at will.  You are the giver of life and destroyer of worlds to your new machine.  Be careful from here on out.

Next, we need to install the MAME core components on Ubuntu with the following;

apt-get update

This pulls the latest software version lists to your computer. so you know what can be updated.

apt-get upgrade -y

This updates the currently installed software on your machine.  You will see a flurry of activity as the system updates.  Unlike Windows there is no urgent need to reboot afterward.

apt-get install -y mame

This one gets the girls excited.  It installs the base components needed to run ROMs on your system.  Once it completes you have everything that is absolutely required to run MAME


QMAME Catalog Launcher II

QMC2 is a set of packages and utilities that work with MAME on your system, give you a much nicer interface than what is provided by default, and give you some nice management utilities to work with.  Head on over to their site and follow the Ubuntu instructions to get set up.


Currently Ubuntu 12.04 through 13.x are supported officially, but if needed you can add the source repositories to your 14.04 install.  Also, if this is getting a little deeper than you want to go there are Windows instructions if you need to tap out.  If you get stuck, hit the forums again.


Remember when the internet was awash with applications for sharing files across the globe and all anyone used it for was to steal music?  Napster didn’t fare so well, but Limewire is still kicking.  It’s cousin Frostwire is alive and well and a great resource for finding huge files like OS installers and more importantly, ROMs.  Head on over and get it for free.


There are a lot of sites that offer ROM downloads but they are somewhat painful and generally only let you download and try out 1 ROM at a time to see if it works.  Fortunately our friends at archive.org maintain the current ROM library for each version of MAME.  While you can find the version of MAME you are running with this command from the CLI;

mame -v

The latest version is usually the best one since it contains the latest and greatest versions of each ROM for MAME at this time, and MAME hasn’t made any significant changes to the way it works with them in a long, long time.  The archive should be about 40GB in size and should take a fair amount of time to download.  Have a beer and come back tomorrow.  The MAME 1.51 archive that I am using contains 29,646 ROMs.  Many are duplicates or alternative versions from other countries, and some of them just don’t quite work yet but probably will one day when someone has time to fix them properly.

Once your archive has downloaded, you will want to extract it to the following location on your Ubuntu filesystem;


This requires administrative or superuser permissions to perform so it’s best to extract it to your home folder and then move them from the command line.  You are now ready to start QMC2 and play with your new collection.  you can use the keyboard to play and do not need a special control surface to use MAME, but it helps.  I will cover that in the next section.


When QMC2 starts up you are presented with a quandary.  It wants to know where you put everything.  It can be a little intimidating, but I already know where your files are;

SDLMAME executable path:  /usr/games/mame

Working directory:                   /usr/local/share/games/mame

ROM path:                                 /usr/local/share/games/mame/roms

Sample path:                              /usr/local/share/games/mame/samples

Hash path:                                  /usr/local/share/games/mame/hashes

Feel free to create the missing samples and hashes folders if you want, but you probably wont use them.  Once the application loads you may want to search for QMC2 and add a shortcut to it on your sidebar.  you should see this if everything went according to plan.

qmc2 browser

Hit enter to start a game, escape to leave, and refer to this guide for the keyboard controls:


You just won.  Go play some games!


  1. I think you’re wrong. I’m sure. I can prove it.

  2. Very well written story. It will be helpful to everyone who usess it, including myself. Keep up the good work – for sure i will check out more posts.

Leave a Reply