MAME 0.172 for Raspberry Pi 2

MAME 0.172 is out and again this time there are some big and awesome changes to the core app. After taking the time to set up some permanent swap space on my Pi coding box and the slow compile time a version for the Raspberry Pi is ready.

The new GUI has had a lot of bug fixes, BGFX now had shader support from the guy behind GroovyMAME, HLSL speed has been improved, High score saving!.

For full details about what else has changed see the changelog here. You can grab the Raspberry Pi version or an Arcade game only version from my MAME download page.

26 Responses

  1. Huffster says:

    Hi, Not sure what I’m doing wrong, but when I use either your compiled binaries or try to compile myself, I get a segmentation fault and/or a pure virtual method called error with most games. Or, a terminate called without an active exception. Only game I’ve got to work so far is Jr. Pac Man. Donkey Kong is one that you say works for you, but I cant get it to run without the errors mentioned above. I started with a fresh then updated raspbian jessie install. Any suggestions? By the way had none of these issues with the previous 0.171 Thanks.

    • Steve says:

      I was getting something similar on OS X but not on the Pi. It was the bgfx settings on OS X so you might wat to start looking at your mame.ini settings around there. I’ve not found any worthwhile speedup using bgfx, in fact its quite a lot slower on anything but a good gfx card.

      if you run “./mame” without any options does it display the menu correctly?

      if you type “sdl2-config –version” what does it say, it should be 2.0.4

      • Huffster says:

        If I type “./mame” by itself, yes I get the menu, but it’s super slow to select anything and most games give error and won’t run. Yes I have 2.0.4 for SDL2 version. I will give mame.ini a look. I did notice the pre-compiled “genie” program in the bx folder under tools in the linux folder is not compatible with the pi. I had to manually compile the program “genie” on the pi for it to work. But that was for another project I was doing outside of mame. Maybe the mame MakeFile allready takes care of compiling a new genie program. I’m not sure.

        Just curious, did you compile the raspberry pi version on the pi itself or cross compile on your mac? Not sure what’s going on yet.

        • Steve says:

          The menu will be slow, it’s got 37000 items in it to initialize. I compiled this on one Raspberry Pi with the latest system on it and tested on that pi and another one running jessie with a Retropie install on it. Both work fine once sdl2.0.4 is on there and working. I installed 2.0.4 on the retropie build and it wasn’t being found. even though it was on there “sdl2-config –version” was saying 2.0.3. I had to symlink from usr/local to usr to get it to see the new build.

          also check your mem split (should be 16 for compiling but 256 to run anything) and your swap settings (2048 for build, 100 for running). this build definitely works on a pi 2 and a pi 3 so its got to be something in your setup.

  2. DamsRoxxx says:

    I’ve done a couple of test with the pi 3 and your build of MAME and it work pretty well !

    Ghouls’n Ghost @ 99%
    R-Type @ 99%
    Golden Axe @ 99%
    Bubble Bobbles @ 99%
    1944 @ 80%

    However, the menu (tab) is very slow…

    • Steve says:

      I got a Raspberry Pi3 today so I’m just about to look into seeing if we cant squeeze a little more out of her than this 🙂

      • Huffster says:

        I just got a Pi3 today too! One thing for sure is in the ARCHOPTS= we should use -mcpu=cortex-a53 YAY!

        • Steve says:

          I’m going to try ARCHOPTS=-O2 -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard I’ll run some benchmarks on both pi’s and with the a53 build as well. I’ll post the results soon 🙂

          • Huffster says:

            Oh yeah, I forgot about the -Ofast or -O2 or -O3 options. If you start from a fresh Raspbian, please document the process and save me from my mame 0.172 headaches. 🙂

          • Steve says:

            I have a working build. I’ll be posting a step-by-step, the download and some benchmarks asap

    • Tien Huu says:

      Dear sir,

      Could you tell me the command line to run MAME in Raspbian (Raspberry Pi 3)?

      I put unzip binary of Steve into folder /home/pi/mame. Roms have been placed into /home/pi/mame.

      Thanks in advance.

      • Steve says:

        The first time you run mame, type “./mame -cc” this will create the default config file. Then you can type “./mame gamename” where gamename is gridlee or puckman etc.

        if you don’t want to change the config file, put your roms in a roms dir off of the mane dir (/home/pi/mame/roms)

        • Tien Huu says:

          Based on your instructions, error message has been appeared. Should I need to install any independencies or packages such as SDL2 or not?

          • Steve says:

            Yes. You need SDL2 and SDL2-TTF

          • Tien Huu says:

            How to install sdl2 for raspberry pi 3?

          • Tien Huu says:

            I have installed sdl2 and sdl2 tff. Run ./mame -cc done but when running ./ give me a black screen. Why?

          • Choccy says:

            ./ should give you a file not found error (there is no Typing ./mame without any arguments will try to start the UI but it is *very* slow on the Pi.

            Get the gridlee rom from (its free and legal from that site), put it in the roms folder and then type

            ./mame gridlee
  3. Andrew Stockwell says:

    Any progress on the Raspberry PI 3 build? I have tried building libretro-mame (current) should be 0.171 within RetroPie but it doesn’t work. It would be good if your build worked.

    • Steve says:

      The Pi2 version of MAME 0.172 for download here works fine on a Pi3 with a retropie build on it. I (and others) have tested it.

      The Pi3 optimized build I am working on runs ok on my build box but segfaults on my retropie box (it works ok for any commands that don’t open a display but crashes when the emulator starts). MAME 0.173 was just released so I will be switching my efforts over to that. RealLife™ has gotten in the way for the last couple of weeks but I should have some time next week (fingers crossed)

  4. Tien Huu says:

    How to use this build of MAME 0.172 on my Raspberry Pi 3? Please help me to install this because I am just newbie to Linux as well Raspbian.

    Any chance to integrate this into Retropie as the default emulator for MAME and Neogeo?

    Finally, could you please confirm your build support command list (dialog appears in-game to show combos or instruction of games and using combined buttons (A+B , C+D) ?

    Hope to hear from you asap. Thanks in advance!

    • Steve says:

      Installing MAME on a Raspberry Pi is as simple as putting somewhere in your path and running it from a command line.

      Integrating this version of MAME into RetroPie is outside the scope of what I’m doing here. You just need to install it and get it working for you, then add a new section to EmulationStation to run it. Try asking in the RetroPie forums for help.

      This is stock MAME, command lists are not supported.

      • Tien Huu says:

        Thanks a lot for your answer. I am trying to compile MAME 0.173 inside Retropie setup overnight (through menu Experimental). But I am waiting for your opimized build for Raspi 3. Thanks one more time.

      • Tien Huu says:

        I’ve already compile MAME 0.173 from binary source as an experimental option on Retropie setup. Everything is OK but Lr-MAME integrated into Retropie menu seems to be very slow (without frameskip). How to edit MAME config to enable multi-threading or something like that?

        Moreover, I am still waiting for your build optimized for the Raspberry Pi 3. When will be it released? Hope you could let me know asap.

        During waiting, I will try your 0.172 built for Raspberry Pi 2 for testing.

  5. Tien Huu says:

    Could you make Raine Emulator (Neogeo CD emulator) working in optimization for Raspberry Pi 3? It has an option to install from command line or debian package but I cannot hanle this. Hope you could help me to solve this. Thanks a lot!

    Website for Raine emulator:

  6. dan says:

    Is anyone actually able to use the GLSL shaders on the pi? I also am getting crashing on some roms, like dkong, galaga, while 1943 and fshark work fine.

    • Choccy says:

      No the Pi is too slow to be able to use any shaders with MAME. DKong and Galaga both work here, is your ROM set up to date?