Retropie auf dem Raspberry Pi installieren

Bisher habe ich ja den Raspberry Pi ja nur für elektronische Bastelleien benutzt. Da hat der Raspberry Zero WH immer von der Leistung ausgereicht - ein paar Leitungen zu steuern braucht nicht allzu Rechenpower.

Sogar als Server mit Octopi für meinen Anycubic i3 mega 3D-Drucker langt es, wenn da auch die Videogröße nicht sonderlich hoch sein darf, da sonst die CPU dauernd ausgelastet ist.

Aber es gibt noch weitere Anwendungen für den Raspberry Pi. Diesmal möchte ich Retropie vorstellen. Das ist ein Emulator für Videospiele und Home-Computer. Hier kann man vom Atari VCS 2600 über den C64 und Amiga bis zu zahlreichen Spielekonsolen alles laufen lassen. Allerdings braucht es da je nach zu emulierendem Gerät ein bisschen mehr Power.

Ich habe mir deshalb einen Raspberry Pi 3B+ angeschafft. Hier ein kleiner Vergleich der Leistungswerte zwischen Raspberry Zero und 3B+:

Raspi Zero WHRaspi Zero 3B+
Preisca. 15 €ca. 35 €
Größe65x30x10 mm (mit Header, ohne nur 5 mm hoch)85x56x17 mm
CPUARMv6 Single Core (ARM1176JZF-S / BCM2835 SoC), 1.0 GHzARMv8 Quadcore, 4 x 1.4 GHz (ARM Cortex-A53), Broadcom BCM2837B0
RAM512 MB1 GB LPDDR2 SDRAM
WLAN802.11 b/g/n802.11ac, Broadcom BCM43143
LAN-Gigabit Ethernet über USB 2.0
Bluetooth 4.1, Bluetooth Low Energy (BLE)4.2, BLE (Bluetooth low Energy)
USB-Anschlüsse1x USB 2.04x USB 2.0
GPIO40 Pins40 Pins
HMDIja (Mini)ja
Audio-Buchsenein (Audio über HDMI)ja, 3.5 mm Klinke
SDmicro SDmicro SD
Leistungsaufnahme0,5–0,7 Wmax. 7 W
Stromquelle5V Micro USB, min. 1 A5V Micro USB, min. 2,5 A


Kurz gesagt: doppelt so viel RAM und 4 statt nur einem Kern mit 40% Speed pro Kern. Das schlägt sich allerdings auch im Stromverbrauch nieder, auch wenn dieser immer noch gering bleibt.

Wie sollte es anders sein? Kurz nachdem ich mir den 3B+ angeschafft hatte, kam der Raspberry Pi 4 heraus, obwohl es hieß, das 2019 kein neuer Raspberry rauskommen soll. Den gibt es mit bis zu 4 GB RAM (3B+ fest 1GB), womit er fast das doppelte eines 3B+ kostet. Außerdem passen Gehäuse und Netzteil vom 3B+ nicht mehr und scheinbar haben die frühen Versionen ein thermisches Problem, werden schnell zu heiß und drosseln dann.

Sei es, wie es ist. Ich habe jetzt den 3B+, der sicher auch erstmal ausreichen zum Retro Gaming wird. Mit dem Zero allerdings macht Retropi keinen Spaß. Darum wird im nachfolgenden auf den 3B+ eingegangen, obwohl alles so auch mit dem Raspi 4 funktionieren sollte.

Was brauche ich außer dem Raspi 3B+/4?

Das sollte alles an die 4 USB-Ports des Raspi passen. Gegenbenenfalls kann auch ein USB-Hub angeschlossen werden und damit noch mehr Geräte.

Retropi-Image laden und flashen


Die SD-Karte wird so eingerichtet, dass der Raspi davon booten kann. Dazu müssen wir erst einmal das Retropie mitsamt Betriebssystem drauf bringen. Zum Glück gibt es fertige Images (sogenannte Pre-made images), so dass dies nicht viel Aufwand ist. Die Images findet man auf der offiziellen Download-Seite des Retropie Projekts.

