RetroPie: Schritt für Schritt zur Retrogame-Emulationstation mit dem Raspberry Pi

So… ein Grund für meine derzeitige Blog-Vernachlässigung ist unter anderem, dass ich die letzten Tage damit beschäftigt war ein voll funktionsfähige Emulationstation mit dem Raspberry Pi in meinem Wohnzimmer zum Laufen zu bringen. Um ehrlich zu sein, war die Einrichtung und Installation gar nicht so aufwendig, hat mich allerdings in Folge so ziemlich jeden Tag an den Fernseher gefesselt, wo ich v.a. Super Bomberman nahezu obsessiv gezockt habe. Aber nur eigennützig soll meine Arbeit dennoch nicht gewesen sein und daher folgt nach dem Klick eine kleine Schritt-für-Schritt Anleitung, mit der auch ihr mit geringem finanziellen und zeitlichen Aufwand eine perfekte Retrokonsole in eurem Wohnzimmer zum Laufen bringen könnt. Das Tutorial hierfür richtet sich explizit an Einsteiger (so wie mich), die bisher noch gar keinen großen Kontakt zum Raspberry Pi oder Linux hatten. Daher werde ich alles (und damit meine ich wirklich alles!) so ausführlich erklären, dass im Prinzip jeder mit dieser Anleitung innerhalb kürzester Zeit eine voll eingerichtete Emulationsmaschine zum Zocken von NES, Mega Drive, SNES, Game Boy, Arcade-Roms, Neo Geo Spielen etc. am heimischen TV-Gerät angeschlossen haben sollte. Falls Fragen offen bleiben, haut sie einfach in die Kommentare.

Grundsätzliches:

Die Basis für die Retrokonsole bildet der Raspberry Pi. Dieser gerade mal handflächengroße Mini-Computer wurde eigentlich entwickelt, um jedem den Zugang zu einem simplen, kleinen und vor allem günstigen Computer zu ermöglichen, mit dem gebastelt und experimentiert werden kann. Den Einsatzmöglichkeiten für einen Pi sind theoretisch keine Grenzen gesetzt: Die Platine lässt sich – Knowhow vorausgesetzt – für den Betrieb eines klassischen Computers ebenso benutzen wie für einen funktionsfähigen Roboter. Sie kann als PC-Ersatz dienen, zum Lernen fundamentaler Computer-Funktionalitäten eingesetzt werden, als Entertainment-Center im Wohnzimmer dienen oder eben – wie in meinem Fall – in eine gigantische Retro-Konsole mit multiplen Persönlichkeiten (von Colecovision über SNES bis Playstation 1) verwandelt werden.

Was brauche ich für RetroPie?

1.) Ein TV-Gerät: Irgendwie logisch, will ich an dieser Stelle trotzdem erwähnt haben. Natürlich kann im Prinzip jeder Bildschirm zur Darstellung dienen. Der Raspberry Pi kann mittels Composite/FBAS an den Fernseher angeschlossen werden, für die Soundausgabe gibt es einen Klinkenausgang. Eleganter ist es allerdings, Ton und Bild digital über HDMI auszugeben. Einen HDMI-Anschluss dürften mittlerweile so ziemlich alle modernen TV-Geräte besitzen. Ich selbst benutze einen LG-Fernseher dieser Bauart (und kann die koreanischen Fernseher ohnehin nur empfehlen), selbstverständlich tut es aber auch jedes andere Gerät mit HDMI-Anschluss.

2.) Ein HDMI-Kabel: Noch logischer, siehe oben. HDMI-Kabel wie dieses bekommt ihr eigentlich überall für unter 10 €. Achtet beim Kauf auf jeden Fall zumindest kurz auf die Länge. 2 Meter waren bei mir vollkommen ausreichend, je nachdem wo euer Gerät nachher stehen soll, müsst ihr für eine größere Länge ein wenig mehr bezahlen.

3.) Einen Raspberry Pi: Das Herzstück unserer Konsole. Ihr solltet beim Kauf auf jeden Fall darauf achten, einen Modell B-Typ zu bestellen (mehr Ram, 2 USB-Anschlüsse, Ethernet-Eingang für eine Internetverbindung). Die aktuellste Variante gibt es derzeit bei Amazon für knapp 40 €. Ein Gehäuse der Marke Standard solltet ihr euch auch gleich zulegen, auch wenn der Fantasie bezüglich Gehäusewahl beim Raspberry Pi natürlich keine Grenzen gesetzt sind.

4.) Eine SD-Karte: Mindestens 4GB. Auf der SD-Karte werden sowohl das Betriebssystem des Pis als auch die Emulatoren und Spiele gespeichert. Es sollte daher auf jeden Fall eine ordentliche SD-Karte mit genug Platz und vor allem ausreichender Geschwindigkeit sein. Ich benutze eine SanDisk Class 10 Ultra SDHC 16GB und kann diese nur wärmstens empfehlen. Emulatoren und Spiele laufen flink, die Datei-Übertragung ist schnell und es ist ausreichend Platz für eine Menge Retro-Games vorhanden. Unabhängig davon sollte es sich auf jeden Fall um eine Class 10 Karte handeln (steht auf der Verpackung) und weniger als 8GB solltet ihr euch echt nicht antun, wenn ihr viele Spiele auf dem Gerät haben wollt. Gut investierte 12 Euro.

5.) Ein Micro USB Steckernetzteil: Um den Raspberry Pi mit Strom zu versorgen. Hier solltet ihr auf jeden Fall auf die Volt und Ampere-Angaben achten. Ein Steckernetzteil Micro USB 5V 1000 mAh wie dieses für knapp 6 € ist für den ordentlichen Betrieb des Kleinen bestens geeignet.

6.) Einen aktiven (!) USB-Hub: Ist im Prinzip nur optional, kann ich aber nur wärmstens ans Herz legen, um auf ständiges Umgestöpsel zu verzichten. Ich benutze einen D-Link DUB-H7 mit insgesamt 7 Anschlüssen und externer Stromversorgung (die ist wichtig um die Power des Raspberrys nicht in die Knie zu zwingen) und kann so verschiedene Peripherie an das Teil hängen ohne nervig aus- und wieder einstöpseln zu müssen.

