Projekt: RetroPie

Jetzt wird es leicht nerdy…

Ich hatte mir schon vor einiger Zeit ein Raspberry Pi (1. Generation) zugelegt, da mich das Thema „Einplatinen Computer“ interessiert hat und das Teil auch ziemlich stark gehyped wurde.

Zur Abschreckung schon mal ein Bild der Raspberry Pi-Platine

Damals hatte ich die Pi dann zuerst als Mediacenter (mit Kodi) genutzt, was einigermaßen flüssig lief – Ein im Alltag viel bequemerer Chromecast hat die Pi dann allerdings schnell ersetzt. Seitdem fristet die kleine Platine ihr Dasein als NAS-Server mehrerer Backup-Festplatten, und darf alle paar Monate mal kurz hochfahren, um Fotos zu backuppen.

Damals hatte ich auch schon auf dem Schirm, dass es ein Projekt names RetroPie gibt – ein ehrgeiziges Community-Projekt, welches eine riesige Anzahl von Emulatoren alter Konsolen und Spielesysteme in einer stylischen Bedienoberfläche zusammenfasst.
Die 1. Generation der Pi schien mir allerdings zu Schwach auf der Brust, um Spiele flüssig zu emulieren.

Seitdem ist einiges passiert: Die Raspberry Pi ist nach wie vor ein Dauerbrenner auf dem Einpatinen-Markt, mittlerweile gibt es schon die 3. Generation, mit einer entsprechend schnelleren CPU, on-chip WLAN und bluetooth. Für den Preis unschlagbar für ein Retro-Gaming Projekt mit:

Nach dem Kauf des neuen Pi (3b+) bin ich nun, nach viel rumgebastel und ausprobieren, ganz zufrieden mit dem Endprodukt:

Ein minimalistisches Setup mit allen relevanten Konsolen / Spielesystemen meiner Kindheit, das Nostalgie-Tränen ins Auge schießen lässt – und einer so großen Auswahl an Retro-Spielen, dass ich die nächsten paar Jahre nur damit beschäftigt sein könnte, jedes Spiel mal kurz auszuprobieren.

Einkaufsliste

Das Setup

Das „Betriebssystem“ RetroPie ist schnell installiert – einfach das Boot-Image auf die SD-Karte kopieren und die Pi damit booten. Der Rest ist selbsterklärend.
ROMs (Spielmodule) können einfach über Samba-Share auf den Pi kopiert werden.
Alle Spielesystemen der 90er Jahre (älter als N64) laufen flüssig und ohne Probleme.
Bei MAME (Arcade)-ROMs ist es wichtig, die genaue ROM-Version zu kennen, die verschiedenen Versionen sind untereinander nicht kompatibel.

Hier gibt es eine Liste aller verfügbaren Systeme.

Übertakten

Um N64-Spiele flüssig emulieren zu können, muss man den Grafik-Chip der Pi moderat übertakten. Mit Heat-Sinks und einem Gehäuse mit Lüfter ist das aber kein Problem.

Meine Pi 3b+ läuft mit folgenden Einstellungen, unter realer (N64-Emulations-) Last bei ~ 50° C. Also weit unterhalb dem Schwellenwert von ~80° C, ab dem die Pi anfangen würde, herunterzudrosseln.

gpu_freq=525
core_freq=525
sdram_freq=550
sdram_over_voltage=2
sdram_schmoo=0x02000020
over_voltage=3
v3d_freq=525
avoid_pwm_pll=1
disable_splash=1

Die CPU-Frequenz kann man unangetastet lassen, das „Nadelöhr“ für N64-Emulation ist tatsächlich die GPU. Außerdem ist diese Kombatibilitätsliste hilfreich, da es für jede N64-ROM einen zugehörigen „optimalen“ Emulator gibt. Ein Großteil der „wichtigen“ Spiele funktionieren mit den obigen Einstellungen flüssig.

Style

„EmulationStation“ ist die Bedienoberfläche von RetroPie. Mit ein bischen Arbeit und dem richtigem Theme kann diese ziemlich stylisch aussehen.

Mit einem „Scraper“ (Script, welches das Internet nach Metadaten zu allen auf der Pi verfügbaren ROMs durchsucht und automatisch eine lokale Meta-Datenbank erstellt (mit Screenshots, Spielbeschreibungen, Erscheinungsjahr, etc), wie z.B. Skyscraper, kann man sogar Videos mit in die Spieleübersicht einbetten.

Ausblick

Die RetroPie-Community ist, wie auch die Raspberry Pi Community, ziemlich groß und aktiv. Bei über 20 Millionen verkauften Pis kein Wunder. Ständig wird hier weiterentwickelt und auch viel gebastelt.

RetroPie basiert auf Raspbian (dem „offiziellen“ Betriebssystem der Raspberry Pi Foundation). Für dieses wurden bereits viele Spiele geportet (z.B. Quake 1-3), diese sind in RetroPie bequem über den Paket-Manager installierbar. Und: Quake 3 läuft flüssig…

Raspbian selbst (also die Standard-Desktop-Version) ist auch über den Paket-Manager nachinstallierbar und kann dann jederzeit aus dem „Ports“-Menü gestartet werden – damit hat man dann ein „ganz normales“ Raspberry Pi mit dem Standardbetriebssystem in der Hinterhand.