Empfehlenswert ist die Distribution mit dem Namen Raspbian, die nicht nur zufällig so ähnlich klingt wie Debian, der bekannten Linux-Distribution; denn sie baut darauf aus. Wer sich also schon mit Debian auskennt, hat beste Karten. Wir wählen die Distribution Raspbian Stretch Lite aus, die entpackt dann etwa 1.7 GB ausmacht. Da wird es fast schon knapp mit unserer 2 GB-SD-Karte. Wenn wir noch viel installieren wollen, wäre eine 4 GB-Karte vielleicht doch besser.

Nachdem wir die retropie-4.5.1-rpi2_rpi3.img.gz (o . ä) heruntergeladen haben, entpacken wir sie mit z. B. 7Zip und erhalten ein retropie-4.5.1-rpi2_rpi3.img. Dieses muss nun auf die SD-Karte gebracht werden. Um dies zu bewerkstelligen, möchte ich drei Tools vorstellen: Den SD Card Formatter, den Win32DiskImager und den Etcher.

SD Card Formatter

Wie der Name schon sagt, formartiert der SD Card Formatter SD-Karten. Dabei lässt er sich einfacher bedienen als die Windows-internen Tools, die bei großen Karten und FAT32 schon mal gerne zicken.

Wenn unsere SD Karte bereits unter FAT32 formatiert ist, ist alles in Butter und wir können diesen Schritt überspringen. Wenn allerdings aktuell ein Raspbian-Image auf der SD ist, dann wird das Win32DiskImager meckern und wir müssen die SD-Karte frisch formatieren

Dazu einfach die SD-Karte einlegen und im SD Card Formatter auswählen. Danach "Quick Format" wählen und auf "Format" klicken. In ein paar Sekunden ist die KArte formartiert und bereit für Neues.


Win32DiskImager

Gleich vorweg: der Win32DiskImager in der aktuellen Version 1.0 hat bei mir unter Windows 7 nur Probleme gemacht. Irgendwie stolpert der über mein substituiertes Laufwerk oder mein virtuelles DVD-Laufwerk und stürzt gleich mal fröhlich ab, noch bevor die Oberfläche erschienen ist. Im Internet habe ich dann noch die Version 0.7 gefunden, die wenigstens, wenn auch mit anfänglicher Fehlermeldung, funktioniert. Trotzdem macht die Software keinen besonders stabilen Eindruck, der Etcher gibt sich da stabiler. Warum ist Win32DiskImager trotzdem vorstelle? Mit ihm kann man nicht nur Images auf SD schreiben, sondern auch von SD lesen. Damit kann man dann wunderbar Backups herstellen. Wer nur ein Image schreiben will, dem empfehle eher ich den Etcher.

Um das Image auf unsere SD-Karte zu bringen, wählen wir mit Klick auf den kleinen blauen Ordner unsere Image-Datei aus und dann rechts das Laufwerk der SD-Karte (bei mir S:\). Hier lieber zweimal hinschauen, nicht dass man das falsche Laufwerk überschreibt.

Etcher

Etcher funktioniert noch einfacher als der Win32DiskImager. Einfach nur das Image links und das richtige Laufwerk in der Mitte auswählen und dann rechts auf Flash klicken. Etcher ist auch nicht so zimperlich mit dem Format der SD-Karte. Hier musst oft nicht vorher formatiert werden. Nach dem Flashen führt Etcher noch ein Verify aus, sprich er liest noch einmal den gerade eben geflashten Inhalt und prüft, ob er mit dem Image übereinstimmt.

Falls Etcher unsere SD-Karte automatisch ausgeworfen hat (das merken wir, weil wir nicht mehr darauf zugreifen können), ziehen wird sie heraus und stecken sie neu ein, denn wir müssen daran noch Anpassungen vornehmen.


Debian Konfiguration vornehmen

