Armanager works in Debian GNU/Linux. Supported releases are Debian 13 (trixie) and Debian 12 (bookworm).
It runs on a normal PC (64-bit, amd64) and also on a 32-bit ARM board (armhf): an Orange Pi, a Banana Pi or anything with an Allwinner or similar chip, as long as it has Debian 12 or a system based on it, such as Armbian. The ARM packages are built for Debian 12 only, so on a board use the bookworm line below. The commands are the same either way: apt picks the right one for your machine.
There are two ways: adding the repository, which is the one to use on the cabinet because updates then arrive on their own, or downloading the packages and installing them by hand, if you would rather not add a third-party repository to your system.
First add the repository key. Since Debian 12 the key is not added with apt-key (it was removed in Debian 13), but saved as a keyring file:
wget -qO- http://www.gamerki.com/debian/gamerki_apt.key | gpg --dearmor | sudo tee /usr/share/keyrings/gamerki.gpg > /dev/null
Then add the repository, using the line for your Debian release:
echo 'deb [signed-by=/usr/share/keyrings/gamerki.gpg] http://www.gamerki.com/debian trixie main non-free' | sudo tee /etc/apt/sources.list.d/gamerki.list
For Debian 12 (bookworm) replace trixie with bookworm.
The non-free part at the end is optional. Everything armanager needs is in main and is free software. non-free only adds two extra emulators whose licence forbids selling them or using them in a commercial activity: see below. Leave the word out and the repository works exactly the same, minus those two.
Update apt:
sudo apt update
Install:
sudo apt install armanager
This pulls the arcade menu (advancemenu) and MAME as well: the emulators and tools that Debian already ships are taken from Debian, and this repository only provides what Debian does not package.
The other emulators and players are optional and can be installed later from the machine itself, in Admin software → Additional software (mednafen, RetroArch and its cores, py3karaoke, mplayer). py3karaoke also brings karbeat, a rhythm game that plays the drums or the melody of any KAR file with the cabinet buttons.
The repository also carries mame172, MAME 0.172 built for arcade boards only. It is optional and nothing pulls it in.
0.172 (March 2016) is the first MAME release under a free licence, GPL-2 or later, so unlike AdvanceMAME it can live in main. It is here for machines that current MAME asks too much of, such as a 32-bit ARM board: the arcade-only build is 78 MB installed on armhf and knows a little over 30,000 machines.
It does not replace the mame package from Debian — both can be installed at the same time. The command is mame172, the configuration lives in /etc/mame172 and the data in /usr/share/games/mame172.
Two things to know before installing it. It needs a 0.172 ROM set: sets for a current MAME will not work, so the two versions do not share a games folder either. And armanager does not offer it yet — it looks for the mame command — so for now it is run by hand.
sudo apt install mame172
The complete source it was built from, together with the patches and the scripts that control the build, is at mame172_0.172.source.tar.xz (SHA256SUMS), as the GPL requires.
Two arcade emulators are kept apart, in a component called non-free, because their licence forbids selling them and forbids using them in a commercial product or activity. That is also why Debian does not ship them. They are not needed by armanager and nothing installs them on its own; they are there for whoever wants them and can accept that condition.
The full licence of each one is installed with the package, in /usr/share/doc/<package>/copyright. Note that advancemenu, the arcade menu, is not affected: it comes from the same source tree as AdvanceMAME but contains none of the emulator, is GPL-2+, and lives in main.
The packages can also be downloaded and installed one by one. You need two of them, because armanager needs the arcade menu and Debian does not package it:
Debian 13 (trixie):
advancemenu_5.0+trixie+b1_amd64.deb
armanager_0.73.0~rc36+deb13_amd64.deb
py3karaoke_0.7.5+py3-24_all.deb (optional)
Debian 12 (bookworm):
advancemenu_5.0+bookworm+b1_amd64.deb
armanager_0.73.0~rc36+deb12_amd64.deb
py3karaoke_0.7.5+py3-24_all.deb (optional)
Debian 12 (bookworm) on a 32-bit ARM board:
advancemenu_5.0+bookworm_armhf.deb
armanager_0.73.0~rc36+deb12_armhf.deb
py3karaoke_0.7.5+py3-24_all.deb (optional)
To find out which one your machine needs, run dpkg --print-architecture.
Install both in the same command, so that apt can pull the dependencies from Debian in one go:
sudo apt install ./advancemenu_5.0+trixie+b1_amd64.deb ./armanager_0.73.0~rc36+deb13_amd64.deb
Use apt and not dpkg -i: dpkg does not install dependencies, and armanager needs MAME and a handful of tools from Debian. Installing armanager on its own does not work either, it stops saying that advancemenu cannot be found.
The advancemenu package is not the same for the two Debian releases even though the version looks alike: each one is compiled with the libraries of its own release, so take the one that matches your system. py3karaoke, if you want the karaoke and karbeat, is a third package and works on both.
py3karaoke plays MIDI and KAR files with timidity, which carries no sounds of its own, so a soundfont is installed with it: fluid-soundfont-gm, which is 145 MB and the one that sounds best. If your machine is short of disk space, install the much smaller freepats first and apt will leave the big one alone.
Done this way there are no automatic updates: a new version means downloading it again.
Run:
arcade_menu
How to run it at startup depends on the desktop environment you are using. You must run qjoypad --update and qjoypad menu, and then runini.sh in a terminal app:
xterm -hold -maximized -fullscreen -e runini.sh
LXDE desktop. File $HOME/.config/lxsession/LXDE/autostart, content:
@qjoypad --update
@lxpanel --profile LXDE
@pcmanfm --desktop --profile LXDE
#@xscreensaver -no-splash
@qjoypad menu
@xterm -hold -maximized -fullscreen -e runini.sh