#196 – Himbeerkuchen nach altmodischem Rezept – RetroPie I

Nanu?! Bist du jetzt unter die Bäcker gegangen, retrololo? Na, soweit kommt’s noch! 😀 Weit gefehlt, natürlich handelt es sich bei dem kuriosen Titel lediglich um ein albernes Wortspiel. Was das zu bedeuten hat? Finden wir es gemeinsam raus! 🙂

Natürlich geht es im heutigen Beitrag nicht um echten Kuchen, sondern um IT-Quatsch, bzw. „Nerd-Spielzeug“ – völlig klar! 😉 Genau genommen um den Einplatinencomputer „Raspberry Pi“, den ich zufälligerweise in der neuesten Modellvariante „4B“ hier herumliegen habe.

Fun Fact: Bereits in der Vergangenheit hatten wir mit so einem Teil (allerdings einer älteren Version) zu tun, aber das ist schon einige Zeit her. Oder erinnert sich etwa noch jemand an Artikel 13? 😉

Das Teil ist mit einem 1,5GHz-Vierkern-Prozessor, 2GB RAM, einer 1000Mbit/s Netzwerkschnittstelle, zwei USB2.0- und zwei USB3.0-Ports, einem MicroSD-Slot, einem 40-Pin-GPIO-Header, zwei Micro-HDMI-Anschlüssen, einer vierpoligen kombinierten Audio- und Composite-Video-Klinkenbuchse, einem WLAN- und einem Bluetooth-Modul sowie einer USB-C-Buchse zum Anschluss eines Netzteils ausgestattet. Alles in Allem wirklich ein schickes Gerät, welches man im Zusammenspiel mit dem „Raspberry Pi OS“ (ehemals „Raspbian“) ohne Probleme als Ersatz für einen Desktop-PC oder Laptop verwenden könnte. Ist das nicht cool? 🙂

Zum Betrieb des Mini-Computers benötigen wir zusätzlich ein Micro-HDMI-Kabel…

…sowie ein USB-C-Netzteil. Ich habe mich bei der Stromversorgung für ein Modell mit einem Schalter entschieden, sodass ich den Computer bequem per Knopfdruck starten kann.

Ebenso wird ein Speichermedium benötigt, auf welches wir ein für den Raspberry Pi geeignetes Betriebssystem aufspielen können. Hierfür verwende ich eine 200GB-MicroSD-Karte von SanDisk.

Fun Fact: Die Speicherkarte stammt aus meiner Nintendo Switch (siehe Artikel 129), allerdings habe ich diese vor einiger Zeit gegen eine größere 512GB-Karte ausgetauscht. Ihr wisst schon – mehr Spiele und so! Sehr praktisch, denn so haben wir gleich ein passendes Medium für das heutige Projekt! 😉

Moment mal – also warum im Titel etwas von „Himbeerkuchen“ steht, lässt sich ja mit „Raspberry Pi“ gerade noch so erklären, aber was hat es mit dem „altmodischem Rezept“ auf sich? Immerhin habe ich doch großspurig behauptet, dass es sich um das neueste Modell des Computers handelt?!

Nun, mit dem „alten Rezept“ ist nicht die Hardware, sondern die Software (also letztendlich das Betriebssystem) gemeint, welches wir im Rahmen des Projekts für den Mini-Computer verwenden wollen. Wie es der Zufall will, heißt das nämlich „RetroPie“! Mit etwas Phantasie erklärt sich nun hoffentlich der augenscheinlich merkwürdige Titel des heutigen Beitrags! 😉

Fun Fact: Bei RetroPie handelt es sich um eine Linux-Distribution, die zahlreiche Emulatoren für zumeist ältere Spielkonsolen und PCs unter einer intuitiv zu bedienenden Benutzeroberfläche vereint. Also quasi das perfekte „Nerd-Spielzeug“ für das Kind im Manne! 😀

