Arcade-Feeling im Homelab: Batocera auf dem Raspberry Pi 4
Moin, liebe Admins und Homelab-Enthusiasten!
Heute tauchen wir mal in ein Thema ein, das vielen von uns ein Grinsen ins Gesicht zaubern dürfte: Retro-Gaming. Speziell geht es um die Frage, ob man mit einem Arcade-Automaten für rund 350 Euro, der mit einem Raspberry Pi und Batocera läuft, wirklich glücklich werden kann. Die c't hat sich das angesehen, und meine eigene Erfahrung sagt: Ja, das kann man! Aber wie immer im Homelab-Bereich, liegt der Teufel im Detail, und ein bisschen Hand anlegen muss man schon. Ich hab selbst schon mehrere solcher Setups in meinem Lab gehabt und weiß, wo die Fallstricke lauern.
Dieses Guide soll dir helfen, dein eigenes Arcade-Projekt mit Batocera auf einem Raspberry Pi 4 erfolgreich umzusetzen. Wir reden hier nicht nur über das Flashen einer SD-Karte, sondern auch über die Feinheiten, die ein wirklich rundes Gaming-Erlebnis ausmachen. Lass uns loslegen!
Warum Batocera und Raspberry Pi 4?
Batocera ist ein Linux-basiertes Betriebssystem, das speziell für Retro-Gaming entwickelt wurde. Es bringt Emulatoren für unzählige Systeme mit – von den alten Arcade-Klassikern über NES, SNES, Sega Mega Drive bis hin zu neueren Konsolen wie PlayStation 1 oder Nintendo 64. Der große Vorteil: Es ist extrem benutzerfreundlich, quasi Plug-and-Play, und die Performance auf einem Raspberry Pi 4 ist für die meisten dieser Systeme erstaunlich gut. Der Pi 4 bietet genug Power, um selbst anspruchsvollere PS1- oder N64-Titel flüssig darzustellen, was mit älteren Pis oft ein Problem war.
In meiner Erfahrung ist Batocera die erste Wahl, wenn du ein dediziertes Retro-Gaming-System aufbauen willst, ohne dich tief in die Konfiguration einzelner Emulatoren einarbeiten zu müssen. Es ist ideal für ein Standalone-Gerät, wie eben einen Arcade-Automaten.
Voraussetzungen: Was du für dein Arcade-Projekt brauchst
Bevor wir uns in die Konfiguration stürzen, lass uns kurz klären, was du alles benötigst. Wer das zum ersten Mal einrichtet, stolpert oft über Kleinigkeiten, die dann den Start verzögern. Mein Tipp: Besorg dir alles, bevor du anfängst.
Hardware
- Raspberry Pi 4: Mindestens 2 GB RAM, besser 4 GB oder 8 GB, wenn du auch anspruchsvollere Systeme emulieren oder das System als Fileserver nutzen willst. Für reines Gaming reichen 2 GB oft aus.
- MicroSD-Karte: Eine schnelle Karte ist hier Gold wert. Ich empfehle mindestens 32 GB, besser 64 GB oder 128 GB (Class 10, U1 oder U3). Marken wie SanDisk Extreme oder Samsung EVO Plus sind meine Favoriten. Die Lese- und Schreibleistung hat einen großen Einfluss auf Ladezeiten und Systemperformance.
- Netzteil: Offizielles Raspberry Pi 4 USB-C-Netzteil (5.1V, 3A) oder ein hochwertiges Äquivalent. Unterdimensionierte Netzteile führen zu Instabilität und unerklärlichen Abstürzen. Das ist ein Klassiker!
- HDMI-Kabel: Zum Anschluss an einen Monitor oder Fernseher für die Ersteinrichtung. Dein Arcade-Automat hat ja hoffentlich schon einen Bildschirm integriert.
- USB-Tastatur und -Maus: Für die Ersteinrichtung und eventuelle Problembehebung unerlässlich.
- Game-Controller: USB-Gamepad(s) oder Arcade-Sticks. Batocera unterstützt eine riesige Auswahl. Ich persönlich nutze gerne Xbox One Controller oder klassische USB-Arcade-Sticks.
- Optional: Gehäuse und Kühlung: Ein Pi 4 wird unter Last warm. Ein gutes Gehäuse mit passivem oder aktivem Lüfter ist ratsam, um Throttling zu vermeiden.
- Optional: USB-Stick oder externe Festplatte: Für die ROMs, falls die SD-Karte zu klein wird oder du die ROMs flexibel halten möchtest.
Software
- Batocera Image: Die neueste stabile Version für Raspberry Pi 4 von der offiziellen Batocera-Website.
- Image-Schreibprogramm: BalenaEtcher (plattformübergreifend) oder Rufus (Windows). Ich nutze am liebsten BalenaEtcher, weil es so idiotensicher ist.
- Netzwerkzugang: Eine stabile Internetverbindung für Downloads und Updates.
- Optional: SSH-Client: PuTTY (Windows) oder der native SSH-Client (Linux/macOS) für erweiterte Konfigurationen.
Kenntnisse
Ein grundlegendes Verständnis von Linux-Dateisystemen und Kommandozeilenbefehlen ist hilfreich, aber nicht zwingend notwendig. Batocera ist sehr GUI-zentriert. Aber hey, wir sind hier auf smoth.me, also gehe ich davon aus, dass du keine Angst vor der Shell hast!
Schritt-für-Schritt-Anleitung: Dein Arcade-System zum Leben erwecken
Jetzt wird's ernst! Folge diesen Schritten, um Batocera auf deinem Raspberry Pi 4 einzurichten.
1. Batocera Image herunterladen
Besuche die offizielle Batocera-Website (batocera.org/download) und lade das Image für den Raspberry Pi 4 herunter. Achte darauf, die korrekte Version zu wählen. Die Datei wird als `.img.gz` oder `.zip` vorliegen.
2. SD-Karte vorbereiten
Das heruntergeladene Image muss auf die MicroSD-Karte geschrieben werden. Dieser Vorgang löscht alle vorhandenen Daten auf der Karte. Wichtig zu wissen: Wähle das richtige Laufwerk aus, sonst überschreibst du versehentlich deine Festplatte!
Mit BalenaEtcher ist das ein Kinderspiel:
- Starte BalenaEtcher.
- Klicke auf "Flash from file" und wähle das heruntergeladene Batocera-Image aus.
- Klicke auf "Select target" und wähle deine MicroSD-Karte aus.
- Klicke auf "Flash!".
Der Vorgang kann je nach Größe und Geschwindigkeit der SD-Karte einige Minuten dauern. Nach erfolgreichem Flashen kannst du die SD-Karte aus deinem Rechner entfernen.
3. Erster Boot und grundlegende Konfiguration
Stecke die vorbereitete SD-Karte in deinen Raspberry Pi 4, schließe Tastatur, Maus, HDMI-Kabel und einen Game-Controller an. Verbinde dann das Netzteil. Der Pi sollte nun booten. Der erste Boot dauert etwas länger, da Batocera das Dateisystem auf der SD-Karte anpasst und den Speicherbereich erweitert.
Du solltest das Batocera-Bootlogo und anschließend die EmulationStation-Oberfläche sehen. Navigiere mit deiner Tastatur oder dem angeschlossenen Controller (den du eventuell einmalig zuweisen musst) durch das Menü.
4. Netzwerk einrichten (WLAN/LAN)
Ein funktionierendes Netzwerk ist wichtig, um Updates herunterzuladen und später ROMs bequem per Netzwerkfreigabe zu übertragen.
Gehe im Batocera-Menü zu SYSTEM SETTINGS -> NETWORK SETTINGS.
- LAN (Kabel): Wenn dein Pi per Ethernet-Kabel verbunden ist, sollte die IP-Adresse automatisch per DHCP bezogen werden. Überprüfe, ob eine IP-Adresse angezeigt wird.
- WLAN: Wähle
ENABLE WIFIaufON. Dann wähle dein WLAN-Netzwerk aus der ListeWIFI SSIDund gib das Passwort unterWIFI KEYein.
Mein Tipp: Notiere dir die angezeigte IP-Adresse. Die brauchst du später für SSH und die Netzwerkfreigaben.
5. ROMs übertragen
Das ist der Kern des Ganzen: Die Spiele! Batocera erstellt automatisch Netzwerkfreigaben (Samba-Shares), über die du bequem von deinem PC aus auf die ROM-Ordner zugreifen kannst. Die Shares sind standardmäßig ungesichert, was im Homelab okay ist, aber im Firmennetzwerk ein No-Go wäre.
Du kannst die Netzwerkfreigaben unter Windows im Explorer über \\BATOCERA (oder \\<IP-ADRESSE_DES_PI>) erreichen. Unter Linux oder macOS kannst du sie über `smb://BATOCERA` oder `smb://<IP-ADRESSE_DES_PI>` mounten.
Du findest dort einen Ordner namens roms. Darin siehst du Unterordner für jedes emulierte System (nes, snes, psx, arcade etc.). Kopiere deine ROM-Dateien (die du natürlich legal besitzen musst) in die entsprechenden Ordner.
Nach dem Kopieren musst du in Batocera das Menü öffnen (oft mit der START-Taste auf dem Controller) und GAME SETTINGS -> UPDATE GAMELIST auswählen. Batocera scannt dann die neuen ROMs und fügt sie zur Liste hinzu.
Alternativ kannst du ROMs auch per SSH übertragen. Das ist besonders praktisch, wenn du größere Mengen an ROMs hast oder automatisierte Skripte nutzt:
# SSH-Zugang aktivieren (falls nicht schon geschehen):
# Batocera Menü -> SYSTEM SETTINGS -> ENABLE SSH -> ON
# Standard-Benutzer: root, Passwort: linux
# ROMs per SCP übertragen (Beispiel für NES):
scp /pfad/zu/deinen/roms/mein_nes_spiel.nes root@<IP-ADRESSE_DES_PI>:/userdata/roms/nes/
Für die Homelab-Integration, wenn du viele ROMs hast und diese zentral verwalten möchtest, könnte ein dedizierter Samba-Share auf einem deiner Proxmox-VMs oder Docker-Container hilfreich sein. Hier ein Beispiel für einen `docker-compose.yml` für einen einfachen Samba-Share, den du dann in Batocera als externen Speicher mounten könntest. Das ist zwar nicht direkt Batocera-Konfiguration, aber eine typische Homelab-Erweiterung:
version: '3.8'
services:
samba:
image: dperson/samba
container_name: samba-roms
restart: unless-stopped
ports:
- "139:139"
- "445:445"
volumes:
- /mnt/user/roms:/roms # Passe diesen Pfad an deinen ROM-Speicher an
command: '-u "homelab;password" -s "roms;/roms;yes;no;yes;homelab"'
environment:
- TZ=Europe/Berlin
- USERID=1000 # Optional: Passe UID/GID an deinen Host an
- GROUPID=1000 # Optional: Passe UID/GID an deinen Host an
networks:
- homelab_net
networks:
homelab_net:
external: true # Oder definiere hier dein internes Docker-Netzwerk
Dieses Setup würde dir erlauben, einen zentralen ROM-Speicher zu haben, den du von verschiedenen Geräten (inklusive deines Batocera-Pi) aus erreichen kannst. In Batocera würdest du dann unter SYSTEM SETTINGS -> STORAGE DEVICE deinen externen Share als Speicherort einbinden.
6. Controller einrichten
Sobald du im EmulationStation-Menü bist, drücke die START-Taste auf deinem Controller (oder die Leertaste auf der Tastatur), um das Hauptmenü zu öffnen. Gehe zu CONTROLLER SETTINGS und dann CONFIGURE A CONTROLLER. Halte eine Taste auf deinem Controller gedrückt und folge den Anweisungen auf dem Bildschirm, um alle Tasten und Achsen zuzuweisen. Das ist meistens selbsterklärend.
Wichtig zu wissen: Wenn du Arcade-Sticks mit vielen Buttons hast, nimm dir Zeit für die Zuordnung. Falsche Zuordnungen können frustrierend sein.
7. Updates und Feintuning
Halte dein Batocera-System immer aktuell. Gehe im Hauptmenü zu SYSTEM SETTINGS -> UPDATE SYSTEM und wähle START UPDATE. Eine aktuelle Version bringt nicht nur Bugfixes, sondern auch oft neue Emulatoren oder verbesserte Performance.
# Alternativ per SSH updaten:
ssh root@<IP-ADRESSE_DES_PI>
batocera-update
Im GAME SETTINGS-Menü kannst du auch erweiterte Optionen für einzelne Emulatoren einstellen, z.B. Video-Filter, Overlays oder die Auflösung. Spiel ein bisschen damit herum, um das Optimum für deinen Bildschirm und deine Vorlieben zu finden. Besonders bei alten Arcade-Spielen machen Shader einen riesigen Unterschied!
Häufige Fehler und Lösungen
In meiner Zeit mit Batocera bin ich über ein paar typische Stolpersteine gestolpert. Hier sind die häufigsten und wie du sie behebst:
1. Keine ROMs sichtbar, obwohl sie kopiert wurden
Problem: Du hast ROMs in die entsprechenden Ordner kopiert, aber sie erscheinen nicht in der EmulationStation-Oberfläche.
Lösung: Du hast vergessen, die Spieleliste zu aktualisieren. Gehe ins Batocera-Hauptmenü (START-Taste), dann zu GAME SETTINGS und wähle UPDATE GAMELIST. Batocera scannt dann die ROM-Ordner neu und fügt die Spiele hinzu. Manchmal hilft auch ein Neustart des Systems.
2. Controller wird nicht erkannt oder funktioniert nicht richtig
Problem: Dein USB-Controller oder Arcade-Stick reagiert nicht oder Tasten sind falsch belegt.
Lösung:
- Neu konfigurieren: Gehe ins Batocera-Hauptmenü (
START),CONTROLLER SETTINGS,CONFIGURE A CONTROLLER. Halte eine Taste auf dem Controller gedrückt, bis er erkannt wird, und weise dann alle Tasten neu zu. Achte darauf, dass du am Ende dieHOTKEY-Taste korrekt zuweist (oft dieSELECT-Taste), da diese für wichtige Funktionen wie Spiel beenden oder Speichern/Laden benötigt wird. - USB-Port wechseln: Manchmal hilft es, den Controller an einen anderen USB-Port anzuschließen.
- Stromversorgung: Bei drahtlosen Controllern über USB-Dongle oder Bluetooth: Stelle sicher, dass der Dongle richtig steckt und der Controller geladen/gepaart ist. Bei Bluetooth-Controllern muss Bluetooth im Batocera-Menü aktiviert und der Controller dort gepaart werden.
- Kompatibilität: In seltenen Fällen ist ein Controller einfach nicht kompatibel. Prüfe online, ob dein spezifisches Modell mit Batocera gut funktioniert.
3. Netzwerkprobleme: Keine IP-Adresse oder keine Verbindung
Problem: Dein Raspberry Pi bekommt keine IP-Adresse, kann nicht ins Internet oder die Netzwerkfreigaben sind nicht erreichbar.
Lösung:
- Kabel prüfen: Bei LAN-Verbindung: Ist das Ethernet-Kabel richtig eingesteckt und leuchtet die LED am Pi? Ist der Router an?
- WLAN-Einstellungen prüfen: Bei WLAN: Hast du die SSID und das Passwort korrekt eingegeben (Groß-/Kleinschreibung beachten!)? Ist das WLAN-Modul in Batocera aktiviert?
- DHCP-Server: Stelle sicher, dass dein Router einen DHCP-Server aktiv hat und IP-Adressen vergibt.
- Statische IP: Wenn DHCP Probleme macht oder du eine feste IP bevorzugst, kannst du diese in den Batocera-Netzwerkeinstellungen manuell konfigurieren. Das ist oft meine bevorzugte Methode im Homelab, um Ordnung zu halten.
- Neustart: Ein Neustart des Pi oder des Routers kann Wunder wirken.
- Firewall: Prüfe, ob eine Firewall auf deinem Router den Zugriff auf die Samba-Ports (139, 445) blockiert. Das ist aber eher selten der Fall in Heimnetzen.
Fazit und nächste Schritte
Ein Arcade-Automat mit Raspberry Pi 4 und Batocera ist ein fantastisches Projekt für jeden Homelab-Enthusiasten. Für 350 Euro, wie im c't-Artikel erwähnt, bekommt man da schon einiges geboten. Mit ein bisschen Eigeninitiative und diesem Guide kannst du dein eigenes Retro-Gaming-Paradies erschaffen.
Hast du erst einmal die Grundlagen gelegt, gibt es noch unzählige Möglichkeiten zur weiteren Optimierung:
- Scraping: Lade Cover-Bilder, Beschreibungen und Videos für deine Spiele herunter, um die EmulationStation-Oberfläche noch schöner zu gestalten. Batocera bietet dafür eingebaute Scraper.
- Themen: Installiere andere EmulationStation-Themes, um das Aussehen komplett zu verändern.
- Overlays und Shader: Verbessere die Optik der Spiele mit Retro-CRT-Filtern und Overlays.
- Netzwerkspeicher: Binde einen externen SMB/NFS-Share von deinem NAS oder einem Docker-Container (wie im YAML-Beispiel gezeigt) ein, um deine ROMs zentral zu speichern und die SD-Karte zu entlasten.
- Hardware-Erweiterungen: Überlege dir, ob du einen besseren Audio-Chip oder einen dedizierten Lüfter einbauen möchtest.
Das war's für heute! Wenn du Fragen hast oder auf Probleme stößt, schreib es in die Kommentare. Wir helfen uns ja gegenseitig in der smoth.me-Community. Viel Spaß beim Zocken!