7.) Tastatur und Maus: Nötig zur Einrichtung und Konfiguration der Software. Eleganter ist eine schnurlose Tastatur mit Touchpad, um auch die Einrichtung bequem von der Couch aus erledigen zu können.Ich habe dafür die Logitech K400 benutzt. Mit Sicherheit nicht die beste Peripherie auf dem Markt, für diesen Zweck aber perfekt geeignet… und sie ist von Anfang an ohne Umstände gelaufen. Diese 40 € kann man sich aber wirklich auch sparen, wenn man kein Problem damit hat, für die Konfiguration irgendwelche olle Peripherie (die ohnehin meistens noch zu Hause rumfliegt) einzusetzen.

8.) Controller: Beziehungsweise Joypads. Hier gibt es natürlich zahllose Möglichkeiten, die mal mehr mal weniger Konfigurationsaufwand erfordern: Vom zweckentfremdeten XBox-Controller über – per Adapter mit dem USB-Anschluss verbundene – SNES-Joypads bis hin zu klassischen Arcade-Joysticks. Auch mit der Tastatur spielen ist theoretisch möglich, macht aber natürlich nicht den geringsten Spaß. Bei mir sind zwei CSL USB Gamepads im Einsatz. Wiederum gilt: Nicht die beste Peripherie auf dem Markt, aber die Installation der Joypads lief bei mir ohne die geringsten Probleme ab. Außerdem mag ich das digitale Steuerkreuz der beiden und gerade das ist für ein gutes Retrogame-Erlebnis von entscheidender Bedeutung. Von der Griffigkeit orientieren sie sich an den Playstation-Gamepads, man gewöhnt sich also relativ schnell an sie. Die Tasten reagieren sauber und die Controller vermitteln generell ein ordentliches Spielgefühl. Nur die Analog-Sticks finde ich ein wenig schwammig, diese sind bei Spieleklassikern aber ohnehin nicht im Einsatz. Zweimal knapp 12 € (sofern ihr nicht allein zocken wollt).

9.) Einen Wlan-USB-Adapter: Ebenso wie der USB-Hub nur optional. Habt ihr euren Router ohnehin im Wohnzimmer stehen und kein Problem damit ein Lan-Kabel von a nach b zu ziehen, könnt ihr darauf verzichten. Ich stehe auf kabellos und der dafür angeschaffte EDIMAX EW-7811UN macht – nach ordentlicher Konfiguration – genau das, was er soll. Wieder gilt: nicht das beste Teil auf dem Markt, dafür mit einem Preis von unter 10 Euro spottbillig und viel surfen will ich ohnehin nicht mit meiner Game-Maschine. Grundsätzlich läuft der RetroPie auch komplett ohne Internet-Anschluss, dieser ist aber von immensem Vorteil, wenn Roms bequem draufgeschoben oder Updates ausgeführt werden sollen.

10.) Einen Rechner mit Internetanschluss: Solltet ihr, sofern ihr diesen Text gerade lesen könnt, ohnehin euer eigen nennen. Dabei ist egal ob Windows, Mac oder Linux-betrieben. Wichtig für den Download der notwendigen Dateien für die Erstinstallation sowie…

11.) Die Roms: Last but not least. Auf dem RetroPie sind zwar bereits ein paar Klassiker (Duke Nukem, Doom) sowie Eigenentwicklungen vorinstalliert, allerdings können die es quantitativ natürlich nicht mit einer ordentlichen Spielesammlung aufnehmen. Mit dem kostenlosen Download von urheberrechtsgeschützten Spielen bewegt man sich allerdings mindestens in einer rechtlichen Grauzone, weswegen ich an dieser Stelle davon natürlich abraten muss. Um juristische Konsequenzen scheinen sich allerdings viele nicht so scheren, was Google-Suchanfragen nach “SNES Roms” oder “Mega Drive Roms” oder Seiten wie mygully ziemlich eindrücklich unter Beweis stellen.

Alles in allem weniger als 100 € und die Retro-Konsole ist bereit zur Inbetriebnahme…

Installation (Schritt für Schritt):

Nachdem ihr alles zusammen habt, könnt ihr mit der Einrichtung des Raspberrys beginnen. Ich werde an dieser Stelle mein Vorgehen beschreiben, mit dem ziemlich alles reibungslos lief. Wenn ihr auf großes Experimentieren verzichten wollt, haltet euch also exakt an die einzelnen Schritte. Falls ihr mit anderer Peripherie arbeitet, könnte das ein oder andere Problem (z.B. mit Treibern) auftreten. Support und Problemlösungen findet ihr dann unter anderem hier. Mit der folgenden Methode solltet ihr eigentlich auf der sicheren Seite sein, falls aber Probleme auftreten, könnt ihr sie gerne in den Kommentaren nennen.

1.) RetroPie downloaden und auf die SD-Karte packen

1.1. Auf dieser Seite findet ihr das gepackte Image für eine RetroPie SD-Karte (gepackte Größe: 1,3GB). Ladet diese Zip-Datei herunter und entpackt sie entweder direkt mit eurem Windows Explorer (Mac-User: Finder) oder einem Tool wie 7zip. Falls euch der Donate-Button ins Auge springt: Ja, der darf in diesem Fall durchaus gedrückt werden. Das Team vom RetroPie-Projekt hat wirklich großartige Arbeit geleistet und darf dafür ruhig auch finanziell unterstützt werden.

2.2. Windows-Nutzer: Downloadet und Installiert das kostenlose Programm Win32 Disk Imager (z.B. bei Chip.de) Das braucht ihr, um die IMG-Datei auf die SD-Karte zu schreiben und diese damit bootfähig zu machen. MacUser: Bei euch erledigt dies das im MacOS enthaltene Festplatten-Dienstprogramm bzw. Disk Utility