Betriebssysteme für den Rasperry Pi werden in Form von vorkonfigurierten Images (meist bestehend aus dem Basis-Betriebssystem Raspbian samt aller benötigten RetroPie-Pakete) im Internet angeboten. Nach dem Download des RetroPie-Images muss diese noch entpackt und z.B. mit der Software „Win32 Disk Imager“ auf die MicroSD-Karte geschrieben werden.

Fun Fact: Tatsächlich gibt es eine ganze Reihe an möglichen Betriebssystemen, welche auf dem Raspberry Pi zur Emulation von Retro-Software verwendet werden können. Viele von ihnen sind sogar bereits mit vorinstallierten (und optimierten) Spielen ausgestattet. Wer faul ist, nimmt einfach eines dieser Images. Ich mache das nicht – wo bleibt denn da der Spaß und die Challenge? 😉

Anschließend können wir den Pi in Betrieb nehmen. SD-Karte einlegen, alle Kabel anschließen und beten, dass das Teil startet! 😉

Fun Fact: Für den erstmaligen Start habe ich – in weiser Voraussicht – eine USB-Tastatur angeschlossen, weil ich davon ausging, dass einige Einstellungen konfiguriert werden müssen…

Nachdem beim ersten Startvorgang das Dateisystem automatisch auf die gesamte Größe der MicroSD-Karte erweitert wurde…

… fährt unser frisch erstelltes Betriebssystem hoch. Sieht gut aus – zumindest erscheint das RetroPie-Logo. Kurz darauf wird noch eine Komponente namens „EmulationStation“ geladen, welche quasi die grafische Oberfläche des Betriebssystems darstellt. Da kein Controller angeschlossen ist, brauchen wir übergangsweise ein anderes Eingabegerät. Gut, dass ich die Tastatur angeschlossen habe! 😀

Aber eine Tastatur an einer Spielkonsole?! Das geht nicht klar… Theoretisch lässt sich auch mit dem Keyboard durch die Menüs navigieren, aber wirklich Spaß macht das nicht. Ich denke als erste Amtshandlung sollten wir versuchen, ein Gamepad einzurichten. Hierfür verwende ich ein 8bitdo SF30 Pro, welches bisher als Zweit-Controller für die Nintendo Switch seine Dienste verrichtet hat! 🙂

Um den Controller mit dem Raspberry Pi zu koppeln, muss im RetroPie-Konfigurationsmenü (unter der Auswahl Bluetooth) das Gerät gesucht und registriert werden. Dabei muss ggf. auf dem Controller der Knopf zum Synchronisieren der Bluetooth-Geräte gedrückt werden.

Doch was ist das? Es sieht so aus als wurde das Gerät nicht gefunden. So ein Mist, und woran liegt das jetzt?!

Eins kann ich euch sagen, Leute – im Nachhinein kann ich drüber lachen, aber um ehrlich zu sein hätte mich die Kopplung des Gamepads fast in den Wahnsinn getrieben! 😀

Tja, was soll ich sagen, letztendlich lag es an einer Reihe von mehreren, verschiedenen Problemen. Zum einen war die Firmware des Controllers zu alt. Das bedeutete, ich musste mir erst ein Update-Programm herunterladen und die Firmware auf den neuesten Stand bringen.

Ebenso habe ich im Handbuch des Gamepads herausgefunden, dass es je nach verwendetem Zielsystem (z.B. Windows, Nintendo Switch, Android, oder macOS) unterschiedliche Bluetooth-Einstellungen gibt! Diese lassen sich durch eine bestimmte Tastenkombination (in meinem Fall „START“ + „B“) beim Anschalten des Controllers aktivieren.

Fun Fact: Immerhin muss dieser „Spreizgriff“ nur einmalig durchgeführt werden, da sich der Controller die zuletzt verwendete Einstellung merkt! 😀

Neues Spiel – neues Glück? Leider nein, denn trotzdem verweigert das Gamepad seinen Dienst, das gibt’s doch nicht!

Und jetzt? Nach mühsamen Stunden der Recherche habe ich herausgefunden, dass es wohl mehrere Probleme mit der Bluetooth-Konfiguration in der aktuellen Version des Rasbpian-Betriebssystems gibt. Um diese zu beheben, muss man EmulationStation beenden, um auf die Konsole zuzugreifen:

