Posts Tagged ‘xmame’

How to Install and Play old Arcade Multiple Arcade Machine Emulator Games on Linux in 2021 with xmame and GXMame GUI Frontend

Friday, May 14th, 2021

I've earlier blogged on how to install and play old arcade games with xmame compiled from source on the now old Debian 7 Linux under the article Install xmame from source on Debian Linux 7.0 (Wheezy) to play for better MAME (Arcade Games Emulation)
as well article on using the newer version of MAME emulator instead of xmame under the article Playing Arcade old school games on Debian Linux as well as how to make the MAME emulator work with a joystick see my previous How to configure Joystick ( Gamepad ) on Debian, Ubuntu, Mint GNU / Linux easily.

Since I have preinstalled my notebook with fresh Debian 10 Buster, for a long time I did not have the time as well as desire to play my favourite games of the youth to name a few this is Xain'd Sleena / Cadillacs and Dinosaurs (1993) / the Punisher (1993) / Captain Commando (1991) / Super Mario / Contra / Final Fight etc. and rest of the the SEGA Mega Drive / GameBoy / Nintendo / Terminator game (fake clone of nintendo) and other killing Arcade Classics of the late 90s and early year 2000, which we played on a public houses on a game cabinets with a joysticks. 
Hence I tried to reproduce some of my articles just as of 2021 to see whether still we can get a nice playable MAME emulator on Linux with a Graphical GUI for Mate or GNOME. And it seems using a straight mame out of Debian standard repositories did not work with some of the more sophisticated ROM .zip files from the nices such as Punisher or, this is how this article got born in an attempt to give a way for such old school game freaks as me to be able to play there favorite games of the youth.

Below is the few steps adapted mostly from above articles with some head banging and loosing multiple hours wondering until I finally got a working XMAME ROM emulator with the simple but working GXMAME graphical frontend for M.A.M.E..

To compile xmame with joystick support be it analog or whatever joystick you have to use a Makefile like below

Copy it on your PC and remove it to Makefile in the xmame-0.103 source dir:

# cd /usr/local/src/xmame-0.103

I have to install all the necessery package dependencies development header files, some of which are mentioned in the beginning of post articles and some of which I had to install manually, such as the preset Debian meta-package build-essentials Things to install on newly installed GNU / Linux (My favourite must have Linux text and GUI programs missing in fresh Linux installs), just to mention a few I remember had to install based on some compilation errors:

# apt-get install build-essential
# apt-get install –yes zlib1g-dev

# apt-get install –yes libexpat1-dev
# apt-get install –yes libghc-x11-dev
# apt-get install –yes x11proto-video-dev
# apt-get install –yes libxv-dev
# apt-get install libxext6
# apt-get install libxext6-dev
# apt-get install libxext-dev
# apt-get install libjpeg62-turbo-dev
# apt-get install libxinerama-dev
# apt-get install libgtk-3-dev
# apt-get install syslog-ng-dev
# apt-get install libgtk2.0-dev

If I'm missing some package necessery here you will have to find it yourself based on the *.h file produced as error during compile you should look it up with a cmd like:

# apt-file search glib2.h

And install it further.

You will need to edit Makefile or take and straight use or if necessery adapt an already prepared Makefile for my purpose:

# wget;
# mv Makefile
# make && make install

Some .zip roms does not properly work with the newer mame you need to instead use xmame ..

Below is the version I use on Debian 10 as of May 2021 year.

hipo@jeremiah:/usr/local/src$ xmame –version
GLINFO: loaded OpenGL library!
GLINFO: loaded GLU    library!
xmame (x11) version 0.103 (May 13 2021)

To make the joystick work in xmame you will need to have a preset of modules loaded on the Linux for my old Genius joystick this is what works.

hipo@jeremiah:~/Games$ cat /etc/modules
# /etc/modules: kernel modules to load at boot time.
# This file contains the names of kernel modules that should be loaded
# at boot time, one per line. Lines beginning with "#" are ignored.

Fill in your joystick module there and make sure you manually load each one of the modules with modprobe command.
Next calibrate the joystick with some tool like jktest-gtk

If you need a good frontend for MATE / GNOME for xmame try gxmame. It is a real pain in the ass to configure, note that the only working version of xmame with good configuration as well as gxmame with a game list that is prebuild.
If you need xmame-0.103.tar.bz2 exact xmame version I'm using thethe archive is on:
An old bundle of both gxmame and xmamerc configs is here
For example my old working version of xmame ~/.xmame is here