2.3. Rein mit der SD-Karte in euren PC/Mac/Laptop. Falls dieser keinen Eingang für SD-Karten hat, braucht ihr einen externen Card-Reader Gibts bei Amazon für unter 8 €

2.4. Windows-Nutzer: Öffnet Win32 Disk Imager und wählt den Laufwerkbuchstaben eurer SD-Karte aus. Falls ihr keinen USB-Stick o.ä. am Rechner habt, sollte der die einzige Auswahl sein. Aber Achtung! Schaut zur Sicherheit nochmal in eurem Windows Explorer nach: Sobald das Image auf den Datenträger geschrieben wird, gehen alle zuvor darauf enthaltenen Daten verloren. Daher solltet ihr an dieser Stelle behutsam vorgehen. Wählt die entpackte Image-Datei aus und beginnt mit dem Schreibvorgang.

Mac-User: Öffnet das Festplatten-Dienstprogramm (oder falls ihr englischsprachig unterwegs seid die Disk Utility), wählt die SD-Karte aus und geht auf die Option neues Image. Im Kontextmenü könnt ihr dann die heruntergeladene und entpackte IMG-File auf die SD-Karte schreiben. Auch hier gilt: Obacht! Zerstört nicht zufällig ein anderes am Computer befindliches Speichermedium. Die IMG-File überschreibt vorhandene Daten und löscht damit alles, was auf dem jeweiligen Speichermedium drauf ist.

2.5. Nachdem die SD-Karte beschrieben ist (was je nachdem einige Zeit dauern kann), könnt ihr sie sicher entfernen oder auswerfen, aus dem Rechner entfernen… und weiter geht es mit der eigentlichen Einrichtung des Retropies.

2.) Retropie verkabeln und anschließen

Hier gibt es natürlich mehrere Möglichkeiten. Mein Setup sieht im Moment folgendermaßen aus. Und das funktioniert ohne Probleme:

A) SD-Karte im Pi

B) HDMI-Kabel von Pi zu TV-Gerät

C) USB1: USB-Hub (nicht vergessen, diesen auch an die Steckdose anzuschließen)

D) USB2: Edimax Wlan-Adapter

E) Im USB-Hub von links nach rechts: Tastatur+Maus (bzw. in meinem Fall der Empfänger für die Funktastatur); Joypad1; Joypad2.

Für die erste Einrichtung empfehle ich, nur Joypad1 anzuschließen. Keine Ahnung warum, aber mein Pi hat bei der ersten Konfiguration ein wenig rumgezickt als beide Joypads drin waren. Mit nur einem angeschlossenen Gamepad solltet ihr beim Start erst einmal auf der sicheren Seite sein

Wenn das alles ordentlich verbunden und verkabelt ist, schaltet den Fernseher an und geht bei eurer Input-Wahl auf HDMI1 (bzw. den HDMI-Anschluss, an dem der Pi hängt). Mein TV-Gerät hat immer Probleme das angeschlossene Device zu erkennen, wenn ich dieses starte bevor ichden entsprechenden HDMI-Eingang am Fernseher ausgewählt habe.

Finally: Alles verkabelt, HDMI ausgewählt… Nun könnt ihr euren Retropie zum ersten Mal starten. Nehmt das Micro-USB-Netzteil, steckt es in den entsprechenden Anschluss des Pis und das andere Ende in die Steckdose (F). Der Pi sollte jetzt mit seinem ersten Boot-Vorgang beginnen.

3.) Die ersten Schritte:

Nach kurzer Zeit werdet ihr von einem “schicken” Retropie-Startbildschirm begrüßt und kurz darauf gebeten, die Steuerung für das Emulationstation-Menü einzustellen. da ich im Moment nur Tastatur und Joypad angeschlossen habe, nehme ich das Joypad für die Steuerung für Player 1 und die Tastatur für die Steuerung für Player 2. Achtet darauf keine Buttons/Tasten doppelt zu belegen, sonst wird eure Emulationstation später durchdrehen. Falls ihr aber doch die Einstellung der Controller vermasselt, lässt sich das später relativ leicht korrigieren.

ACHTUNG1: Die jetzt vorgenommenen Einstellungen betreffen nur das Menü der Emulationstation. Die Steuerung für die eigentlichen Spiele richten wir erst später ein.

ACHTUNG2: Achtet jetzt bereits drauf, dass das rote Lämpchen an eurem Gamepad (falls ihr auch ein CSL benutzt) ausgeschaltet ist (Lässt sich mit dem Home-Button bewerkstelligen). Bei mir drehen die Spiele immer ein wenig durch, wenn das rote LED leuchtet. Und die Emulationstation merkt sich eure Einstellungen für einen Joypad-Zustand (also Lampe aus oder an). Wenn ihr also mit angeschalteter Leuchte diese Konfiguration vornehmt, müsst ihr womöglich immer an- und ausschalten sobald ihr vom Menü in ein Spiel wechselt.

Ich habe folgende Einstellungen für mein Joypad gewählt:

- Up, down, left, right ist klar, alles auf dem Digipad

- Bestätigung: X, bzw. den unteren Button

- Zurück: Y, bzw. den linken Button

- Menü: Start

- Page Up: L1

- Page Down: R1

- Jump to Letter: Select

Für Player2 benutze ich wie gesagt die Tastatur:

- Up, down, left, right ist klar

- Bestätigung: Enter

- Zurück: Back

- Menü: Space

- Page Up: 1

- Page Down: 1

- Jump to Letter: Strg

Nachdem ihr diese Einstellungen hinter euch gebracht habt, werdet ihr zum ersten Mal in das “Frontend” der Emulationstation geworfen. Hier könnt ihr schon ein wenig mit der Menübedienung experimentieren. Mit Links und Rechts wechselt ihr zwischen den verschiedenen Emulatoren. Mit oben und unten wählt ihr in dem Emulator jeweils ein Spiel aus.