Hier angekommen, müssen dann in ein paar Dateien diverse Parameter angepasst (z.B. ein defektes Sim-Access-Profile-Plugin deaktiviert) oder ergänzt (z.B. den Startzeitpunkt des Bluetooth-Dienstes verzögern) und das System anschließend neu gestartet werden. Keine Angst, ich erspare euch die Details. Ich will selbst gar nicht darüber schreiben, sonst ärgere ich mich bloß wieder! 😀

Uff – einfach ist anders! Immerhin – nach dem ganzen Stress lässt sich nun endlich das Gamepad mit dem Raspberry Pi verbinden. Im RetroPie-Konfigurationsmenü wird das Teil jetzt erkannt und kann durch Anlegen einer Gerätedatei (udev-Regel) permanent am Raspberry registriert werden.

Nachteil dieser Lösung ist, dass der Startvorgang jetzt wenige Sekunden länger braucht, da er durch den bthelper-Prozess künstlich ausgebremst wird. Nicht ideal, aber das ist es mir allemal wert, wenn ich nun dafür einen Controller anstatt der Tastatur verwenden kann! 😀

Als letzten Schritt muss jetzt noch das Gamepad, bzw. die Tastenbelegung konfiguriert werden:

Puh – endlich geschafft. Und jetzt? Nun wird es Zeit den Mini-PC ins Netzwerk einzubinden, sodass wir ihn mit ein paar Spielen füttern können! 😉

Hierfür stecken wir einfach ein Netzwerkkabel an und lassen uns die IP-Adresse im Konfigurationsmenü anzeigen. Anschließend kann von einem beliebigen Gerät (in meinem Fall ein Windows 10 PC) auf die Verzeichnisstruktur des Raspberry zugegriffen werden.

Fun Fact: Das alles könnte man auch wesentlich eleganter mit Hilfe des verbauten WLAN-Moduls machen, aber da ich nicht plane den Computer permanent am Internet hängen zu haben, finde ich die „Kabellösung“ zur Bestückung völlig in Ordnung.

Um jetzt Spiele auf das System zu bringen, müssen in die entsprechenden Emulatorenverzeichnisse ROM-Dateien kopiert werden. Natürlich habe ich mit meinen persönlichen „Lieblingen“ – den NES und SNES-Spielen – begonnen… 😉

Fun Fact: Einige Emulatoren benötigen spezielle BIOS-Dateien um ordnungsgemäß zu funktionieren. Diese müssen in den jeweiligen „bios“-Ordner kopiert werden.

Nach einem Neustart des EmulationStation-Frontends werden die Spiele automatisch erkannt und entsprechenden Emulatoren über eigene Menüs zugeordnet – sehr elegant!

Innerhalb eines Emulator-Menüs werden die Spiele in einer alphabetisch sortieren Liste aufbereitet. Während es beim NES nur zwei einzelne Spiele sind, erscheint beim SNES-Emulator ein weiteres Menü. Kein Wunder, denn dort habe ich die ROMS nach der Region in der sie erschienen sind (also NTSC oder PAL) in eigene Ordner verfrachtet! 😉

Und? Laufen denn die Spiele jetzt auch? Na logo! Als Beweis gibt es mit „Contra“ (NES) und „The Legend of Zelda: A Link to the Past“ (SNES) zwei kleine Kostproben:

Puh, das Thema ist mal wieder deutlich größer als angenommen. Komisch – mittlerweile ist das ja fast zum Normalfall geworden, oder? 😀 Seht es mir nach, wenn ich für heute Feierabend mache. Beim nächsten Mal schauen wir uns den Raspberry Pi noch etwas genauer an.

Apropos Feierabend – das trifft sich gut, denn ich habe da noch eine Revanche mit ein paar anderen Antigravitationsrenngleitern in „F-Zero“ offen… 😉

Ciao!

Write a comment