Running MAME games on Ubuntu

How many of us, when young spent so much money playing in arcade machines? How much time have you spent on that old arcade house playing that game, just to watch the end of that hard game, or to be in first on the Hall of Fame? Don’t you miss playing Metal Slug, Marvel vs Capcom, The King of Fighters, Dungeons & Dragons, Street Fighter, Cadillacs and Dinosaurs and many other games?

Well, you don’t need to miss it anymore, now you can play all those games for free using your own computer, thanks to some great programmers, emulators were made to maintain alive those entrainment classics. A lot of people know console emulators like Super Nintendo, MegaDrive, Nintendo 64, but I will show on this tutorial, how you can use the greatest (for me) emulator ever made, MAME (Mutiple Arcade Machine Emulador), where you can play games that you used to play on arcade machines and even CPS1, CPS2 or NeoGeo.

What about to have you own arcade machine, invite your friends home and have endless fun making championships. Under linux, the MAME emulator is called Xmame and it isn’t that hard to install (people tent to make things complicated). If you use UBUNTU, congratulation, you just need to type the command on your terminal “sudo apt-get install xmame-x xmame-sdl” to have the emulator installed automatically from the internet. If you are using another distro, you can go to and get the right version for you.


After having Xmame installed, it’s time to install a graphic front-end, or you can use it thought command-line, but I don’t like it very much. In this tutorial we gonna use a interface called Gxmame, that is a GTK interface, and works very well with Gnome. If you use KDE, you can go for the Kmame.

The stable version of Gxmame doesn’t work with the last version of MAME, so to make all work, we’re going to install the CVS version.

Download this file:

On your terminal, go to the folder where you’ve downloaded the file and type this:
sudo dpkg -i gxmame_0.35beta2-1_i386.deb

Done, it’s installed. Now I’m going to tell how you can configure it. Don’t think you will start playing just now, there’s a few steps left.

Now go to your game folder on the menu and open Gxmame.

IMPORTANT: First we need to make Gxmame knows where the Xmame is. Go to Option > Directories, and in “Gxmame Directories” we need to say where the Xmame is, under “Xmame executable” we need to add the Xmame executable. If you are using ubuntu, the path is “/usr/games/xmame.SDL“. After that, we need to say where the roms folder is, so add it on the “ROMs path” (you can add as many paths as you want).

After that, we need to make Gxmame look for supported games, for that go to Option > Rebuild Game List, it may take a while. A huge game list will apear, if it’s blank, click on the “All Games” filter. If there’s no game at all, it means that the “Xmame executable” has failed. So go back some steps and try again.


Now it’s time to start downloading your favorite games. If you google for MAME ROMS, you will find many website that host them. But remember that due the USA LAW, you can only have the roms on your computer for 24 hours (that’s no problem, each game won’t take that much to finish ^^) unless you own the original game.

Many times you will find different versions for the same game, but with different file sizes. For example, Europe, Japan versions, remember to always download the biggest version first, or it will not work.

Remember that you don’t need to unzip the games on the rom folder, you can leave it zippes as it is smaller and easier to organize. And remember that you can’t rename the roms, otherwise the emulator won’t find them.

Now let’s select the “Available“, it will show the games we have till now, in case it’s blank, double check the roms folder in Option > Directories > Xmame Basic Paths > ROMs paths.


To play the game, just double-click on the game name. If you want you can change some basic configurations like video size, joystick and sound. If you want your games to look more like a Arcade game, go to Option > Default Options, and on Effects, select “scan2“.

Now you are ready to start playing your favorite arcade games on your linux box. 🙂
Anything just leave a comment.
Thanks for readying