Da noch keine Roms installiert sind, wirkt die Emulationstation allerdings noch ziemlich leer. Immerhin könnt ihr schonmal die vorinstallierten Spiele z.B. Duke Nukem 3D oder Cave Story starten und solltet diese auch bereits mit der Tastaur – Gamepad ist für die Spiele wie gesagt noch nicht eingerichtet – zocken können. Wenn ihr in einem Spiel seid, verlasst ihr es mit esc auf der Tastatur. Der Rest der Steuerung in der Emulationstation ist so, wie ihr es euch eingerichtet habt.

4.) Wichtige Einstellungen:

Habt ihr euch hier genug ausgetobt, wählt in der Emulationstation (nicht in einem Spiel) das Kontextmenü (in meinem Fall mit Start auf dem Gamepad oder Space auf der Tastatur) und wählt “exit” aus.

Die Emulationstation wird nun beendet und ihr befindet euch im Terminal des Raspberry Pis.

4.1.) Terminal?

Jetzt bloß nicht erschrecken. Das Terminal ist eine simple Texteingabeaufforderung. Wer sich noch an selige MS-Dos-Zeiten erinnert, dem wird diese Umgebung bekannt vorkommen. Ein Tutorial für das Navigieren im Terminal würde einen – wenn nicht sogar mehrere – Artikel in Anspruch nehmen. Grundsätzlich gilt: Hier könnt ihr alles machen, was auch in einer grafischen Benutzeroberfläche wie Windows möglich wäre. Ihr müsst nur die richtigen Befehle kennen. Fürs erste reichen folgende:

- Mit dem Befehl “emulationstation” startet ihr von jedem Punkt aus die Emulationstation.

- Mit “ls” wird euch angezeigt, welche Dateien und Ordner in dem Ordner vorhanden sind, indem ihr euch gerade befindet.

- Mit “cd Ordnername” steuert ihr den entsprechenden Ordner an

- Mit “cd -” geht ihr ins vorherige Verzeichnis

- Mit “cd” wechselt ihr ins oberste – bzw. Home-Verzeichnis

- Mit “shutdown -h now” fahrt ihr den Pi herunter

- Mit “startx” startet ihr die grafische Benutzeroberfläche, in diesem Fall ist es raspbian, das im Prinzip wie Windows aussieht und sich auch fast genau so steuert.

All diese Befehle brauchen wir fürs erste aber nicht. Stattdessen wollen wir im Terminal, auf der Konsole ein paar Einstellungen vornehmen. Keine Angst, wir machen alles Schritt für Schritt… und hat man sich erst einmal an die Texteingabe als Hauptsteuerung gewöhnt, kommt man gut mit ihr zurecht. Nur ein kleines Achtung sei noch angefügt: Als Standard ist die Einstellung der Tastatur im Moment noch englisch. Das heißt, einige Tasten haben eine andere Funktion als auf ihnen angezeigt. Aber keine Sorge, wenn Sonderzeichen eingetippt werden sollen, sage ich an, auf welcher Taste sie liegen.

4.2.) Einrichten des Wlan-Adapters:

Entfällt natürlich, falls ihr ein Lan-Kabel an eurem Pi habt. Falls ihr wie ich den EDIMAX EW-7811UN benutzt, ist die Einrichtung kinderleicht. Mein Dank gilt in diesem Fall der perfekten Anleitung der Datenreise, deren einzelne Schritte wir hier exakt kopieren wollen.

a) Mit dem Befehl “dmesg” solltet ihr sehen, dass vom gerät ein Wlan-Adapter von Realtek am USB-Anschluss erkannt wurde

b) Mit “ifconfig” seht ihr, ob ein Netzwerk-Device wlan0 erkannt wurde. Das sollte der Fall sein.

c) Um das wlan vernünftig einzurichten, muss die Datei “interfaces” editiert werden. Das geschieht mit dem Editor “Nano”: Der Befehl dafür lautet:

sudo nano /etc/network/interfaces

Kurz zur Erläuterung: Mit “sudo” führt ihr einen Befehlen eines “Super-Users” mit allen Rechten aus, nur so akzeptiert das System, dass ihr Änderungen an einer seiner Dateien vornimmt. Mit “nano” wird das Programm aufgerufen, in dem ihr gleich arbeitet. Der Rest des Befehls ist die Pfadangabe der Datei, die editiert werden soll.

Während ihr den Befehl eingebt, achtet darauf, dass das “/” der englischen Tastatur auf der “-“-Taste unserer deutschen Tastatur liegt

d) Habt ihr diesen Befehl ausgeführt, landet ihr im Nano-Editor und seht in diesem die aktuelle Konfiguration eures Netzwerk-Interfaces. Ihr editiert nun den Text, damit Folgendes dort steht:

auto lo
iface lo inet loopback
iface eth0 inet dhcp


auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ap-scan 1
wpa-scan-ssid 1
wpa-ssid "WLAN-NAME"
wpa-psk "WLAN-SCHLÜSSEL"

Anmerkung: Das “-“-Zeichen sollte auf unserer Tastatur auf der “ß”-Taste liegen. Den “WLAN-NAMEN” eures Netzwerk erfährt ihr über Windows, wenn ihr hierhin klickt. Der WLAN-SCHLÜSSEL steht auf der Rückseite eures Routers.

 e) Nachdem ihr den Text angepasst habt, drückt strg+o zum Speichern, bestätigt dies mit Enter und drückt anschließend strg+x zum Verlassen von Nano.

f) Anschließend seid ihr wieder im Terminal, von wo aus ihr das Netzwerk mit folgendem Befehl neu startet:

sudo service networking restart

Jetzt solltet ihr vollständig in euer Wlan-Netz eingebunden sein. Überprüfen könnt ihr dies erneut mit:

ifconfig

Sollte jetzt ungefähr wie hier aussehen.

Wichtig ist eure IP-Adresse (inet-adr.). Die könnt ihr euch schonmal aufschreiben. Sie wird später für den mühelosen Datei-Transfer von PC zu Raspberry Pi von Bedeutung sein. In meinem Fall, Bild oben, wäre das dann die 192.168.2.106.

