An arcade cabinet is not a living-room PC: no keyboard, no mouse, often no regular gamepad, and users who must be able to play without ever falling into a system menu. This page gathers everything Recalbox 10.1 offers for that kind of build — bartop, upright, cocktail or kit — from the controls to locking down the menus.
Looking to understand arcade emulation itself (romsets, BIOS, CHD)? See Arcade in Recalbox.
This is the most structuring decision of a cabinet project. Recalbox 10.1 handles four main families of arcade controls.
A USB encoder (Zero Delay, Xin-Mo, Ultimarc I-PAC…) connects the joysticks and buttons of your panel to a USB port. Recalbox sees it as an ordinary USB gamepad: nothing special to install, just configure it like any other controller in START → CONTROLLER SETTINGS → CONFIGURE A CONTROLLER.
This is the recommended solution if you are starting from scratch: it works on every machine supported by Recalbox (Raspberry Pi as well as PC).
Remember to wire a dedicated
HOTKEYbutton (often anADMINbutton on the side of the cabinet): without it, there is no way to quit a game or open the in-game menu. See special commands.
On a Raspberry Pi you can wire joysticks and buttons directly to the GPIO pins, with no encoder at all. Recalbox then loads a driver that creates two gamepads seen by the system.
In recalbox.conf:
controllers.gpio.enabled=1
controllers.gpio.args=map=1,2
map=1 creates a single gamepad, map=1,2 creates two (player 1 and player 2);map=5 (or map=5,6) lets you pick each pin yourself by adding a gpio= list — the numbers to use are GPIO numbers (BCM numbering), not connector pin numbers.Example of a custom two-player wiring:
controllers.gpio.args=map=5,6 gpio=4,17,27,22,10,9,25,24,23,18,15,14,2 gpio2=11,5,6,13,19,26,21,20,16,12,7,8,3
The pin order is always: Y-, Y+, X-, X+, start, select, a, b, tr, y, x, tl, hk. A value of -1 disables the matching input.
X-Arcade Tankstick panels and compatible devices are supported natively, and the option is enabled by default:
controllers.xarcade.enabled=1
If you are restoring an original arcade cabinet, there is no need to rewire anything: Recalbox speaks the industry standards.
START → RECALBOX RGB JAMMA SETTINGS, with PANEL TYPE (number of buttons on your panel), NEOGEO/PGM LAYOUT P1 and P2, 4 PLAYERS MODE, DUAL JOYSTICKS, START+BTN1 = CREDIT, START+BTN = HK+BTN (to get the special commands back without a hotkey button), START+UP/DOWN = VOLUME, START 3SEC = EXIT and PIN E/27 AS GND for cabinets whose control ground runs through pins E/27.RECALBOX JVS SETTINGS menu appears when the hardware is detected, with the cabinet type (CAB TYPE: joystick, driving, gun…), the number of players wired on the panel, the link mode for two I/O boards in 4-player setups, and the same START + button shortcuts as JAMMA.On a JAMMA or JVS cabinet there is no
SELECTand noHOTKEYbutton: theSTART+BTN1 = CREDITandSTART+BTN = HK+BTNoptions take their place. Turn them on before closing the cabinet.
Some games (home computers, ports, management games) expect keyboard keys. The Pad To Keyboard module translates your panel actions into key presses: essential on a cabinet where no keyboard is plugged in.
| Cabinet screen | What you need |
|---|---|
| 15 kHz / 31 kHz arcade CRT (JAMMA) | Recalbox RGB JAMMA 2 board — video, sound and controls on the same connector |
| CRT (TV, RGB monitor, SCART) | Recalbox RGB DUAL 2 board on Raspberry Pi, menu ADVANCED SETTINGS → RECALBOX RGB DUAL 2 SETTINGS |
| VGA screen | An active HDMI → VGA converter (passive adapters do not work) |
| DVI screen | A passive HDMI → DVI adapter |
| Modern LCD panel | Straight HDMI — nothing to configure |
On a non-standard screen, resolution is set in START → ADVANCED SETTINGS → RESOLUTIONS (global resolution, frontend resolution, and per-system resolution).
For a vertical cabinet (portrait screen, "TATE" games), everything is in START → TATE SETTINGS.
A cabinet usually has a single audio output, rarely the one picked by default.
START → SOUND SETTINGS → AUDIO OUTPUT.recalbox.conf, the audio.device key accepts the ALSA device name, for example audio.device=alsa_card.1:hdmi-output-0 to force HDMI. Also set the boot volume with audio.volume (0 to 100) — on a cabinet, the default 100 is rarely a good idea.On the RGB JAMMA 2 board, output and gain are set directly in the RECALBOX RGB JAMMA SETTINGS menu (SOUND, MONO AMP BOOST).
This is what separates a cabinet from a console: nobody should be able to break the machine by accident.
In recalbox.conf:
emulationstation.menu=bartop
| Value | Effect |
|---|---|
default |
All menus (default value) |
bartop |
Menu reduced to the bare minimum — system, network, controller, scraper and advanced settings disappear |
none |
No menu at all: START, SELECT and search (Y) all stay inert |
system.emulators.specialkeys=nomenu
| Value | Effect |
|---|---|
default |
All in-game special commands (default value) |
nomenu |
The emulator (RetroArch) menu is no longer reachable, everything else still works |
none |
No special commands at all, except the quit-game combination |
The media player has no place on a cabinet — and it takes up the X button:
kodi.enabled=0
(Equivalent in the interface: START → ADVANCED SETTINGS → KODI MEDIA CENTER → ENABLE KODI. To disable only the X button shortcut while keeping Kodi available, use kodi.xbutton=0.)
Still in recalbox.conf, or through START → ADVANCED SETTINGS → BOOT SETTINGS:
emulationstation.selectedsystem=mame
emulationstation.bootongamelist=1
emulationstation.hidesystemview=1
selectedsystem: the system shown at boot (rom folder name — mame, fbneo, favorites…);bootongamelist=1: boots straight onto the gamelist instead of the system list;hidesystemview=1: hides the system list entirely — the cabinet shows a single system and there is no way out of it.The BOOT SETTINGS menu also offers ALLOW BOOT ON GAME, which launches a specific game at power-on. If no configured controller is detected at boot, Recalbox ignores that setting and displays the system list instead: you can never end up stuck on an unplayable game.
Finally, to group all your arcade games (MAME, FinalBurn Neo, Neo-Geo…) into a single system, enable the Arcade virtual system.
START → USER INTERFACE SETTINGS → THEME, or the theme manager in the main menu.The Recalbox shop offers a cabinet to assemble and its electronics:
Need help with your cabinet project? Join the Recalbox Discord.