Although 220-601 as well as 70-290 are both required to clear the eligibility criteria for VCP-310. Many prefer doing 640-802 only.


  1. Hi, I love MAME, and have had it in various forms for years now. However, I have just installed Ubuntu Linux onto my ps3. It has let me get as far as installing the gxmame frontend, but won’t do it due to the fact that a ps3 is a PowerPC and the package architecture for gxmame is i386. Is there a PowerPC front end for mame out there that will work on Ubuntu?

  2. By the way. Thx a lot for this Guide. It was Really easy to get MAME to work with this instructions. I just wish that I could play a game on a network. thx

  3. yes i have tried to running mame games on ubuntu but it takes a lot of work to get them to work sometimes. Currently I am preparing for my VCP-310 but after i am done i will start working on ubuntu again

  4. very helpful! ive just installed ubuntu, and i really dont know much about, well anything really! setting up mame32 in windows was the extent of my knowhow. the only thing i found is that i couldnt see how to install gxmame according to your instructions. but looking at the file, it had a package installer which worked just fine (“,)

  5. Thanks for the tutorial, but I’m trying to install on my ubuntu 64 the gxmame but no luck, do you know where I can get gxmame for X86_64?, on repositories doesn’t exist yet AFAIK. Thanks

  6. I got until installing gxmame. When I launch GXMame i get a blank (black) screen and I have to restart to get back.

    What can I do … I’m running 8.10?



  7. Thanks for the guide!

    Sadly I have the exact same problem as “TG” above me.
    I’m running with Ubuntu 8.10 and the installation of the programs you named worked perfect, but when I’m about to execute the program I only get a black screen. The only way for me to get back is to restart X.

    Any ideas?
    I know this guide starts to get old, but how much have changed since last? :S


  8. that happened to me i turned off the full screen setting and it works you may want to adjust the screen size after though.

  9. Regarding PS3 and Ubuntu w/ xmame. I was able to get xmame running with kxmame as the front end (it’s in the Synaptic Package Manager as a downloadable). Old games seem to run ok visually, while 3d-ish games run very slow. Also can’t get sound to work or joystick (PS3 controller or even USB Logitech game controller. I’ll try PS3 via usb). But it does technically work and even newer 2d games run well.

  10. To solve the blank screen in Ubuntu, when you do “sudo apt-get install xmame-x xmame-sdl” leave out the xmame-x part and just install xmame-sdl. If you already have it installed than undo it. This is what worked for me.

  11. LIRC disabled, rom’s not found, but the roms exists. i work with ubuntu 9.10 and xmame with new frontend gmameui and kxmame

  12. 🙂 reconfigure in /etc/xmame/xmamerc the optionline: rompath to the “real” path.
    for example:
    rompath /home/user/games

    sudo gedit /etc/xmame/xmamerc
    in the terminal

    and it works

  13. I have the same problem.

    LIRC disabled
    pgm_p01s.rom NOT FOUND
    pgm_t01s.rom NOT FOUND
    t0600.rom NOT FOUND
    a0600.rom NOT FOUND
    a0601.rom NOT FOUND
    a0602.rom NOT FOUND
    a0603.rom NOT FOUND
    b0600.rom NOT FOUND
    b0601.rom NOT FOUND
    pgm_m01s.rom NOT FOUND
    m0600.rom NOT FOUND

    I edited xmamerc file but still fails.

    I need your help guys!

  14. I can feel some of you guy’s pain. Having been using Ubuntu for two months now all I can say is “Why”. I’ve gotten MAME to work and here’s what I did.

    First: Installed SDLMAME, do this through the terminal with the command ‘sudo apt-get install sdlmame’.

    Second: Get a front end by going into Applications > Ubuntu Software Center. Search for GMAMEUI and install.

    Third: Now it’s time to download some ROMs but leave them unzipped!

    Forth: Open up GMAMEUI(Applications > Games > GMAMEUI) and let it build your list. Then open up Options > Directories, where it says ROMs hit ADD. Now browse to where you downloaded the unzipped ROM and add it.

    Fifth: On GMAMEUI open File > Audit All Games and let it do it’s thing. Now you should be able to click ROMs in the GMAMEUI menu and get them to run.

    I hope this is helpfull.

  15. I’m running with Ubuntu 8.10 and the installation of the programs you named worked perfect, but when I’m about to execute the program I only get a black screen. The only way for me to get back is to restart X.

  16. No valid xmame executables found this comes up when i try and put in /usr/games/xmame.SDL

    can anyone help

  17. mame, all of its variations and front ends and how they work depend on a lot of things including your package versions (for dependant packages and mame packages them selves) , hardware, your configuration etc. Mainly your configuration @ lirc thing, that actually looks like a warning saying that your OS can’t find any infrared remote controller hardware on the system you have lirc installed or some function is looking for it, i think you just ignore that part, it appears more that your game rom archive is missing some pieces. I have RECENTLY ran into a sound issue with gmameui and xmame.SDL but the games look awesome, just can’t hear it anymore.

    Games are a whole other beast when your talking about mame as well, and some of the issues for you guys can be your source of your files. =(

  18. I get the same as Stuart, “No valid xmame executables found” when putting in the excutable path /usr/games/xmame.SDL.
    I have tried different versions and would like any help on this aswell if anyone knows the answer.

  19. I’m running debian, the mame app’s name with gui is gnome-video-arcade.
    If you do a:
    $gnome-video-arcade –inspect rompath
    It will tell you where to put your ROM files…

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.