4.3) Erweitern der SD-Partition:

Wichtig, wenn ihr eine SD-Karte habt, die größer als 4GB ist. Da das Image von Retropie auf 4GB-Karten ausgelegt ist, wird eure Karte nach dem Draufspielen als solche interpretiert (wodurch eine Menge Platz verloren ginge). Das lässt sich aber leicht ändern. Wechselt in der Konsole in die Raspberry-Konfiguration mit folgendem Befehl:

sudo raspi-config

Das sollte dann so aussehen:

Wählt expand the root-system aus und bestätigt mit Enter. Et voilá. Die vollen 16GB stehen zur Verfügung, um mit Roms vollgepackt zu werden.

4.4.) Die Gamepad-Konfiguration für Player1:

Als letzte Arbeit im Terminal richten wir das erste Joypad für die Spiele ein (Thanks a lot to this great Tutorial): Dazu wechseln wir als erstes in das Verzeichnis, in dem das Programm zur Joypad-Konfiguration liegt… mit folgendem Befehl:

cd RetroPie/emulators/RetroArch/tools

Jetzt führen wir die Joypad-Konfiguration aus und zwar in der Form, dass sie für alle Emulatoren und Spiele einheitlich ist:

./retroarch-joyconfig >> ~/RetroPie/configs/all/retroarch.cfg

Anmerkung: Dieses Zeichen “>” bekommt ihr, wenn ihr auf eurer Tastatur Shift+. drückt. Das “~” liegt auf dem selben Platz wie auf der deutschen Tastatur.

Nachdem ihr den Befehl eingegeben habt, solltet ihr auf dem Bildschirm quasi selbsterklärende Anweisungen sehen, welchen Button ihr auf dem Joypad drücken sollt. Achtung: Wieder gilt, rotes Lämpchen aus! Achtung2: Belegt keine Buttons doppelt. Achtung3: Es werden nach den Standard-Tasten, bis zu R2 noch weitere Buttons abgefragt. Nehmt für die, die auf eurem Joypad nicht vorhanden sind (alles nach R2) irgendeinen Dummy-Button. Das werden wir gleich manuell löschen.

Nachdem Joypad1 eingerichtet wurde, landet ihr wieder im Terminal. Von hier aus startet ihr das System neu mit:

sudo reboot

Der Raspberry startet neu und ihr werdet wie zuvor von der Emulationstation begrüßt. Verlasst diese sofort wieder (Menü, exit) und gebt im Terminal “startx” ein. Daraufhin startet zum ersten mal Raspbian.

Wie bereits gesagt, ist diese Debian-Variante von Form und Funktion stark an Windows angelehnt. Unten links findet ihr ein Startmenü. Navigiert in diesem zu “Accessoires” und öffnet dort den File-Manager, das Unix-Äquivalent zum Windows Explorer oder Finder unter MacOS

Im Filemanager navigiert ihr zu der Datei retroarch.cfg, die wir zuvor bei der Joypad-Eingabe editiert haben. Ihr findet sie unter: /RetroPie/configs/all

In dieser Datei scrollt ihr nun ganz nach unten, wo ihr die Tasten eurer Joypad-Konfiguration seht. Alles ab R2, was ihr mit einem Dummy-Button belegt habt, wird nun gelöscht. Das Ergebnis sollte folgendermaßen aussehen:

4.5.) Die Gamepad-Konfiguration für Player2:

Bleibt in dieser Datei und schließt euer zweites Joypad an: Markiert nun alles ab der Zeile

input_player1_joypad_index = “0″

bis zum Ende des Dokuments und kopiert diesen Text. Geht mit eurem Cursor ganz nach unten. Lasst ein paar Zeilen frei und fügt das eben Kopierte wieder ein.

Nun ändert ihr in diesem Textblock

input_player1_joypad_index = “0″

zu

input_player2_joypad_index = “1″

Anschließend ändert ihr in diesem Textblock sämtliche “input_player1″ zu “input_player2″. Das Ergebnis sollte so aussehen:

Achtung: Das geht nur, wenn ihr zweimal die exakt gleichen Joypads benutzt. Habt ihr die gleichen CSL-Pads wie ich, sollte die Button-Belegung für das authentische Spielgefühl exakt so wie auf dem obigen Bild aussehen.

Speichert die derart geänderte Datei nun mit strg+s und schließt sie. Anschließend könnt ihr auf den roten Button unten rechts klicken und euch im erscheinenden Kontextmenü von Raspbian abmelden. Im Anschluss daran solltet ihr wieder im Terminal sein.

5.) Roms downloaden und auf den Pi bringen

Fast geschafft. Der Retropie ist eingerichtet, Wlan steht, die Joypads sind konfiguriert… fehlen nur noch die Spiele.

5.1.) Roms downloaden:

Ist wie gesagt nicht gerade legal; Links zu illegalen Rom-Download-Seiten werde ich euch daher nicht liefern. In dem Fall, dass ihr tatsächlich etwas Illegales machen wollt, wäre Google euer Freund. Ich gehe in diesem Fall davon aus, dass ihr legal erworbene – oder von euren eigenen Spieleklassikern selbst hergestellte Roms euer eigen nennt. Diese solltet ihr auf eurem PC liegen haben.

5.2.) Der leicht stressige Weg, die Roms auf euren Pi zu kriegen:

Ist zugleich der banalste. Nehmt einen USB-Stick zur Hand, schiebt die Roms drauf, steckt den USB-Stick in euren Pi, startet Raspbian aus dem Terminal mit “startx” und kopiert mit Hilfe des Filemanagers die Roms in die entsprechenden Ordner: SNES-Roms gehören in den Ordner Retropie/Roms/SNES, Atari2600-Roms in den Ordner Retropie/Roms/Atari2600 etc…

5.3.) Der elegante, von mir favorisierte Weg:

Dazu braucht ihr auf eurem PC/Mac ein Programm zur Daten-Übertragung so wie Filezilla oder WinSCP, das ich in diesem Fall benutzen werde:

- Ladet euch WinSCP bei Chip.de herunter und installiert es

- Nach der Installation müsst ihr euch mit dem – noch eingeschalteten – Raspberry Pi verbinden. Hierfür braucht ihr die hoffentlich zuvor – bei der wlan-Einrichtung notierte – IP des Geräts. Habt ihr sie nicht zur Hand, findet ihr sie auf dem Pi im Terminal, wenn ihr “ifconfig” eingebt.

- Zum verbinden gebt die IP-Nummer des Pis an, Username ist standardmäßig “pi” (kleingeschrieben), das Passwort ist “raspberry” (ebenfalls klein geschrieben). File-Protocol ist SFTP.

- Ihr habt mit eurem PC nun eine Verbindung zum Pi hergestellt. Rechts seht ihr seine Ordnerstruktur, links seht ihr die Dateien, die auf eurem Computer sind. Wählt die Roms aus, die ihr später spielen wollt und zieht sie in dem Roms-Ordner in den Ordner der entsprechenden Konsole. SNES-Spiele sollten die Dateiendung .smc haben, Mega Drive Games entweder .gen, .smd oder .bin.

- Nachdem ihr ein paar Spiele rübergezogen habt, wollt ihr sie mit Sicherhet ausprobieren. Also zurück zum Pi, im Terminal mit dem Befehl “emulationstation” die Emulationstation starten und zu den jeweiligen Emulatoren bzw. Spielen navigieren, die ihr mit Eingabe startet.

6.) Epilog

Glückwunsch! Ihr habt jetzt erst einmal eine voll funktionsfähige Emulationstation. Ein paar Probleme können immer auftreten, im Grunde sollte das Teil aber laufen. Mit der oben genannten Konfiguration habe ich folgende Emulatoren zum Laufen gebracht: Atari VCS 2600, SNES, Mega Drive, NES, Master System, PC Engine, Game Boy… während ein paar andere Emulatoren noch Probleme machen, bzw. von mir noch nicht ausgiebig getestet wurden. Zu möglichen Problemen ein paar grundsätzliche Anmerkungen:

- Neo Geo Roms bringen meinen Pi im Moment nur zum Absturz… keine Ahnung woran es liegt, könnte aber mit fehlender Rechenpower zusammenhängen. In den folgenden Tagen werde ich mal die Möglichkeiten ausloten, das Gerät zu übertakten… gut vorstellbar, dass die monumentalen Neo-Geo-Spiele dann laufen

- MAME: Der Arcade-Emulator hat auch mit Problemen zu kämpfen. V.a. “neuere” Spielhallen-Klassiker wie Metal Slug kriege ich nicht zum Laufen. Die 80er Classics wie Pac-Man dagegen funktionieren. Auch hier könnte das Overclocking des Pi-CPU Abhilfe schaffen. Außerdem müssen hier wohl noch ein paar spezielle Settings vorgenommen werden, da sich auf meinem Joypad kein Button für Münzeinwurf findet, und ein 2Euro-Stück nicht in den Pi reinpasst

- Game Boy Advance: Läuft nur mit GBA-Bios, das – weil illegal – dem RetroPie-Image nicht beiliegt. Google wäre hier für alle Gesetzesübertreter ein guter Freund. Die Datei müsste dann im Ordner /home/pi/RetroPie/emulators/gpsp/raspberry/ landen.

- Falls es euch nervt, dass Duke Nukem, Doom etc. in der Emulationstation angezeigt werden, obwohl ihr sie möglicherweise gar nicht spielen wollt, könnt ihr die entsprechenden Ordner einfach aus dem /Roms-Verzeichnis entfernen… und die Spiele sind weg.

- Falls ihr eine nervtötende Latenz zwischen Joypad-Eingabe und Reaktion auf dem Bildschirm feststellt. Das liegt nicht am Pi sondern an eurem Fernseher. Um die Verzögerung loszuwerden, müsst ihr die entsprechenden Bildschirmeinstellungen auf “Spiel” oder “Game” ändern (und im selben Atemzug am besten die Auflösung noch auf 4:3, um hässliche Verzerrungen zu vermeiden). Bei meinem LG sieht das Ganze dann so aus:

…et voilà, die Latenz ist weg.

- Falls ihr die Emulationstation hässlich findet, diese lässt sich relativ gut grafisch anpassen. Es gibt verschiedene Themes, ebenso wie Scripts, die unter anderem die Box-Art und Infos zu den Spielen ins Menü integrieren. Beides habe ich allerdings noch nicht ausprobiert.

- Denkt immer daran, Emulationstation sauber mittels shutdown herunterzufahren, bevor ihr am Pi den Stecker zieht, sonst riskiert ihr, dass eure SD-Karte crasht und das System nicht mehr bootet.

Bei Problemen gilt grundsätzlich: Nicht verzweifeln. Kompetente Hilfe findet ihr unter anderem hier oder hier. Ich werde mit Sicherheit noch einige Updates nachliefern, insbesondere wenn ich den Neo Geo Emulator und Mame vernünftig zum Laufen bringe. Ansonsten hoffe ich, dass euch diese kleine Anleitung bei der RetroPie-Einrichtung helfen konnte und wünsche viel Spaß mit exzessivem Retrogaming.

*Alle Amazon-Links in diesem Artikel sind Partnerlinks