Wenn wir die SD-Karte jetzt in den Raspi stecken würde, dann würde er schon einmal booten. Wir können über den angeschlossenen HDMI-Monitor mitverfolgen, wie dann die Retropie-Benutzeroberfläche geladen wird und eigentlich gleich loslegen.

Allerdings ist es müßig, jedesmal die SD-Karte rauszufummeln, um neue Spiele draufzukopieren. Außerdem bleibt Retropie nach einem Update gerne mal hängen und dann sieht es mau aus. Da wäre es weise, ein wenig vorzudenken und den Retropie über WLAN und SSH zugänglich zu machen. Dann können wir in den allermeisten Fällen noch die Systemdateien auf dem Raspi editieren und Fehlkonfigurationen reparieren, damit er wieder bootet.

Wie stellen wir das an? Der Trick ist, dem Raspi mitzuteilen, wie er ins WLAN findet und dass er den SSH-Server starten soll, damit wir über diesen Weg auf ihn draufkommen.

Die WLAN-Konfiguration speichert der Raspi in der Datei wpa_supplicant.conf im Root-Verzeichnis. Diese ist jetzt noch nicht auf der SD-Karte vorhanden, also tun wir es mit einem Windows-Editor. country=DE ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 ap_scan=1 network={ scan_ssid=1 ssid="wlanname" psk="unserpasswort" key_mgmt=WPA-PSK } und speichern die Datei im Hauptverzeichnis der SD-Karte. key_mgmt=WPA-PSK gilt übrigens auch für WPA2-PSK

Damit der Raspi beim Booten automatisch einen SSH-Server startet, wir uns also darüber mit ihm verbinden können, braucht es nur eine Datei namens ssh (ohne Endung) im Hauptverzeichnis. Oder diese ist schnell angelegt.

