Installing MAME in Fedora 20

Update:  See the next post in this series for updated instructions (basically what you see in the comments below) and more information (including hardware recommendations for your computing, gamepad, and light gun needs) about installing and configuring MAME in Fedora 23!

So I was trying to think of some more fun, casual things to do with my Linux machine, and I can’t believe this eluded me until now!  On my old Windows machines I always had emulators, but age got the best of me and here I am with my sweet Linux rig and no video game emulation to be found.

So let’s change that!

  1. Acquire the latest MAME source binaries from the MAMEDev site:  At the time of writing, the latest version is
  2. Ensure the proper prerequisite packages are installed:
sudo yum install make gcc gcc-c++ qt-devel SDL*

3.  Make a directory (I called mine “mame” and put it in /opt/mame, being the good FHS advocate I am), unzip the archive and then unzip the archive into in that directory.  Move into the directory.

mkdir mame     #A place to store the mame source code
unzip --d mame
cd mame

4.  Compile mame (this takes ~45 minutes on my rig):


5.  You can now execute the mame application with the new mame64 executable you see in your current working directory!  But first:

6.  Download some ROMs!  Technically, you should download only those ROMs which you actually own, which is easy for me to say since I collected over 500 video games growing up.  For MAME, the ROMs are zip files, and you simply play the game by executing the mame64 executable and providing the path to the zip file as an argument like:

mame64 roms/

Oh man, this is going to make me get ZSNES and some ROMs for that, too..  I would love to play Final Fantasy VI again – definitely one of the greatest video games I’ve ever played, and one which had a huge impact on me growing up.  I would love to play Final Fantasy IV and V for the first time, as well.

So many games to play, so little time.

This entry was posted in Gaming, Information Technology and tagged , , . Bookmark the permalink.

12 Responses to Installing MAME in Fedora 20

  1. Jess says:

    Thanks for the very well written tutorial. Everything installed just as you said it would. It works very well for me, but the audio is a bit glitchy, extra click sounds during all games I’ve tried.

  2. Thanks for the write up. Worked like a charm.

  3. fireheadman says:

    TO keep this writeup current, I just performed a fresh install of fedora 23…

    Had to install “python” since that was not included on the default OS image.
    Also installed “qt5-qtbase-devel” as it was complaining about Qt5Widgets not being found.
    oh… and fedora 23 uses `dnf` now instead of `yum` to install packages.

    So far the compiling is chugging along, if I end up having further issues I will edit this comment.
    I’m building a MAME system on a ASUS EP121 EEE Slate (Intel core I5) that was laying around…. will hook this up to a 20″ 4:3 LCD and throw in some external speakers along with mame controllers. Looking to make a coffee table setup later this year to house everything.

    • Hey, thanks for the update – do you mind posting your exact dnf command? Fedora 23 does ship with Python installed (version 2.7.10). Also: your setup sounds killer.

      • dnf seems (so far) to have the same operators as yum. not sure why they changed it, I’m sure a few min on google would say why. `sudo dnf install -y `

        ….so I let MAME run for a bit, it seemed great on the smaller games like pacman, joust, frogger…etc, but once I tried for double-dragon, killer instinct, street fighter II…. it started becoming very choppy. Could be the graphics card (Intel HD graphics). As much as I love Linux… I am installing windows 10 and then giving Hyperspin/RocketLauncher a go to see how that works out…. if that proves to also be bad then I will have to scrap the Asus EP121 tablet and go for a micro atx board and half height nvidia card of some sort.

      • Hmm – I haven’t fired up my MAME in a while, but I haven’t had such choppiness in the past. I’ll check on it in Fedora 23 when I get a chance; thanks for the information!

      • fireheadman says:

        So just finished the base install of hyperspin/rocketlauncher and while I know this thread concerns mame on fedora I gotta say I’m very very impressed with it. Choppiness is gone too.

  4. singingbush says:

    I just compiled the latest MAME release (version 0.172) on Fedora 23. Before doing so I needed to install the following packages:

    sudo dnf install gcc gcc-c++ qt5-qtbase-devel SDL2-devel SDL2_ttf-devel

  5. xalten says:

    Trying to install on a fresh Fedora 25 copy. DOn’t really know much about Linux when it comes to having to compile but this is what I’m getting

    pmlinuxalsa.c:(.text+0x1282): undefined reference to `snd_seq_port_info_get_name’
    ../../../../linux_gcc/bin/x64/Release/libportmidi.a(pmlinuxalsa.o): In function `pm_linuxalsa_term’:
    pmlinuxalsa.c:(.text+0x1331): undefined reference to `snd_seq_close’
    collect2: error: ld returned 1 exit status
    mame.make:238: recipe for target ‘../../../../../mame64’ failed
    make[2]: *** [../../../../../mame64] Error 1
    Makefile:952: recipe for target ‘mame’ failed
    make[1]: *** [mame] Error 2
    makefile:1160: recipe for target ‘linux_x64’ failed
    make: *** [linux_x64] Error 2

    There are a ton of Undefined references before that last one. I think it has to do with some way alsa is linked in?

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s