38 Kommentare zu “RetroPie: Schritt für Schritt zur Retrogame-Emulationstation mit dem Raspberry Pi

  1. Pingback: Superlicious | Superlevel

  2. Pingback: Post Paella #31

  3. Ich kann mich meinem Vorgänger nur anschließen, sehr ausführlich und ein absolut klasse Artikel. Kennst Du eigentlich den neuen Blogger-System Anbieter qwer com ? Ich würde mich sehr übereine Antwort auch per Email von Dir freuen und viel Erfolg mit Deinem Blog.

  4. Beim installierten MAME laufen nur wenige ROMS, z. B. Defender oder Silkworm. Auf der neuen Version 1.9 der SD kannst Du aber mit dem setup-Programm MAME4ALL-RPI installieren. Damit gehen fast alle 0.37b5 ROMS.

  5. Hey Florian,

    wirklich eine sehr gute Anleitung, allerdings hat sich mit der aktuellen RetroPie Version 1.9.1 die Ordnerstruktur etwas verändert, sodass bei Punkt 4.4 aktuell folgender Pfad gebraucht wird: RetroPie/emulators/RetroArch/installdir/bin Das war allerdings der einzige Punkt wo es kurz hakte.

    Grüße,
    Cat

  6. Pingback: Konsolenspiele von damals auf dem Raspberry Pi mit RetroPie -Raspberry Pi – Projekte & Mehr!

  7. Hallo,

    brauche dringend hilfe:
    bei mir bootet das PS one Frontend, sobald ich ein Spiel öffnen will wird der Screen schwarz und springt wieder back zum Frontend bzw. GUI, habe schon alles mögliche ausprobiert. BIOS eingefügt, es_system COMMAND Line geändert etc.
    Kriege die PS1 einfach nicht zum laufen.

    Danke im voraus.

  8. Vielen Dank für die Controller-Settings. Hatte anfangs damit zu kämpfen das meine Eingaben nicht das machten was sie sollten… Schön wäre nur wenn du deine cfg Datei hier rein kopieren würdest. Das abtippen vom Screenshot war etwas doof ;)

    Weiter so!

  9. Vielen Dank für die tolle Anleitung!
    Heute meinen Pi aufgesetzt und im Grunde läuft das Teil recht ordentlich, dank deiner Anleitung!

    Allerdings bekomme ich kein einziges MAME Spiel zum Laufen, RetroArch bricht ab mit

    “Game not supported”
    “RetroArch [ERROR] :: Failed to load game”

    Irgendeine Idee?
    Bin für jeden Tipp super dankbar!!! ;-)

  10. Hallo zusammen,

    sobald ich das Retropie-Image mit Win32DiskImager auf meine SD Karte spielen möchte, ist am Ende des Vorgangs meine SD Karte 56 MB groß, und die Karte bzw die Image funkioniert dann nicht im Rasberry Pi. :-(

    hab schon NOOBS auf die SD Karte gespielt um auszuschließen das es an meinem Pi bzw. an der SD Karte liegt, und durfte feststellen das bei NOOBS alles funkioniert hat!

    Hilfe, ich will doch Retropi installieren können :-(

    Jemand eine Idee?

  11. Hallo,

    vielen Dank für das Tutorial, das war echt hilfreich.
    Auch wenn ich keine sftp Verbindung zu Stande bekomme…

    Das Problem mit den vertauschten Tasten beim NES Emu ist relativ leicht zu beheben. Man muss in der NES config die Tasten neu belgen. Dafür bin ich in die all Config gegangen, hab mir die beiden Zeilen genommen, wo A und B belegt sind, hab sie kopiert und in der NES Coonfig wieder eigefügt. Jetzt noch die Buttonbelegung vertauschen und im NES Emu sollte es passen. Alles Andere bleibt so unberührt.

    Viele Grüße
    Haucki

  12. Zum Copy und Pasten:

    input_player1_joypad_index = “0”
    input_player1_b_btn = “2”
    input_player1_y_btn = “3”
    input_player1_select_btn = “8”
    input_player1_start_btn = “9”
    input_player1_up_axis = “-1″
    input_player1_down_axis = “+1″
    input_player1_left_axis = “-0″
    input_player1_right_axis = “+0″
    input_player1_a_btn = “1”
    input_player1_x_btn = “0”
    input_player1_l_btn = “4”
    input_player1_r_btn = “5”
    input_player1_l2_btn = “6”
    input_player1_r2_btn = “7”

    input_player2_joypad_index = “0”
    input_player2_b_btn = “2”
    input_player2_y_btn = “3”
    input_player2_select_btn = “8”
    input_player2_start_btn = “9”
    input_player2_up_axis = “-1″
    input_player2_down_axis = “+1″
    input_player2_left_axis = “-0″
    input_player2_right_axis = “+0″
    input_player2_a_btn = “1”
    input_player2_x_btn = “0”
    input_player2_l_btn = “4”
    input_player2_r_btn = “5”
    input_player2_l2_btn = “6”
    input_player2_r2_btn = “7”

  13. Sehr geile Anleitung! Aber bevor ich anfange zu basteln gibts noch ne Frage:
    Müssen Tastatur und Maus auch nach der Einrichtung noch mit dem Gerät verbunden bleiben damit das Teil läuft? Oder kann ich die nach der Konfiguration abstöpseln und hab dann tatsächlich ne Videospielkonsole die sich nur mit Gamepads bedienen lässt?

  14. Ich scheine endlich alles soweit fertig zu haben!
    Ausser das ich es nicht hin bekomme die Einstellung der Steuerung für alle Spiele zu übernehmen.
    Habe aber Manuell in die SNES config die Steuerung gemacht, läuft auch.
    Aber alle scheinen das laufen auf L3 zu legen, ich wollte es aber gerne auf dem Steuerkreuz haben! Welche Zahlen wären das den?

  15. Gleiches Problem wieder bei Punkt 4.4
    Der Pfad hat sich anscheinend in der neuen Version 2.2 schon wieder geändert. Kann mir da jemand weiterhelfen? Ich bekomm es sonst nicht hin, dass in den Spielen (Emulatioren) das Joypad genommen wird. Es geht nur mit Tastatur zu spielen :-(

  16. Pingback: Raspberry Pi: Retro Spiele mit Retropie spielen - Teil 1 >> Techweblog

  17. Eine gute Beschreibung zum Einrichten des Emulators in der Version 1.9 bzw. 1.10 und für 2.2 (aktuelle) findet ihr auf der Seite http://www.retro-programming.de/?page_id=7064
    Dort sind beschrieben wie man Updates/Upgrades richtig macht, Fehler bei großen TV >22″ beseitigt und verschiedene Player installieren/einrichten kann. Alles Schritt für Schritt auf Deutsch und Englisch!

  18. hey vielleicht kannst du mir ja helfen und zwar wenn ich emulationstation eingebe sagt der mir: zeile 11 datei oder verzeichnis nicht gefunden

  19. Servus,

    sehr schön, jedoch brauch ich mal hilfe da es auf meinem banana bi nicht geht rote leuchte geht an bildschirm bleibt blau und das wars,

    hatte es auf einer 16gb sowie 32gb karte mit voriger sdformatter bearbeitung.

    vielleicht kann mir jemand sagen worans liegen könnte

    Mfg vielen dank vorab

  20. Ist dafür eine Tastatur unbedingt nötig oder funktioniert es auch wenn ich mich mit Putty über SSH auf den Pi aufschalte?

  21. Das ist schon genial, wenn man mit dem RasPi die Retrospiele über den TV spielen kann. Ich war ja immer großer Fan des NES und richtig super wäre es natürlich, wenn man sich dann auch noch die Konsole dazu basteln könnte. Die Gamepads gibt es ja zum Beispiel schon fertig zu kaufen. Da kommen dann bestimmt Kindheitserinnerungen auf, wenn man vielleicht noch mit einem alten Kumpel mal wieder das erste Modul von damals spielt mit Super Mario, World Cup und Tetris.

  22. Hallo,

    klasse Artikel, ich habe mir mal ein paar Komponenten die du auf Amazon verlinkt hast gekauft.

    Danke.

    Gruß Jörg

  23. Hallo, ich habe die Configuration vom Controller 1 völlig versaut und kann deshalb im retropie gar keine Eingaben mehr machen – wie kann ich die alte config löschen und den Controller neu configurierer?

    Danke im voraus

  24. Hallo :) Danke für die tolle Anleitung. Ich hab mir aktuellste Version des RetroPie-Images heruntergeladen, das Zeugs auf die Karte gepackt und gerade das erste Mal gestartet. Erst Frage von mir als Linux-Newbie: wie passe ich die Auflösung auf meinen LCD-TV an?… aktuell (in der grafischen Oberfläche und auch im Terminal) fehlen links und rechts einige Pixel, die Arbeitsfläche wird also abgeschnitten. Wie mache ich das? Ansonsten die grundlegende Frage: ich hab die Version 2.3 heruntergeladen, das ist schon die korrekte Version. Die Oberfläche sieht etwas anders aus als bei den enthaltenen Bildern in der Anleitung… vermutlich wegen der unterschiedlichen Versionen, oder? Besten Dank für die Hilfe. Viele Grüße, Dirk

  25. Kann es sein, dass in der neuesten Version sich das Verzeichnis für die Controllerkonfig wieder geändert hat?
    Komme nicht in das Verzeichnis:
    cd RetroPie/emulators/RetroArch/tools

    Bitte um Hilfe. Danke!

  26. Hallo, bei mir werden einfach kein Eingabegeräte erkannt!!!! Komme nicht weiter.

  27. hi

    die installation hat gut geklappt, bis zu dem punkt, an dem das joypad konfiguriert werden muss… ich benutze ein csl pad, welches dem original snes pad nachempfunden ist. ergo: zu wenige tasten zum belegen! von der tastatur wird nichts erkannt und doppelt belegen geht ja offenbar nicht… hat da jemand eine lösung?

    gruss blubb

  28. hallo,
    danke für die ausführliche und einsteigerfreundliche anleitung.
    ich habe auch alles schritt für schritt GENAU SO gemacht, habe aber folgendes problem:
    ich habe einen EDIMAX mini wlan-adapter und dieser gilt in sämtlichen foren als unkompliziert. trotzdem lässt sich keine verbindung herstellen.
    nachdem ich die “interface” zeilen in nano eingegeben und gespeichert habe, sagt er mir nach dem restart: “couldn’t read interfaces file “/etc/network/interfaces””
    warum auch immer.
    ifconfig teilt mir dann auch nicht meine IP mit, sondern irgendwelche anderen zahlen.
    woran könnte das liegen?

    DANKE!

  29. Schön geschrieben, aber habe auch das Problem das ich mit der neusten Version des Images nicht in das Verzeichnis komme…

    cd RetroPie/emulators/RetroArch/tools

    Schaue ich manuell nach existiert das emulators Verzeichnis nicht. Was tun??

  30. sitze hier auch mit der 2.3 Version und komme nicht in das RetroArch Verzeichnis um die SNES USB Controller zu konfigurieren… Wer kann mir helfen?

  31. Pingback: Ein GPIO Display am Raspberry konfigurieren und andere Sachen | Fabriziere deine Modelle - FabMo

  32. Hi, wollte fragen ob diese Anleitung noch funktioniert.Habe diverse Probleme:

    1. Der von Dir empfohlene Wlan-Stick wird nicht erkannt.
    2. “cd RetroPie/emulators/RetroArch/tools” ergibt die Felermeldung “no such directory in persistent database” (o.ä.) Selbst “cd RetroPie” ergibt das “RetroPie” nicht vorhanden ist.

    kann aber auch sein das ich etwas falsch mache, bin diesbezüglich blutiger Anfänger”

    gruß
    Andy

  33. Hey,

    Ich habe Retropie 3.0 installiert und leider funktioniert der Befehl startx/sudo startx nicht korrekt. Der Bildschirm bleibt einfach schwarz, habe bereits das halbe Internet nach Lösungen durchforstet konnte allerdings nichts dazu finden.

    Hat irgendwer eine Lössung dafür? Ohne Graphical Interface ist unter anderem das überspielen von Roms sehr anstrengend.

  34. Hi,
    kann mir jemand sagen wie man bei multi language roms die Sprache einstellt?

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>