Configuration of gxmame (even though it has has a GUI for configuring is below:

xmamerc sample working file is here

My newest current version as of Debian 10 Squeeze of xmame and gxmame is below:

Note that my rom files and stuff is located and configured in neewst configs to be under /home/hipo/Games/roms/ if your location is others grep it in .xmame/* and .gxmame/* files and set the correct PATH locations.

A VERY IMPORTANT NOTE is not to use the stable version of GXMAME even though it worked in 2003 fine as the project is abandoned and unsupported as of 2021 the latest downloadable stable gxmame file on Sourceforge gxmame-0.34b website is not working correctly (even though it compiles fine).
You have to compile and use instead the newer version gxmame-0.35beta1.

If you want to use gxmame with a joystick you need to compile it with the respective option:

root@jeremiah:/usr/local/src/gxmame-0.35beta1# ./configure –enable-joystick


gxmame 0.35beta1

Print debugging messages…… : no
Joystick support………….. : yes

GXMame will be installed in /usr/local/bin.
Warning: You have an old copy of gxmame at /usr/local/bin/gxmame.


configure complete, now type 'make'

To install compiled binaries do the usual:

# make && make install

gxmame binary should be installed under /usr/local/bin/gxmame once launched you should get the shiny gxmame GUI.


Perhaps there was other stuff I've done in the process I forgot to document here, so if you try to follow my guide and something does not work please tell me what I'm missing and you can't handle it either contact me.

The guide is for Debian Linux but should work on other .Deb based Linux distros such as Ubuntu / Linux Mint etc.

To enjoy my 4GB present of ROM files containing many of best well known M.A.M.E. ARCADE GAMES check archive here. Note that this collection was downloaded on the Internet and I do not hold any responsibility of the archive. If it contains files with any copyright infringment this is to be on your own.

Install xmame from source on Debian Linux 7.0 (Wheezy) to play for better MAME (Arcade Games Emulation)

Thursday, May 30th, 2013

xmame logo install xmame on latest stable debian

Whether you're keen on playing old school arcade games. And you just updated or installed latest stable Debian 7 Wheezy. You will find out current installable Mame (Arcade Emulator) package cannot play many of the hot Games, even though game rom files are okay and you might have played those games in some previous versions of Debian with now obsolete but apparently better working emu  xmame.

As playing Captain Command, Xain'D Sleena, Cadillac & Dinosaurs and Punisher Classic Arcades is one of my great entertainments when I have some free time. I took the time to find out if xmame is still installable either by deb package or from source.

Unfortunately xmame for latest Debian releases is not available from unofficial repositories, so I proceeded with installing it from source. Thanksfully source install was successful. Hence, below is explained how to install xmame from source on Debian Wheezy and Debian testing/unstable.
First before compiling install a bunch of development packages necessary for proper compilation:

# apt-get install --yes zlib1g-dev
# apt-get install --yes libexpat1-dev
# apt-get install --yes libghc-x11-dev
# apt-get install --yes x11proto-video-dev
# apt-get install --yes libxv-dev

Download xmame 0.103 source archive (xmame-0.103.tar.bz2)

Tar archive doesn't have configure script so to compile it just run make ;

# cd /usr/local/src
# tar -jxvvf xmame-0.103.tar.bz2
# su hipo
cd xmame-0.103
$ make
$ exit
# make install

In case some header .h file is still missing and compile fails, as it happened to me on few occasions. You can install and use apt-file;

One important note is xmame's build will take very long on my machine with 2Gb of Memory and Dual Core 1.8 Ghz it took about 1,.30 or 2 hours. 

# apt-get –yes install apt-file
# apt-file update

To find from which package the the missing .h file can be installed

# apt-file search Header-Name.h

Then just install package which will provide needed header.

Next step is to create xmame config file:
# mkdir /usr/local/share/xmame/
xmame-0.103$ cp -rpf ./src/unix/doc/xmamerc.dist /usr/local/share/xmame/xmamerc

In xmamerc set proper location for Mame ROM files:

# vim /usr/local/share/xmame/xmamerc
Find line;

rompath                 /usr/local/share/xmame/roms

and change it to whether Rom files are located. In my case they're in /disk/Games/Mames/roms, so change rompath to;

rompath                 /disk/Games/Mames/roms

There are some other configurations which you might want to tune. A well configured xmamerc that works fine for me is here

Finally link xmame.x11 to /usr/bin/xmame

# ln -sf /usr/local/bin/xmame.x11 /usr/bin/xmame

After having properly configured XMamE'S roms Directory to launch a game, for example or

$ xmame punisher
 $ xmame captcom

captain_commando_arcade-game-logo running on xmame Linux

I've build xmame from source on Debian but I suppose same guide should be working okay on Ubuntu, Mint and rest of Debian distributions. I'll be happy to get feedback if someone succeeded running xmame on other distro. If you do please drop me a comment with distro name and specifics or problems faced.

Playing Mame Arcade old school games on Debian Wheezy 7.0 Linux

Wednesday, May 29th, 2013

Play arcade games on Debian GNU Linux 7 Wheezy Tux arcade logo

To play the good old arcade on Debian Linux in previous releases I used GNOME's xmame frontend gxmame in Debian 5.0 Lenny and in Debian 6.0 gxmame was no longer working fine so I was using a KDE package frontend called kamefu.

Yesterday I just re-installed my laptop with latest stable Debian 7 Wheezy and after installing re-installing all packages I regularly use it happened gxmame and kamefu are no longer available in Debian 7. It was kinda of shocking since I already so much get accustomed to kamefu that I don't want to switch to other Mame GNOME GUI frontend.

I tried building kamefu from source (btw kamefu is still in very early development stage 0.1 with no luck). After the epic fail and my laziness to look for what kind of header files part of KDE I have to install. I read what is written on Mame in Debian Wiki here and found out about existence of new package in Debian 7 – gnome-video-arcade, as well understand the so far well knon xmame package is substituted by one called mame. Though name changed mame is not much different from xmame. In theory mame pack should be complete substitute for xmame but in practice my experiments showed xmame was running much more ROM files than the new mame binary.

Here is what I did to have running most of my Mame ROm files on Debian 7 Linux;

1. Install mame gnome-video-arcade, mame-tools and xmame-tools debs

noah:~$ apt-get --yes install mame mame-tools xmame-tools

2. Create default config file for mame bin
noah:~$ cd .mame
noah:~/.mame$ mame -cc

mame -cc command generates mame.ini config file;

noah:~/mame$ ls -al mame.ini
-rw-r--r-- 1 hipo hipo 6660 май 25 18:31 mame.ini

3.Add location to Mame Rom files in config file

noah:~/mame$ vim mame.ini

Near beginning of file there is section:


rompath                   $HOME/mame/roms;/usr/local/share/games/mame/roms;/usr/share/games/mame/roms;

At the end of rompath include location of MAME ROMs in my case ROMS are located in;

rompath                   $HOME/mame/roms;/usr/local/share/games/mame/roms;/usr/share/games/mame/roms;/disk/Games/Mames/roms;

Further on to test which ROMS will work and which not compatible;

noah:~/mame$ mame -verifyroms |grep -i good
1941j       : yi22b.1a (279 bytes) - NOT FOUND - NO GOOD DUMP KNOWN
romset 1942a [1942] is good
1943        : bm.7k (65536 bytes) - NOT FOUND - NO GOOD DUMP KNOWN
1943kai     : bm.7k (65536 bytes) - NOT FOUND - NO GOOD DUMP KNOWN
1943u       : bm.7k (65536 bytes) - NOT FOUND - NO GOOD DUMP KNOWN
romset 1944 is good
romset 1944j [1944] is good
romset 280zzzap is good
romset 3kokushi is good
romset 3stooges is good
romset 4dwarrio is good


4. Launch gnome-video-arcade binary

noah:~/.mame$ gnome-video-arcade

On first run, you will have to wait a about 10 minutes for program to Index all Rom files it loads up the CPU severely and looks like the program is hanged …

GNOME video arcade debian Linux play arcade games GUI program screenshot

As you can see the interface is very simplistic, there is Preferences (menu) but there is almost nothing to configure;

GNOME Video arcade Debian Linux preferences general

Gnome video arcade games on debian linux preferences columns One very unpleasent thing is many of the best games didn't work anymore. Some great arcade games like Punisher, Captain Command, Cadillacs and Dinosaurs who worked perfectly fine on old xmame + kamefu, don't work anymore with mame + gnome-video-arcade.

Besides its simplicty gnome-video-arcade has the precious feature to Record Played Games. To record yourself playing and later replay it use menus;

Game -> Record

or use shortcut (CTRL+R)

The day wasn’t so bad at all

Monday, February 5th, 2007

Yesterday I was on a birthday of a one girl Krisi she is 18 already. It was a standard teen party. Awful place, I drunk 3 beers and smoked a lot of cigaretes in general we discussed with some ppl Does the Lord exist things. Is evolution real is it possible at all things like this. There was one boy who was keen on Free Software GPL etc. I realized I’m a real psycho after I started to convince him Windows and M$ products are much better than free software :]. After 3 hours speaking like a 15 years m$ user. When walking back for home. I asked my self what the heck? What I did I’m real psycho ;]. Zuio and I broke 1 flowerpot when doing POGO on a Hipodil song. I eat some strange salad with hands ( I pretended to be a Bangla person ) :]. Nomen drunk a lot and got angry at a guy and proposed to start a fight:]. In 5:30 a.m. we were already at home. Our mood got fucked up a little when going back to home. In the morning Papi wake me up and suggested to go to a coffee, I aggreed as usual but I did misunderstood about the place where we decided to see, and waited on other place after that I realized I did a mistake and he meant we have to see each other in the Winter Theather not the Summer One (silly me). After that normal day I eat. I did some server descriptions, played mame in Nomen (I went his home). I was able to start gxmame to work in fullscreen in the end (my integrated video card is doing alot of problems about the games) but I found out the xmame -ef 1 option. That one rules.END—–