What is it?

GTK-Mame is an open source project to build another GUI frontend to the wonderful X-Mame port of the MAME project. MAME emulates those coin-sucking arcade machines right down to the hardware level. There are some brilliant games available for MAME - over 2000 at last count - and the list is growing quickly.

Why do I want it?

GTK-Mame will let you audit your ROMs, see screenshots of the game before launching it, easily view and configure X-Mame options, view extra information about the game, and much more. You can of course do all this without GTK-Mame by using X-Mame. But X-Mame only works at the command-line. Some of us like GUIs, damnit!


Here are some sample screenshots. From left to right you can see the main screenshot window, the information window, and dialogs to set video and audio options. Click on the thumbnails for a larger view.


GTK-Mame is licensed under the GPL. Specific details are included in the source distribution. The basic idea is you can use the code and binary for any purpose, but if you modify the code and distribute binaries you must also distribute the code changes you made. Please do NOT try and engage me in licensing discussions or convince me that the BSD license is better. The argument is DULL and BORING and YOU SUCK for thinking anybody cares.


GTK-Mame is Alpha release software. Many of the features have been implemented, but hastily and perhaps badly. Some other features have not been implemented at all. When all the features are implemented it will progress to Beta release. When all the bugs in the Beta release are ironed out it will become an actual release.

The current working feature set is:

The planned additional feature set before Beta release is:

How do I get it?

GTK-Mame is hosted on sourceforge. You can download the code via CVS or get the nightly tarball. Here's a sample session to get the source down via CVS, compile it, and fireup the binary. You'll need an implementation of SSH to download from CVS such as OpenSSH. You can get the nightly tarballs from the GTK-Mame SourceForge webpages.

$ export CVS_RSH=ssh
$ export CVSROOT=:pserver:anonymous@cvs.gtkmame.sourceforge.net:/cvsroot/gtkmame
$ cvs -z3 -q checkout gtkmame
$ cd gtkmame
$ sh autogen.sh
$ make
$ ./src/gtkmame2

GTK-Mame builds heavily on existing libraries. You'll need as a bare minimum autoconf, automake, make, gcc, libgtk, libgdk, libglib, libgdk_imlib, and the X development libraries. If your compile has problems then you might have all the runtime libraries but not have the corresponding development libraries.

I've got a suggestion, a bug fix, an insulting remark...

You can find patch queues, web forums, mailing lists, and bug trackers at the official GTK-Mame SourceForge website.

Useful Links

MAME: http://mame.net/
X-Mame: http://x.mame.net/
GTK-Mame Sourceforge: http://sourceforge.net/projects/gtkmame/