Nun können wir die SD-Karte aus Windows auswerfen und in den Raspi stecken und diesen einschalten (Micro-USB-Kabel in Buchse PWR einstecken). Die kleine grüne LED auf dem Raspi beginnt fröhlich zu flackern. Nach etwa einer Minute kommt sie dann zum Stillstand. Zeit, zu überprüfen, ob unser Raspi den Weg ins WLAN gefunden hat. Dazu verbinden wir uns mit unserem Internet-Router (meist über die http://192.168.0.1 im Browser), wo wir ihn auch schnell wiederfinden: retropie 12:34:56:78:9A:BC 192.168.0.7/24 00:00:56:29 65 Mbps Wi-Fi 2.4G Am besten richten wir gleich im DHCP-Server des Routers ein, dass die MAC des Raspi (12:34:56:78:9A:BC) gleich fest die IP 192.168.0.7 zugewiesen bekommt. Dann müssen wir das nächste Mal nicht mehr nach der IP im Router suchen, sondern wissen, dass der Raspi immer die 192.168.0.7 hat.

Der SSH-Server sollte auch schon gestartet werden. Das heißt, wir sollten uns über die 192.168.0.7 mit dem Raspi verbinden können.

Putty

Zur SSH-Verbindung brauchen wir ein Programm. Seit langer Zeit schon hat sich dafür unter Windows Putty bewährt.

Hier muss nicht viel getan werden. Lediglich die IP-Adresse 192.168.0.7, die wir aus dem Router gelesen haben, muss hier eingetragen werden. Mit Klock auf Open stellen wir dann eine SSH-Verbindung zum Raspi her.

Da die Verbindung über Zertifikate verschlüsselt wird, wird beim ersten Verbindungsversuch eine Abfrage erscheinen, ob wir das neu aufgetauchte Zertifikat akzeptieren wollen - natürlich wollen wir - und schon befinden wir uns auf dem Raspi.



Der Username für den Login ist übrigens pi und das Standard-Passwort raspberry. Damit loggen wir uns ein und finden uns dann im Home-Verzeichnis auf unserem Raspberry Pi wieder. Hier können wir nur agieren, als ob wir an einer virtuellen Tastatur am Pi säßen und das Terminal-Fenster ist unser Monitor. Das ist für uns vollkommen ausreichend, wie wir sehen werden. Auf den Desktop können wir gut und gerne verzichten. login as: pi pi@192.168.0.7's password: .***. Samstag, 14 September 2019, 19:02:56 ***** Linux 4.14.98-v7+ armv7l GNU/Linux `***' |*| Dateisystem Größe Benutzt Verf. Verw% Eingehängt auf |*| /dev/root 29G 2,9G 25G 11% / ..|*|.. Uptime.............: 0 days, 00h50m30s .*** * ***. Memory.............: 580352kB (Free) / 766748kB (Total) *******@@** Running Processes..: 106 `*****@@**' IP Address.........: 192.168.0.7 `*******' Temperature........: CPU: °C/°F GPU: °C/°F `"""' The RetroPie Project, https://retropie.org.uk Als nächstes wollen wir das Standard-Passwort ändern - sonst könnte sich ja jeder, der Zugriff auf unser LAN hat, auf dem Raspi rumpfuschen, weil das Standard-Passwort öffentlich ist. Außerdem wollen wir noch ein paar weitere Einstellungen vornehmen.

Dafür gibt es ein eigenes Tool, dass wir mit dem Befehl sudo raspi-config ausführen - sudo bedeutet hier, dass wir den Befehl als Superuser ausführen und somit die Rechte bekommen, die wir eigentlich als User pi nicht hätten, aber brauchen, weil Systemdateien geändert werden. 1 Change User Password Change password for the current user 2 Network Options Configure network settings 3 Boot Options Configure options for start-up 4 Localisation Options Set up language and regional settings to match your location 5 Interfacing Options Configure connections to peripherals 6 Overclock Configure overclocking for your Pi 7 Advanced Options Configure advanced settings 8 Update Update this tool to the latest version 9 About raspi-config Information about this configuration tool Unter 1. können wir gleich mal unser Passwort setzen.
In 2. müssen wir nichts mehr eingeben, dass haben wir ja schon vorher händisch per wpa_supplicant.conf getan.
Da wir keinen Desktop installiert haben, erübrigt sich 3.
Aber unter 4. sollten wir Deutsch als Sprache und Tastatur einstellen. Die Tastatur wird durch Putty zwar schon richtig übersetzt, aber evtl. wollen wir ja doch mal eine eigene Tastatur an den Raspi anschließen.
5. brauchen wir auch nicht, denn SSH ist bereits eingestellt.
6. können wir uns auch schenken, denn den Raspi Zero können wir nicht übertakten. Im Gegenteil: wenn wir hier 1000 eingeben, dann läuft der Zero immer mit 1000 MHz und wir verschenken den Stromsparvorteil, weil sich der Zero in Idle-Zeiten (wenn er nichts zu tun hat) auf 700 MHz heruntertaktet.
Unter 7. sollten wir noch A1 Expand Filesystem ausführen, wenn wir eine größere SD-Karte besitzen, um sicher zu gehen, dass auch der gesamte Speicher darauf zur Verfügung steht.A1 Expand Filesystem 8. können wir uns sparen, denn die Distribution ist ja neu heruntergeladen und damit wird auch das Tool die aktuelle Version haben. Wenn der Download schon länger her ist, dann kann ein Update nicht schaden.
Mit Escape verlassen wir das Tool wieder.

Wenn der Download des Images schon ein wenig her ist, können wir noch einmal die Software auf dem Raspi auf den neuesten Stand bringen: sudo apt-get update sudo apt-get upgrade Wobei update die Liste der zum Download verfügbaren Versionen aktualisiert und upgrade neuere Versionen findet, downloadet und installiert.

Doch Vorsicht! Retropie bleibt gerne mal nach einem Upgrade beim Booten hängen. Dann hilft es nur noch per SSH aufs System zuzugreifen und es zu reparieren.

Als nächstes sollten wir noch Samba einrichten, um die SD-Karte des Retropie übers Netzwerk freizugeben. Dann können wir bequem neue Spiele übers WLAN auf den Retropie kopieren. Hierfür gibt es eine gesonderte Anleitung.

Retropie Konfiguration


Nun können wir unser Retropie noch konfigurieren / optimieren. Dazu steuern wir mit dem Joystick den Eintrag RetroPie an. Dann können wir einen Menüpunkt ansteuern und mit dem Feuerknopf auswählen. Dann finden wir uns in den meisten Fällen in einer pseudografischen Benutzeroberfläche wieder, die wir am besten mit der Tastatur bedienen. Dort geht es eigentlich immer mit ESC zurück.

Unter ES Themes gibt es viele Möglichkeiten (Themen), um das Aussehen der Benutzeroberfläche unseren Wünschen anzupassen.

Unter Raspi-Config können wir das bekannte Konfigurationsprogramm aufrufen, das wir schon unter SSH kennengelernt haben. Hier ist Advanced Options und darunter Resolution wichtig. Das gibt an, in welcher Auflösung das HDMI-Bild ausgegeben wird.

Hier sollte man sich ein paar Gedanken machen. Wir werden später einstellen, dass die Emulatoren die Einzelbilder in der Ausgabegröße berechnen sollen. So gibt es keine matschigen Grafiken, weil irgendetwas vom Monitor hochgerechnet wird. Nun ist die Frage: Welche Auflösung brauche ich maximal? Da ich meine Spiele auf dem Amiga spiele und dieser eine max. Auflösung von 640x480 (bzw. 640x512) hat, wähle ich hier DMT Mode 4 640x480 60 Hz 4:3. Das ist der kleinste sinnvolle Wert, um alles darstellen zu können. Und der Raspi muss die Einzelbilder jetzt nur noch mit 640x480 (statt vielleicht vorher 1920x1080) berechnen, was natürlich viel schneller geht und er damit mehr Bilder pro Sekunde (fps) berechnen kann. Das macht die Bewegungen flüssiger und das Scrolling butterweich.

Das die Ausgabe-Bildschirmauflösung für das Berechnen der Einzelbilder benutzt wird erreichen wir mit Configuration Editor -> Configure basic libretro emulator options -> configure default options for all systems -> Render Resolution -> Video output resolution. Wollen wir für einige Emulator abweichende Werte, so wählen wir den jeweiligen Emulator und dort dann die abweichende Auflösung.

Mit dem Competition Pro USB, den ich angeschlossen habe, komme ich mit der linken Dreieckstaste ins Hauptmenü (Main Menu). Hier wähle ich nun Quit -> Restart System.

Retropie wird neu gebootet und erscheint jetzt in einer rechenfreundlichen Auflösung von 640x480.

Spiele installieren

Jetzt kann ich ein paar Spiele (für den Amiga sind das Disketten-Images mit der Endung .adf (Amiga Disk File)) nach \\retropie\roms\amiga\ kopieren und diese dann per Joystick auswählen und starten.

Für andere Emulatoren funktioniert das ganz ähnlich. Unmöglich hier alle zu nennen. Aber es gibt ja eine Dokumentation auf RetroPie-Seite.

Happy Gaming!

Let's Play!

Hier werde ich Videos auflisten, die ich mit RetroPie gespielt habe, sogenannte Let's Plays. Alle Let's Plays sind auf deutsch kommentiert.

Vielleicht kommt bei euch ja auch die Retro-Feeling auf und ihr spielt ein altes Spiel noch einmal... Nostalgie für Nerds!

Atari VCS 2600


Let's Play Atari 2600: Frogger: Ich spiele das 1982 für die Atari 2600 erschienene Spiel Frogger mit RetroPie. Bei diesem Geschicklichkeitsspiel muss man einen Frosch über eine Straße und einen Fluss in 5 sichere Häfen steuern, um das Level zu gewinnen. Von Level zu Level wird es schwieriger.


Let's Play Atari 2600: Pac Man: Ich spiele das 1982 für die Atari 2600 erschienene Spiel Pac Man mit RetroPie. Bei diesem Spiel steuert man eine Kugel durch ein Labyrinth, frisst Punkte und weicht den Geistern aus - es sei denn, man hat eine Super-Pille geschluckt, dann kann man die Geister besiegen.


Let's Play Atari 2600: Centipede : Ich spiele das 1982 für die Atari 2600 erschienene Spiel Centipede mit RetroPie. Bei diesem schnellen Action-Gameschießt man unaufhörlich auf einen Hundertfüßler, der sich auch noch teilt, wenn man ihn nicht am Kopf trifft. Die einzelnen Teile kommen dann auf einen zu. Eine Kollision mit ihnen ist natürlich tödlich. Außerdem gibt es da weiteres Ungeziefer, das einem das Leben schwer macht.


Let's Play Atari 2600: Pitfall: Ich spiele das 1982 für die Atari 2600 erschienene Spiel Pitfall mit RetroPie. Pitfall Harry ist Jäger und Abenteurer. Er muss in diesem Spiel allerlei Getier und Hindernissen ausweichen, immer auf der Suche nach dem nächsten Goldschatz.

Amiga


Let's Play Amiga: Lemmings / Fun Levels: Ich spiele die dreißig Levels der Schwierigkeitsstufe Fun des 1990 für den Amiga erschienenen Spiels Lemmings auf dem Raspberry Pi 3B+ mit RetroPie. Die ansonsten kopflos in der Gegend herumlaufenden Lemmings wollen Aufgaben zugeteilt bekommen, damit sie sicher ihr Zuhause erreichen. Ein fabelhaftes Denk- und Geschicklichkeitsspiel.


Let's Play Amiga: Lemmings / Tricky Levels: Ich spiele die dreißig Levels der Schwierigkeitsstufe Tricky des 1990 für den Amiga erschienenen Spiels Lemmings auf dem Raspberry Pi 3B+ mit RetroPie. Die ansonsten kopflos in der Gegend herumlaufenden Lemmings wollen Aufgaben zugeteilt bekommen, damit sie sicher ihr Zuhause erreichen. Ein fabelhaftes Denk- und Geschicklichkeitsspiel.


Let's Play Amiga: Lemmings / Taxing Levels: Ich spiele die dreißig Levels der Schwierigkeitsstufe Taxing des 1990 für den Amiga erschienenen Spiels Lemmings auf dem Raspberry Pi 3B+ mit RetroPie. Die ansonsten kopflos in der Gegend herumlaufenden Lemmings wollen Aufgaben zugeteilt bekommen, damit sie sicher ihr Zuhause erreichen. Ein fabelhaftes Denk- und Geschicklichkeitsspiel.


Let's Play Amiga: Lemmings / Mayhem Levels: Ich spiele die dreißig Levels der Schwierigkeitsstufe Mayhem des 1990 für den Amiga erschienenen Spiels Lemmings auf dem Raspberry Pi 3B+ mit RetroPie. Die ansonsten kopflos in der Gegend herumlaufenden Lemmings wollen Aufgaben zugeteilt bekommen, damit sie sicher ihr Zuhause erreichen. Ein fabelhaftes Denk- und Geschicklichkeitsspiel.


Let's Play Amiga: Lemmings / Handbuch: Nachdem ich das Handbuch zu Lemmings gefunden habe, möchte ich es euch auch noch kurz im Rahmen des Let's Plays vorstellen. Das gehört ja irgendwie dazu.


Let's Play Amiga: Fate - Gates of Dawn (1991) Teil #1 - Handbücher, Notizen, Karten: Als Vorstellung des doch recht komplexen Rollenspiels Fate - Gates of Dawn zeige ich hier die Handbücher, meine Notizen und selbstgezeichneten Karten und ein paar Entwicklungsunterlagen, um einen ersten Überblick über das Spiel zu geben.

weitere Teile Amiga: Fate - Gates of Dawn (1991):