Raspberry Pi als retro Spielekonsole mit Lakka
Ein kurzer Überblick über ein paar Raspberry Pi Retro Gaming Projekte und welches mir persönlich am besten gefällt
Es gibt ja bekanntlich viele verschiedene Projekte die versprechen aus einer Raspberry Pi eine Retro Spielekonsole zu machen, aber wie soll man bei dem Wildwuchs den Überblick behalten? Hinzu kommen heutzutage auch noch die vielen StemOS ähnlichen Distributionen, die auch teils Retrokonsolen unterstützen. Ein Beispiel wäre EmuDeck, wie es das für das SteamDeck gibt.
Genau so ging es mir auch und musst erst eine Weile suchen bis ich eine wirklich gute und brauchbare Lösung gefunden habe.
Warum nicht Retropie?
Als aller erstes habe ich, da es unter anderem eines der erste Suchergebnis bei so was ist, Retopie ausprobiert. Außerdem kannte ich dass auch schon von früher. Schlussendlich muss ich aber sagen, kann ich Retropie nicht zwingend empfehlen.
Zusammengestückeltes Interface
Zunächst fühlt sich das System ziemlich zusammen gestückelt an, weil es das auch ist. Es gibt zwar Emulation Station als Oberfläche für LibRetro und RetroArch, aber abgesehen davon ist alles andere nicht unbedingt einheitlich.
Zum Beispiel, bringt euch jedes Einstellungsmenü in eine Terminal Interface auf ncurses basis. Zwar gibt es hier dann so was wie User Interfaces, aber eben im Stil der frühen 80er Jahre wie man es evtl. von einem Commodore 64 oder DOS kennt.
In die ncurses basierten Menüs wurde zudem irgendwie Gamepadunterstüzung drauf gepresst. So dass man wenigstens die Menüs mit einem Gamepad bedienen kann. Nachteil an dieser Lösung ist, sie eignet sich unfassbar schlecht für den Betrieb auf einem Fernseher während der Nutzer auf einer Couch ein paar Meter entfernt sitzt. Besonders spaßig sind dann Texteingaben, das ist ohne Tastatur garnicht möglich, da es kein On-Screen-Keyboard gibt. Sprich wenn ihr eure Pi mit dem WLAN Verbinden wollt, braucht ihr erst mal eine Tastatur. Also nur mit einem Controller kann man Retropie nicht besonders gut benutzen.
Hinzu kommt noch, dass beim ersten Start das ganze System unglaublich lagged. So das Controllereingaben teils überhaupt nicht oder nur extrem verzögert an kommen. Nach einer Weile, und nach mindestens einem Neustart, normalisiert sich dass verhalten aber.
Was dennoch bleibt ist, Emulatoren und Systempakete müssen immer mal wieder über die ncurses TUI installiert oder aktualisiert werden.
Weiterhin laufen all unsere Spiele in RetroArch. Sprich, jedes mal wenn wir das Emulator Menü öffnen, springt uns RetroArch entgegen, mit dem wohl hässlichsten default Theme was RetroArch zu bieten hat. Am Ende kann man das zwar in RetroArch ändern, aber ein Bruch im Design zwischen Emulation Station, ncurses TUIs und eben RetroArch bleibt. Sprich, man muss sich regelmäßig mit 3 verschiedenen Benutzeroberflächen begnügen.
Software
Weiter hin baut RetroPie auf dem RaspberryPI OS auf, also auf einem Ableger von Debian. Auf der Webseite von Retropie wird sogar noch der alte Namen Raspbian erwähnt, das gibt es nicht einmal mehr. Die neuste Version von RetroPie ist auch schon etwas in die Jahre gekommen.
The latest pre-made image of RetroPie is v4.8 Released March 14, 2022.
(Siehe hier)
Also zum Zeitpunkt dieses Artikels 4 Jahre her. Ob ich ein IoT Gerät mit Internetzugang auf einem dermaßen alten Softwarestack bei mir zuhause haben möchte wage ich zu bezweifeln. Wer mich schon etwas kennt, weiß ich bin generell wenig Überzeugt von Point-Releases, aber das ist ein ganz neues Level des Wahnsinns. Vielleicht basiert RetroPie doch noch auf dem OG Raspbian?
Weiterhin handelt es sich bei RetroPie, oder zumindest dem mage für Pi 2, 3 und Zero 2 W, um eine 32bit Distribution. Das schränkt die Wahl der verfügbaren Emulatoren teils ein, das diese oft schon 32bit Support eingestellt haben.
LibRetro Cores kommen aus den, soweit ich das beurteilen kann, aus de RetroPie Repository.
Lakka
Lakka ist die offizielle Linux Distribution direkt vom RetroArch Projekt und setzt auf LibreELEC auf.
Zur Auffrischung LibreELEC ist eine Home-Theater Linux Distribution die mit Kodi daherkommt. Gedacht um einen weniger Smarten TV in ein Smart TV zu verwandeln. Hauptsächlich also auf Multimedia ausgelegt. Also um eure Film und Serien Bibliothek zu schauen, Musik hören, oder sogar IP-TV, Prime Video, Disney+, Netflix etc.
LibreELEC selbst ist eine immutable Linux Distribution, das heißt, das Basissystem kann nicht zur Laufzeit modifiziert werden, updates laufen hier beim Boot-Vorgang. Die neue Version des Systems wird als Image herunter geladen und beim Hochfahren des Systems über das bestehende drüber gebügelt. Leider ohne Snapshots. Entnimmt man aber die SD Karte und kopiert manuell ein älteres Image in den Update Ordner, so kann man auf eine ältere Version zurück, falls nötig.
Da Lakka auf LibreELEC aufbaut funktioniert es hier ähnlich. Das schöne an Lakka ist, dass wir nun endlich eine einheitliche, solide, Controller- und TV-Freundliche Benutzeroberfläche, mit On-Screen-Keyboard haben! Lakka realisiert seine gesamte Oberfläche vollständig via RetoArch, mit zusätzlichen Menü Punkten, die bei RetroArch "Desktop" logischerweise entfallen.
So gibt es einen integrierten Update-Manager, der nicht nur LibRetro Cores sonder das gesamte System aktualisieren kann. Außerdem unterstütz Lakka nicht nur Raspberry Pi sondern fast alles was man so an Computer Hardware finden kann. Ich persönlich brauche aber nur die RaspberryPi Version, dies ist zu dem auch 64bit! LibRetro Cores sind aktueller und kommen direkt vom RetroArch Projekt.
Zum Zeitpunkt dieses Artikels läuft Lakka auf LibreELEC 12.1, Linux 6.12 LTS (6.18 scheint mit RaspberryPis noch Probleme zu machen) und RetroArch 1.22.2.
Problemen auf die ich gestoßen bin
Allerdings müsste ich lügen, wenn ich behaupten würde alles ist super mit Lakka. Daher das folgende:
Samba und Nautilus
Um seine ROMs auf die Lakka Box zu bekommen haben wir drei Möglichkeiten: via SCP, SAMBA oder einfach die ROMs auf die SD Karte kopieren und dann wieder in die Pi stecken.
EIngebaut beitete Lakka einen Zugrüff über SAMBA. DIeser funktioniert aber nur unter Windows (nehme ich an) und unter KDE mit Dolphin. Der Zugriff erfolgt ohne Benutzer oder Passwort.
Gnomes Nautilus hingegen, verlangt immer einen Benutzer und Passwort, auch wenn Lakka keines von beiden benötigt. Gibt mal also nichts an, kann man sich nicht Verbinden. Gibt man einfach irgendwas an, kommt man zumindest auf den Share, kann aber keinen der weiteren geteilten Ordner öffnen.
Mit KDE und Dolphin hingegen funktioniert alles einwand frei. Es fragt nicht nach einem Benutzer oder Passwort und geteilte Ordner können geöffnet und Dateien kopiert und verschoben werden.
Bluetooth Tastaturen
Streng genommen nicht wirklich ein Problem, da sich Lakka wunderbar mit Controller steuern lässt. Möchte man aber eine Bluetooth Tastatur, für weitere RetroArch / Emulator Kurzbefehle verbinden kann man das vergessen. Zumindest wenn eure Tastatur die eingabe eines Codes zum erfolgreichen Pairing verlangt. Das scheint Lakka generell nicht zu unterstützen. Weder im der Oberfläche noch über bluetoothctl in der CLI wird der entsprechende Codes angezeigt. Auch stadtart Codes wir 0000, 1111 oder 1234 funktionieren nicht.
Mit LibreELEC und Kodi ging das im Übrigen, mit der selben Tastatur. Eine Logitech MX Key Mini.
Ein Umstand den ich auch etwas dubios finde ist, entfernt man das Pairing eines Geräts, muss man mindestens RetroArch Neustarten, um das Gerät neu zu koppeln. Warum, keine Ahnung.
Kein Ton wenn die Bildwiederholrate geändert wird
Die Standarteinstellung von RetroArch ist es die Bildwiederholrate an den Emulator anzupassen. So läuft ohne Emulator die Oberflöche mit maximaler Auflösung und 60Hz. Manche Emulatoren, PCSX ReARMed, Muppen 64 etc. passen die Herzzahl aber an den Inhalt an. Sprich bei PAL Spielen auf 50Hz.
Dieser umstand sord dafür dass wir nun keine Tonausgabe mehr in Lakka haben, außer wir starten RetroArch neu. Das scheint aber ein Problem mit RetroArch statt Lakka zu sein.
Um das Problem zu beheben navigiert nach Einstellungen -> Video -> Ausgabe -> Automatischer Aktuallisierungsratenwechseln und setzt diesen auf AUS
Dieser Fehler ist bekannt, allerdings noch nicht behoben. Siehe hier.
Imaginärer PS-Knopf
Fairerweise kann man dieses Problem RetroArch nicht einmal vorwerfen, dennoch ist das folgende etwas unpraktisch.
Ich benutzte einen DulaSHok 2 Controller, über einen PlayStaion-zu-USB-Adapter. Dieser sorg dafür, dass das System glaubt ein DualShock 3 Controller wäre mit dem System verbunden. Dieser besitzt einen Knopf mehr als ein DualShok 2, den PS-Button. Auf einem XBox Controller wäre dies der Guide-Button.
Dadurch, dass RetroArch davon ausgeht, dass es sich um einen Controller mit einem Button mehr handlet, simmt die Tastenbelegung nicht ganz, da die Button-Indizies um eins verschoben sind. Hier muss man also einmla alle Knöpfe des PlayStation Controller neu belegen, so das RetroArch weiß welcher Button was macht. Jedoch bliebt der PS-Button erhalten und kann auch nicht entfernt werden. Dieser ist normalerweise dafür da das RetoArch Overlay zu öffnen. Durch die Verschiebung ist also L3, nun auch der PS-Button.
Einziger WOrkaround hier ist, einen Hotkey zu definieren, dann erwartet RetroArch, dass man erst den Hotkey, und dann einen anderen Button Drückt um RetroArch funktionen auszuführen. Inklusive dem PS-Button. Hier habe ich mal SELECT für verwendet. SELECT slebst bleibt dadurch den mulaoren erhalten, und L3 alleine öffnet nicht mehr das Menü, sondern SELECT + L3.
Nachteil, andere Kurzbefehle, wie der von PCSX ReARMed, L1 + L2 + SELECT um den Analog Modus zu wechseln, gehen nun nicht mehr... Es wäre so viel einfacher wenn man den PS-Button einfach von der Aktion "Menü umschalten" löschen könnte. Aber nein, entweder man belegt diesen Knopf mit irgendwas anderem, oder eben der Standard "PS" wird angewendet. Aber es gibt kein, niemals, nicht belegen.
Also habe ich hier "Button 8" welcher der "Start"-Knopf ist, für Menü Umschalten belegt. So muss ich also SELECT + START drücken um das Menü zu öffnen. Witziger weise auch eine Standard Einstellung, wenn man keine Hotkeys benutzt. Warum also PS-Button und die Kombination SELECT + START parallel existieren ist mir schleierhaft.
Fazit
Abgesehen von den kleinen Schwierigkeiten, aber alles im allen die, meiner Meinung nach, beste Retro-Gaming Distribution für den TV-Betrieb.
Für mehr RetroArch Gaming, könnt ihr auch unter dem Tag Retro-Arch stöbern, hier werde ich einige Reviews zu alten Spielen verfassen.