Linux and Retro Distros · Volume 7

Where It Runs — The Per-System and Per-Game Table for Linux

Every system with a gun-capable emulator on Linux, by platform (Batocera on a PC, a Pi 5 and a Pi 4, and upstream desktop Linux), with multi-gun and game-driven recoil, followed by the per-game notes that decide whether a given title actually plays

7.1 How to read the table

This volume gathers the dive’s findings into one place. Its sources are three, and each column says which it rests on:

  • Batocera’s own table of light-gun support by system and emulator, with the release that added it, crosshair support and multi-gun support (wiki, Light gun guide, “Emulator support”). It is the most complete public record for Linux, and it is maintained by the people who wrote the support. It is about Batocera; the same emulator outside Batocera may behave differently, for the reasons in Volume 1, section 1.4.
  • Batocera’s build configuration on its master branch (20 October 2026), for which emulator exists on which board (Volume 4, section 4.1).
  • The upstream emulators’ sources and the QMamehook README, for desktop Linux without Batocera’s patches and for game-driven recoil (Volumes 1, 2 and 6).

None of it has been tried with the project’s gun yet. The “test first” list in 7.5 is ordered to turn the most of this table into measured fact for the least time.

7.2 The matrix

Figure 1 — Where an OpenFIRE gun runs on Linux, by emulator and platform. Green: two or more guns; blue: one gun; yellow: two guns in a single game only; red: not available, or for recoil, no output to drive …
Figure 1 — Where an OpenFIRE gun runs on Linux, by emulator and platform. Green: two or more guns; blue: one gun; yellow: two guns in a single game only; red: not available, or for recoil, no output to drive it; grey: undocumented or untested (standalone Flycast's recoil is grey because its outputs are unnamed bits). Own-work chart.

The same information in full, with the Batocera version that added gun support and the notes from its table:

Table 1 — The same information in full, with the Batocera version that added gun support and the notes from its table

SystemEmulatorBatocera sinceMulti-gun (Batocera)x86-64Pi 5Pi 4Upstream desktop LinuxGame-driven recoil on Linux
ArcadeMAME (standalone)v35YesYesYesYesTwo guns with the x11 provider on X11; one with sdlYes (output network)
ArcadeMAME core (current)v40YesYesYesYesYes (RetroArch udev); set mame_lightgun_modeYes (mame.ini)
ArcadeMAME 2003-Plus corev35YesYesYesYesYes (udev)Not documented
ArcadeFBNeo corev35YesYesYesYesYes (udev)Not documented
ArcadeMAME 2010 core—No gun support
Atomiswave, NAOMIFlycast corev35YesYesYesYesYes (udev)No (issue #1189)
Atomiswave, NAOMIFlycast (standalone)v35 (NAOMI), v43 (Atomiswave)“multiplayer unsupported for now”YesYesYesOne gun (SDL pointer)Raw, unnamed output bits (Broadcast Digital Outputs); recoil bit per game, untested
DreamcastFlycast corev35YesYesYesYesYes (udev)No (console)
DreamcastFlycast (standalone) / Redreamv35NoYesYesYesOne gunNo (console)
Model 2model2emu (Wine), SM2-Emu from v44v37”Multiplayer unsupported for now”Yesv44NoNoNot documented
Model 3Supermodelv37Yes (from v37)YesYesv43 onlyOne gun (multi-mouse is Windows Raw Input)No — lamps only, no gun recoil output
Sega LindberghLindbergh loaderv42 (crosshair v43)YesYesNoNoNot documentedNot documented
Namco System 246/256Play! (v43) / PCSX2X6 (master)v43”One light gun only”YesNoNoNoNot documented
NESFCEUmm, Nestopia (Mesen: no crosshair)v35(one Zapper)YesYesYesYes (udev)No (console)
Master SystemGenesis Plus GXv352P only with Gangster TownYesYesYesSameNo (console)
Mega DriveGenesis Plus GXv35NoYesYesYesSameNo (console)
Mega-CDGenesis Plus GX (PicoDrive: no)v35—YesYesYesSameNo (console)
SNESSnes9x (Snes9x Next: no; Mesen-S, bsnes: no Justifier)v352P only with Lethal EnforcersYesYesYesSameNo (console)
SaturnBeetle Saturn (Kronos: no)v35YesYesYesNoYes (udev)No (console)
3DOOperav35”Multiplayer unsupported for now”YesYesYesSameNo (console)
PlayStationDuckStationv40YesYesYesYesOne gun (no Linux per-mouse source)No (console)
PlayStationPCSX ReARMed corev35YesYesYesYesYes (udev)No (console)
PlayStationSwanStation corev35NoYesYesYesSameNo (console)
PlayStationBeetle PSX corev35No; “Only works with software renderer”YesYesNoSameNo (console)
PlayStation 2PCSX2v37YesYesNoNoOne gun (MAX_POINTER_DEVICES = 1)No (console)
PlayStation 3RPCS3v36Yes; “PS Move emulation is very early”YesNoNoNot testedNo (console)
WiiDolphin; Dolphin core (v43)v36YesYesYesNoNot testedNo (console)
LaserdiscHypseus Singev36YesYesYesYesNot tested—
Commodore 64VICEv35Yes (standalone)YesYesYesNot testedNo
Atari 2600Stella corev35Yes (no crosshair)YesYesYesSameNo
Amstrad CPC, GX4000Caprice32 corev37 “not out of the box”—YesYesYesSameNo
Steam (PC games)Steamv35NoYes————
Windows gamesWine/Lutris”Untested”NoYes———Via DemulShooter in Wine only
XboxxemuNo gun support (Chihiro fork with guns from v44)

“Same” in the upstream column means the RetroArch core is the same outside Batocera and gets the same gun support through RetroArch’s udev input driver (Volume 2). The Pi columns follow Batocera’s build rules; for the cores marked “Yes” on a Pi, Batocera builds them, which is not a promise that every game runs at full speed.

7.3 System by system

The points the table cannot carry, from the same sources:

  • Arcade (MAME). The largest library and the only one with working game-driven recoil on Linux. Batocera’s wiki: “The current accuracy is not perfectly 1:1, caused by a fake and forced 4:3 ratio” in its MAME set-up. Batocera pre-calibrates over a hundred MAME files on first launch (Volume 3, section 3.6). Off-screen reload, for games that need “point away and pull”, comes from MAME’s offscreenreload plugin or the gun’s off-screen button mode (Volume 2, section 2.6).
  • NAOMI and Atomiswave. The core gives two guns and no outputs on Linux; the standalone emulator gives one gun and the board’s raw output bits, which can carry a per-shot kick once the right bit is found for the game (Volume 6, section 6.2). Choose per game: House of the Dead 2 two-player wants the core; a single player who wants per-shot kick can try the standalone.
  • Model 2 and Model 3. The home of Virtua Cop, House of the Dead and The Lost World. A PC or, from Batocera v44, a Pi 5; not a Pi 4. Batocera’s wiki: “Model2emu crosshair does not follow where the light gun is actually pointing. Keep it disabled to best accuracy.”
  • PlayStation. From Batocera v39 “all gun games are compatible with both Justifier and GunCon light gun controller type in PCSX-reARMed core”; “If a GunCon conversion patch was applied to the ROM, you will need to force GunCon controller type”; “Area 51 has no known working patch” (as a GunCon conversion — the game itself runs as a Justifier title).
  • SNES. “The Justifier controller type does not work in libretro: mesen-s and libretro: bsnes, rendering Lethal Enforcers unplayable with these cores.” Use Snes9x.
  • Saturn and 3DO. “In-game recalibration is required, located in the game menu options. This is different per-game. This only needs to be done once.”
  • Commodore 64. Tape releases often carried a joystick version on one side and the light-gun version on the other; “the light gun version of the game is needed”.
  • PlayStation 2 and Namco System 246/256. PC only. Batocera’s PCSX2 gets two guns through its own patch; upstream PCSX2 on Linux gets one.
  • Wii. Batocera maps a light gun onto the emulated Wii Remote’s pointer, with per-game geometry in its game database; since v39, “Wii gun games now 100% playable with light guns (based on 5 buttons mapping)“.

7.4 Per-game notes

Batocera keeps a per-game test list, “mainly tested on x86_64 and rpi4 architectures with default settings (except for MAME)”. The notes below are the ones that change what a player has to do; everything not listed is marked as working without comment in that list. Quoted text is Batocera’s.

Table 2 — 7.4 Per-game notes

SystemGameNote
MAMEJurassic Park”Broken accuracy in MAME, use FBNeo version” (Batocera v43 fixed MAME input in jpark, opwolf3 and policetr)
MAMETime CrisisWorks with the 0.258 ROM set, not the 0.78+ set; “Flash removal possible with cheats.zip”
MAMETime Crisis II”0.272+ required”
MAMEGolgo 13 Juusei no Requiem”0.256+ required. Trigger/secondary are inversed.”
MAMEPoint Blank 3”0.256+ required”
MAMECarnEvil, Line of Fire”Calibration required for older ROMset”
MAMELucky & Wild”Wheel (acceleration, turning) need to be mapped.”
MAMETriple Hunt”Change game in dipswitch”
FBNeoBronx”Axis and screen are inverted”
FBNeoGolly! Ghost!, Bubble Trouble”Not loading”
FBNeoMobile Suit Gundam Final Shootingdip switch for control must be set to “Light gun”
NAOMIHouse of the Dead 2”Secondary trigger can reload”
NAOMIManic Panic Ghosts!”No light gun input”
Namco 246Time Crisis 3”Calibrate gun in service menu first”
Model 2Behind Enemy LinesPre-calibrated from v36
Model 3Star Wars Trilogy ArcadePre-calibrated from v36
NESSpace Shadow”Only works with mesen core”
NESSuper Russian Roulette (homebrew)“Mapper 413 is missing from emulators”
NESChiller”2 players light guns not supported yet”
Master SystemLaser Ghost”Press A (south button) on second controller until you can’t, then shoot”
SNESM.A.C.S. Basic Rifle MarksmanshipChange controller type to the M.A.C.S. rifle
3DOShootout at Old TucsonForce the light-gun setting, load the arcade BIOS, calibrate in the service menu
PlayStationMoorhuhn 2, Moorhuhn X”Poor aiming”
PlayStationGunfighter: The Legend of Jesse James, PolicenautsGunCon on port 2
PlayStation 2Cocoto Funfair”GunCon only, not emulated yet in PCSX2”
PlayStation 2Time Crisis: Crisis Zone”Enable the texture hack to remove the white fog”
PlayStation 2Virtua Cop: Elite Edition”Skip the calibration screen by shooting offscreen”
PlayStation 3Time Crisis 4”GunCon3 only.”
PlayStation 3House of the Dead: Overkill”Calibration not working, no aim”
PlayStation 3Heavy Fire series, The Shoot”Broken calibration”
PlayStation 3Mad Dog McCree, Mad Dog II, The Last Bounty Hunter”Can’t reload”
PlayStation 3Time Crisis: Razing StormShoot a bit beyond the targets to calibrate; enable “Write Colors Buffer”; frame limit 30 for Time Crisis 4
WiiMedal of Honor: Heroes 2”Nunchuk required (Arcade mode)”

Counted from that list on 20 October 2026: about 92 MAME and 39 FBNeo titles, 16 laserdisc, 6 Model 2, 4 Model 3, 7 NAOMI, 5 Atomiswave, 4 Namco 246/256, 35 NES, 11 Master System, 6 Mega Drive, 14 SNES, 8 Mega-CD, 11 3DO, 33 PlayStation, 15 Saturn, 7 Dreamcast, 39 Wii, 11 PlayStation 2 and 19 PlayStation 3 entries, a few of them games with only a light-gun mini-game. Batocera’s game database flags 791 game entries as gun games across all systems (Volume 3, section 3.5).

The PlayStation 3 column is the weakest on Linux: many titles there need the motion-controller “shake” for reload or calibrate badly, because RPCS3 emulates a PlayStation Move from the gun, and Batocera calls that emulation “very early”.

7.5 What to test first with the project’s gun

The table is mostly read from documents. A short bench programme converts the parts that matter most for this project into measured results, in this order:

  1. Batocera on the lab’s x86-64 PC, one gun, preset P1. Is it recognised (OpenFIRE light gun P1 present), and does the D-pad work (Volume 3, section 3.3)? One MAME game, one PlayStation game (DuckStation), one NAOMI game (Flycast core).
  2. Second gun, preset P2. Two-player House of the Dead 2 (Flycast core) and a two-player MAME game.
  3. Desktop Linux, RetroArch udev and QMamehook. A MAME gun game with output network: the first game-driven kick on Linux (Volume 6).
  4. Pi 5 with Batocera. Repeat 1 and 2; then the latency rig from Volume 2, section 2.7 with run-ahead 0 and 1.
  5. Steam Deck Game Mode. The cursor test from Volume 5, section 5.2.

7.6 What could not be verified

  • None of the table has been tried with the project’s gun.
  • Whether the MAME 2003-Plus and FBNeo cores publish outputs a Linux hook can read: neither the cores’ documentation nor QMamehook’s README says.
  • Upstream (non-Batocera) Dolphin, RPCS3, Hypseus Singe and VICE with an absolute-mouse gun on Linux.
  • The Batocera multi-gun column for NES (the table leaves it blank); NES Zapper games are single-gun on the original console except where a game supports two.

Sources

  1. Batocera wiki, Light gun guide (Emulator support, Per-emulator notes), wiki.batocera.org/emulators:lightgun_games (raw export) — read 2026-10-20.
  2. Batocera wiki, Tested games with light gun support, wiki.batocera.org/emulators:light_gun_game_spreadsheet (raw export) — read 2026-10-20.
  3. Batocera, package/batocera/core/batocera-system/Config.in, commit c2cb58a39, and batocera-Changelog.md — read 2026-10-20.
  4. batocera-linux/batocera-emulationstation, resources/gamesdb.xml — read 2026-10-20.
  5. Upstream sources as cited in Volumes 1, 2 and 6 (MAME, RetroArch, Flycast, DuckStation, PCSX2, Supermodel, libretro/mame core options); QMamehook README; libretro/flycast issue #1189 — read 2026-10-20.

Comments (0)

  1. Loading…

Comments are held for moderation — nothing appears until approved.