Ubuntu 13.04 onwards:
The default path for user roms changed in MAME v0.147 to
~/mame/roms, while settings are still at
~/.mame, so before changing any ini files, please first try putting a known-to-work ROM zip there and test it.
When you run
mame for the first time,
~/mame or its
roms subfolder may not be automatically created. So do this:
mkdir -p ~/mame/roms
Personally, instead of cluttering my top-level home dir and my small HOME partition with MAME and large ROMS, I usually choose to symlink it to my data partition ROMs folder:
ln -s /path/to/your/roms ~/mame/roms
You can also edit
~/.mame/mame.ini (note the leading dot, it's a hidden dir!) and set the location of all MAME-related data paths, or edit the global config
/etc/mame/mame.ini for all users, including changing the default top level data path
~/mame or the settings path
~/.mame to other paths.
Also it's worth noting that you don't need all those packages to install MAME.
sdlmame* was a dummy transitional package and was removed in recent Ubuntu releases,
mame-tools is not needed to run games, and
gnome-video-arcade is just a GUI (that you're not using, considering you're starting MAME in the terminal). So
mame is the only package you really need.
Note for previous Ubuntu releases:
The user paths for MAME-related dirs were changed in recent Ubuntu releases. For older releases such as 12.04, both settings and data (like ROMs) are inside the hidden
After a lot of digging and researching, I've found out when and where such changes were made: the
.ini location and default user paths are not an upstream setting, so it's not the MAME developers that set it, but rather configured by each distro.
It was changed in Debian, and later incorporated in Ubuntu, starting in MAME v0.146-5 and finished in v0.147-1.
From the Debian Changelog:
mame (0.146-5) unstable; urgency=low
[ Cesare Falco ]
* Replace -march with -mtune=generic gcc flag for compatibility issues
with older CPUs (LP: #1063993)
[ Emmanuel Kasper ]
* Add support for parallel building using DEB_BUILD_OPTIONS
* Reorganize default paths:
$HOME/.mame for ini file and output files
$HOME/mame for data search paths
-- Emmanuel Kasper Tue, 13 Nov 2012 22:54:27 +0100
mame (0.146-4) unstable; urgency=low
The relevant commits for such changes were