How batocera-linux/batocera.linux works
Batocera Linux is a retro-gaming distribution that turns a computer or small device into a gaming console. The main runtime path is selecting a game and launching it through emulator-specific configuration and controller setup; the tree also shows system-management utilities and a bezel-overlay application. The README documents broad emulator support, but does not describe internal launch wiring. Arrows are limited to relationships supported by the excerpts or SOURCE INDEX; unverified workflow links are dashed.
Main entry points: emulator.py Libretro launcher · dataclasses.py Shared data types · main.py Launch CLI · registry.py System registry
Components 24
Game launch
- Launch CLI
python-src/batocera-launch/batocera_launch/cli/main.py - CLI arguments
python-src/batocera-launch/batocera_launch/cli/arguments.py - Emulator launchers
python-src/batocera-launch/batocera_launch/emulators - Libretro launcher
python-src/batocera-launch-libretro/batocera_launch_libretro/emulator.py - Core selection
python-src/batocera-launch-libretro/batocera_launch_libretro/core.py - Core loading
python-src/batocera-launch-libretro/batocera_launch_libretro/load.py - Linux-loader config
python-src/batocera-launch-linuxloader/batocera_launch_linuxloader/config.py
Shared launch services
- Launch configuration
python-src/batocera-launch/batocera_launch/config/config.py - Launch paths
python-src/batocera-launch/batocera_launch/paths.py - Runtime paths
python-src/python-batocera-common/batocera_common/paths.py - Shared data types
python-src/python-batocera-common/batocera_common/dataclasses.py - Config parser
python-src/python-batocera-common/batocera_common/configparser.py - Launch async
python-src/batocera-launch/batocera_launch/asyncio.py
Input mapping
- Dolphin controls
python-src/batocera-launch-dolphin/batocera_launch_dolphin/controllers.py - MAME controls
python-src/batocera-launch-mame/batocera_launch_mame/controllers.py - Libretro MAME controls
python-src/batocera-launch-libretro-mame/batocera_launch_libretro_mame/controllers.py - Linux-loader controls
python-src/batocera-launch-linuxloader/batocera_launch_linuxloader/controllers.py
System applications
- Hotkey daemon
package/batocera/utils/hotkeygen/hotkeygen/daemon.py - Hotkey types
package/batocera/utils/hotkeygen/hotkeygen/_types.py - Hotkey D-Bus types
package/batocera/utils/hotkeygen/hotkeygen/dbus/common.py - Bezel overlay app
python-src/batocera-bezel-overlay/batocera_bezel_overlay/app.py - Overlay rendering
python-src/batocera-bezel-overlay/batocera_bezel_overlay/overlay.py - System registry
python-src/batocera-es-system/batocera_es_system/registry.py
Other components
- Player
Connections 16
- Player → Launch CLI: starts game
- Launch CLI → CLI arguments: parses
python-src/batocera-launch/batocera_launch/cli/main.py - Launch CLI → Emulator launchers: dispatches
- Libretro launcher → Core selection: selects core
python-src/batocera-launch-libretro/batocera_launch_libretro/emulator.py - Libretro launcher → Core loading: loads core
python-src/batocera-launch-libretro/batocera_launch_libretro/emulator.py - Libretro launcher → Launch paths: uses paths
python-src/batocera-launch-libretro/batocera_launch_libretro/emulator.py - Libretro launcher → Runtime paths: uses paths
python-src/batocera-launch-libretro/batocera_launch_libretro/emulator.py - Libretro launcher → Shared data types: uses types
python-src/batocera-launch-libretro/batocera_launch_libretro/emulator.py - Linux-loader controls → Linux-loader config: configures
python-src/batocera-launch-linuxloader/batocera_launch_linuxloader/controllers.py - Dolphin controls → Shared data types: uses types
python-src/batocera-launch-dolphin/batocera_launch_dolphin/controllers.py - MAME controls → Shared data types: uses types
python-src/batocera-launch-mame/batocera_launch_mame/controllers.py - Libretro MAME controls → Shared data types: uses types
python-src/batocera-launch-libretro-mame/batocera_launch_libretro_mame/controllers.py - Hotkey daemon → Hotkey types: uses types
- Bezel overlay app → Overlay rendering: creates overlay
python-src/batocera-bezel-overlay/batocera_bezel_overlay/app.py - System registry → Shared data types: uses types
python-src/batocera-es-system/batocera_es_system/registry.py - System registry → Config parser: uses parser