Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Alles, was nicht in ein anderes Forum gehört: Hier rein
Forumsregeln
Datenschutzerklärung: https://www.gamespodcast.de/datenschutzerklaerung/
Impressum: https://www.gamespodcast.de/impressum/

Forenregeln und zukünftige Weltverfassung
ART 1: Behandle andere Nutzer mit Respekt.
ART 2: Do NOT piss off the Podcasters

Lies bitte weitere Hinweise hier: viewtopic.php?f=4&t=2789
Benutzeravatar
Vinter
Foul Tarnished
Beiträge: 5061
Registriert: 25. Jan 2016, 02:50

Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von Vinter »

Hallo Leute!

Update 31.12.2018: Bitte folgenden Beitrag vor dem Ausprobieren des Tutorials beachten.


Inhalt
1. Einleitung
2. Rechtslage
3. Was ist Libretro, Retroarch, Emulationstation und warum sollte ich es nutzen?
4. Installation
4.1 Retroarch
4.2 Emulationstation
5. Vorkonfigurierte Installation
6. Ausblick


1. Einleitung
Ein Thema, dass mich durch all die Jahre immer begleitet hat, ist die Emulation alter Konsolen. Vor einigen Wochen bin ich dann mehr durch Zufall auf das Projekt Libretro gestoßen und die in dem Dunstkreis existierenden Begriffe Retroarch und Emulationstation. Und seitdem hat mich das Fieber (erneut) gepackt, denn dass ist vielleicht das beste Emulationsprojekt, dass derzeit existiert. Wer sich also bis heute mit SNES9x und Co. herumtreibt, aufgepasst.

Als Teaser erstmal dieses Video, welches das Ergebnis dieses Tutorials live zeigt. Da kann man schon gut erkennen, was so toll an den hier vorgestellten Programmen ist. (Video ist nicht von mir)

Was ich in diesem Thread tun möchte ist zum einen, Libretro vorzustellen, zu erklären, wie das ganze eingerichtet wird und am Ende können wir uns vielleicht alle gemeinsam über die Titel unserer Kindheit unterhalten.

Eine Warnung vorweg: Anders als z.B. SNES9x benötigt das hier vorgestellte Retroarch, vorallem in der Ausbaustufe mit Emulationstation, ein wenig Arbeit beim konfigurieren. Wenn man das jedoch erst einmal durchblickt hat, ist das sehr intuitiv. Belohnt für den Aufwand wird man mit einer sehr sauberen, einheitlichen Oberfläche, die sich komplett mit dem Gamepad steuern lässt und einem ein sehr komfortables Emulationserlebnis bietet. Wenn das ganze zudem erst einmal vollständig konfiguriert ist, hat man nichts weiter zu tun als gemütlich auf der Couch zu sitzen und zu zocken: Anders als andere Emulatoren, die meiner Erfahrung nach gerne mal herumzicken und ständiges nachjustieren erfordern ist das hier vorgestellte System erstaunlich stabil und wartungsarm. It just works, wie der Applejünger sagt. Deswegen wird die Threaderöffnung auch ein wenig länger, weil ich hier vollständig beschreibe worum es geht und wie man es einrichtet.

2. Rechtslage
tl;dr: Emulatoren sind natürlich legal, das Herunterladen von ROMs und Konsolen-BIOS ist es nicht. Deswegen werden solche Sachen hier auch nicht diskutiert, u.a. da dass juristisch problematisch für Andre und Jochen werden könnte!.
Link 1
Link 2
Link 3

Legal ist es, seine EIGENEN Konsolentitel auszulesen und in ein ROM bzw. ISO zu verwandeln (Privatkopie). Das herunterladen, obwohl man selbst eine Lizenz besitzt, ist ebenfalls nicht legal.

3. Was ist Libretro, Retroarch, Emulationstation und warum sollte ich es nutzen?
Libretro is a simple API that allows for the creation of games and emulators. [...]
When you choose to use the libretro API, your program gets turned into a single library file (called a ‘libretro core’). A frontend that supports the libretro API can then load that library file and run the app. The frontend’s responsibility is to provide all the implementation-specific details, such as video/audio/input drivers. The libretro core’s responsibility is solely to provide the main program. You therefore don’t have to worry about writing different video drivers for Direct3D, OpenGL or worrying about catering to all possible input APIs/sound APIs/supporting all known joypads/etc. This is none of your concern at the libretro core implementation level.
Libretro als Projekt ist erstmal nur eine API, die gewisser Standards definiert. Aufgabe von Libretro ist es, Gamepadsignale zu erhalten und Audio und Video auszugeben. Selbst emulieren tut Libretro nichts, es stellt lediglich eine einheitliche Plattform für andere Emulatoren zur Verfügung. Und das ist der geniale Kniff an dem Projekt. Was man nämlich tut ist, sogenannte "Cores" einzubinden (Wie das genau funktioniert: Dazu später mehr). Diese Cores übernehmen die eigentliche Emulationsarbeit. Entwickelt werden sie unabhängig von Libretro, es gibt bspw. Cores basierend auf dem schon erwähnten SNES9x-Emulator (Super Nintendo) oder auf Mednafen (Playstation 1).

Um mal eine etwas verständlichere Analogie herzustellen: Jeder kennt die Knarre im Werkzeugkoffer, auf die, je nach Schraube, verschiedene Steckschlüssel aufgesetzt werden können. Genau das passiert hier auch: Libretro ist die Knarre, die Cores sind die wechselbaren Steckschlüssel, die Schrauben entsprechen den unterschiedlichen Konsolen.

Bild
Das Funktionsprinzip von Libretro: Der Knarrenkasten

Die Liste der verfügbaren Konsolen ist lang: Nintendo, Sega, Sony sind natürlich dabei, wie auch z.B. Atari, DosBox und ScummVM.

Retroarch ist das "offizielle" Frontend, welches Libretro einbindet um die Cores zu interpretieren. Was in diesem Programm passiert ist das Verwalten der Cores, das konfigurieren von Audio/Video und Gamepad usw. Und ja: Man kann prinzipiell auch schon von hier aus Spiele starten. Aber es gibt ja auch noch....

Emulationstation.
Das ist der Teil, der mir am meisten Spaß macht. Emulationstation ist ein weiteres Frontend, dass auf Retroarch aufsetzt und was es so toll macht ist seine intuitive Bedienbarkeit und Übersichtlichkeit. Wenn man mit der Konfiguration bis hierhin gekommen ist, versteht man, warum man den Aufwand betrieben hat: Von der Couch aus mit dem GamePad in der Hand wählt man bequem Konsole und Spiel aus und kann loslegen. Man muss nicht zwischen verschiedenen Emulatoren wechseln, wenn man die Konsole wechseln will, man muss nicht durch Dateisysteme navigieren, um die passende Rom auszuwählen, man hat nicht für jede Konsole ein anderes UI und muss nicht jeden Emulator einzeln konfigurieren: Alles geht aus einer Hand, vollständig bedienbar mit dem Gamepad. Und ein weiteres Highlight: Emulationstation zieht sich automatisch Coverbilder, Beschreibungstexte, Eckdaten der Spiele aus Datenbanken im Internet - hier stellt sich dann ein echtes "Spielesammlung"-Gefühl ein, ganz anders als wenn man seine Roms gesichtslos irgendwo auf der Festplatte verstauben lässt.

Bild
Oberfläche von Emulationstation: Konsolenübersicht

Bild
Oberfläche von Emulationstation: Spieleübersicht einer Konsole

Weiterer Vorteil von Libretro/Retroarch/Emulationstation: Es ist prinzipiell portabel. D.h, man kann sich seinen persönliche "Emulationstation" auf einen USB Stick packen, mit zu Freunden nehmen, zwischen Desktop und Laptop wechseln und hat alles vorkonfiguriert dabei. Man muss nur noch die Pads einstecken und kann loslegen.

4. Installation
Ich werde nun die Installation und Konfiguration der einzelnen Komponenten beschreiben. Es ist ganz sinnvoll, sich damit auseinander zu setzen, damit man versteht, wie die Sachen zusammenhängen, wo was zu finden ist und wie man später selbst Hand anlegt, wenn man Dinge ändern möchte oder muss. Für die, die es schneller haben wollen füge ich später nochmal eine vorkonfigurierte, portable Installation bei. An der Stelle wäre ich dann über Feedback dankbar, ob das auch einwandfrei funktioniert, oder ob es Probleme gibt.

4.1 Retroarch
1.
Ladet euch von HIER die aktuelle Version von Retroarch herunter und entpackt sie in ein Verzeichnis. Ich wähle hierfür

Code: Alles auswählen

../Emulationstation/Retroarch
denn wir wollen das ganze ja portabel machen, also richten wir es von vorne herein so ein, dass alles an einem Ort liegt.

Wenn man Retroarch.exe startet, öffnet sich das Programm bereits anstandslos. Bedienbar ist es entweder mit dem Gamepad (Zumindest das XBox 360 Pad erkennt Retroarch automatisch, es funktionieren aber auch die Pfeiltasten der Tastatur sowie X zum Bestätigen und Y für Abbrechen/Zurück. Retroarch ist von Haus aus so konfiguriert, dass er alle Änderungen an der Konfiguration beim Beenden (ESC) in Retroarch.cfg speichert (diese lässt sich auch mit einem Texteditor öffnen und von Hand manipulieren).

2.
Nun laden wir uns bereits die ersten Cores herunter. Das geht sehr komfortabel über den eingebauten Online-Updater. Navigiert im Menü zu

Code: Alles auswählen

Online Updater/Core Updater
und ihr seht alle verfügbaren Cores, die ihr euch auf Knopfdruck herunterladen könnt.

Um im weiteren Verlauf des Tutorials den Workflow nachvollziehen zu können, ladet euch die Cores

Code: Alles auswählen

SNES / Super Famicom (bsnes-mercury Balanced)
und

Code: Alles auswählen

Sega MS/GG/MD/CD (Genesis Plus GX)
2.1(Optional)
Einige Emulatoren benötigen das Konsolen BIOS um zu funktionieren. Aus urheberrechtlichen Gründen ist dieses BIOS nie mitgeliefert. Ein Beispiel ist der Mednafen PSX Core. Um zu überprüfen, ob ein Core ein BIOS benötigt, geht vom Hauptmenü aus nach

Code: Alles auswählen

Load Core/PlayStation (Mednafen PSX)
und anschließend nach

Code: Alles auswählen

Information/Core Information
Dort findet ihr den Punkt Firmware und den Hinweis darauf, dass der Core ein BIOS er erwartet (Im Beispiel: scph5500.bin, scph5501.bin und scph5502.bin) sowie der Hinweis, dass das Bios fehlt (Missing) und benötigt wird (Required). Nochmal der Hinweis: Wo man ein entsprechendes BIOS bekommt wird hier nicht diskutiert.

Retroarch erwartet die BIOS im Ordner

Code: Alles auswählen

../Emulationstation/Retroarch/System
3.
Wir wechseln zu Settings. Nicht von den wortwörtlich hunderten Einstellungsmöglichkeiten erschlagen lassen: Das schöne an Retroarch ist, dass es Out-of-the-Box funktioniert. Viele der Dinge hier sind optional, stellenweise Geschmackssache und auch immer ein wenig abhängig von der Performance der ausführenden Maschine. Hier müsst ihr ein wenig selbst experimentieren welche Optionen es gibt, ich kann unmöglich auf alles eingehen. Konkrete Fragen versuche ich aber zu beantworten, man findet sich aber auch selbst relativ schnell zurecht. Wenn man irgendeine Option erwartet, dann ist die in der Regel auch vorhanden. Achtung: Legt euch regelmässig Backups eurer Retroarch.cfg an! Solltet ihr euch die Konfiguration zerschießen (und ja, dass IST möglich) müsst ihr ohne Backup wieder alles neu einstellen!

Ein paar Dinge sind hier aber interessant und die möchte ich zumindest vorstellen:

Unter

Code: Alles auswählen

Settings/Input/User 1 Device Type/RetroPad
bitte umstellen auf

Code: Alles auswählen

Settings/Input/User 1 Device Type/RetroPad w/ Analog
.
Direkt darunter findet ihr den Eintrag

Code: Alles auswählen

User 1 Analog to Digital Type
den ihr bitte auf "Left analog" umschaltet

Was dann passiert ist, dass Retroarch den linken Analogstick als Steuerkreuz erkennt. Gerade wer noch ein XBox 360 Pad benutzt weiß, dass das Steuerkreuz nicht so richtig präzise ist, da kann man besser mit dem Stick spielen.

Und unter

Code: Alles auswählen

Driver/Menu Driver/xmb
kann man auf

Code: Alles auswählen

Driver/Menu Driver/rgui
umschalten. Dadurch ersetzt er das grafisch aufwendige Retroarch UI gegen ein oldschooliges, minimalistisches UI. Das MUSS man nicht machen, aber da man Retroarch später während des laufenden Betriebs aufruft finde ich die minimalistische Menüvariante übersichtlicher und auch performanceschonender.

Desweiteren lassen sich unter

Code: Alles auswählen

Settings/Video
die Videoeinstellungen anpassen. Erwähnenswert ist hier VSync, Bilinearer Filter, Fullscreen, Aspect Ration usw. Ich stelle hier alle Bildverbesserungen aus, weil ich den scharfen Pixellook lieber mag als das glattgefilterte. Außerdem schalte ich den Aspect Ratio auf 16:9 und auf Fullscreen. Hier muss jeder selbst wissen, was ihm am besten gefällt.

Wir sind an dieser Stelle erstmal mit Retroarch durch. Im späteren Betrieb verwenden wir Retroarch eigenständig nur noch für größere Umbaumaßnahmen, wie z.B. das installieren neuer Cores, in der Regel müssen wir Retroarch aber nicht mehr von Hand starten.

4.2 Emulationstation
1.
HIER erhaltet ihr Emulationstation. Ladet euch das Zip-File für Windows herunter und entpackt die Dateien nach

Code: Alles auswählen

../Emulationstation/Emulationstation
Im Ordner findet ihr

Code: Alles auswählen

launch_portable.bat
Dies ist die Datei, die von nun an unsere Emulationstation startet. Führt die .bat-Datei nun einmal aus: Zwar bekommt ihr nun eine Fehlermeldung, aber Emulationstation erstellt dabei dynamisch eine Konfigurationsdatei, die wir später noch brauchen werden.

2.
Was Emulationstation nun von uns möchte ist, dass wir es erstmal von Hand konfigurieren. Dafür benutzt Emulationstation eine xml-Datei, aber keine Panik: Alles ganz einfach.

Zunächst legen wir einen weiteren Ordner an:

Code: Alles auswählen

../Emulationstation/Roms
In diesem Ordner sammeln wir unsere Roms, sortiert in Unterordnern. Also beispielsweise

Code: Alles auswählen

../Emulationstation/Roms/SNES

Code: Alles auswählen

../Emulationstation/Roms/Megadrive
Anschließend wechseln wir nach

Code: Alles auswählen

../Emulationstation/Emulationstation/.emulationstation/
und öffnen die Datei es_systems.cfg mit einem Texteditor und löschen erstmal allen Text raus, außer das äußerste Tag. Was also in der Datei stehen bleibt ist

Code: Alles auswählen

<systemList>
</systemList>
Innerhalb dieses Tags definieren wir nun die Konsolen, die wir emulieren möchten. Das heißt, wir sagen Emulationstation,
a) Welcher Emulator zur Konsole passt
b) Wo die Spiele liegen
c) Welches Theme Emulationstation für die Darstellung verwenden soll

Das geht mit folgendem Codeblock

Code: Alles auswählen

<system>
    <name>snes</name>
    <fullname>Super Nintendo</fullname>
    <path>..\Roms\SNES</path>
    <extension>.sfc</extension>
    <command>..\RetroArch\retroarch.exe -L ..\RetroArch\cores\bsnes_mercury_balanced_libretro.dll "%ROM_RAW%"</command>
    <platform>snes</platform>
    <theme>snes</theme>
</system>
<path> definiert den Ordner, in dem die Spiele für die entsprechende Konsole liegen.
<extension> definiert, welche Dateiendung die Roms haben, beim SNES also typischerweise .sfc (für Super Famicom, dem japanischen Namen der Konsole)
<command> definiert, welche Core verwendet wird. Hier wird einmal der Pfad zu Retroarch angegeben

Code: Alles auswählen

..\RetroArch\retroarch.exe -L
und einmal der Pfad zum passenden Core

Code: Alles auswählen

..\RetroArch\cores\bsnes_mercury_balanced_libretro.dll "%ROM_RAW%"
Solltet ihr also eine neue Konsole anlegen wollen, dann müsst ihr zuerst den passenden Core über Retroarch herunterladen. Dann wechselt ihr in das Verzeichnis

Code: Alles auswählen

..\RetroArch\cores\
kopiert den Namen des Cores (F2 -> Strg+C) und übertragt den Namen des Cores in die es_systems.cfg. Hier im Beispiel also

Code: Alles auswählen

bsnes_mercury_balanced_libretro
Das selbe macht ihr für den Megadrive

Code: Alles auswählen

<system>
    <name>megadrive</name>
    <fullname>Sega Megadrive</fullname>
    <path>..\Roms\Megadrive</path>
    <extension>.md</extension>
    <command>..\RetroArch\retroarch.exe -L ..\RetroArch\cores\genesis_plus_gx_libretro.dll "%ROM_RAW%"</command>
    <platform>megadrive</platform>
    <theme>megadrive</theme>
</system>
Ihr seht, die Struktur ist absolut gleich, es wurden nur die Parameter (Pfad, Core usw) entsprechend angepasst.

3.
Damit Emulationstation funktioniert, müssen nun noch in das Verzeichnis für die Spiele die entsprechenden Roms hinzugefügt werden. Passiert das nicht, meckert Emulationstation weiterhin, dass keine Konsole angelegt wäre.

Anschließend können wir Emulationstation mit angeschlossenem Gamepad über

Code: Alles auswählen

../Emulationstation/Emulationstation/launch_portable.bat
starten.

Beim ersten Start fragt fordert uns Emulationstation auf, das Gamepad zu konfigurieren. Anschließend gelangt man in die Konsolenübersicht, in
der man mit Links/Rechts durch die Konsolen scrollen und per Tastendruck auswählen kann.

4.
Optional lässt sich nun über die Start-Taste des Controllers des Scraper aktivieren. Der durchsucht eine Internetdatenbank nach den Spieletiteln und lädt Cover usw. automatisch herunter. Das funktioniert relativ zuverlässig, man muss aber ab und an den Spieletitel von Hand eingeben oder nach einzelnen Begriffen suchen, damit er das passende Cover findet.

Befindet man sich IM Spiel, lässt sich nun mit F1 das Retroarch-Menü aufrufen, bei dem man live diverse Einstellungen ändern.

5. Vorkonfigurierte Installation
Hier (Link geht nun zu Google Drive) habe ich mal die im Tutorial beschriebene, vorkonfigurierte Installation hochgeladen. Die sollte "Out of the Box" für SNES und Megadrive funktionieren, sobald man an den entsprechenden Stellen die Roms einfügt. Bei Problemen: Bescheid geben. Aber nochmal der Hinweis: Man sollte das Tutorial lesen und verstehen, sonst wird man Probleme bekommen, das ganze eigenständig zu erweitern und seinen Vorstellungen anzupassen.

6. Ausblick
Was ich hier beschrieben habe ist das Vorgehen für Windows. Das ganze gibt es auch für andere Betriebssysteme, u.a. MacOS, Linux und Android. Zudem gibt es eine eigene Linuxdistribution (Lakka) und auch eine Distribution für den RaspberryPi (RetroPie). Gerade letzteres finde ich extrem spannend, weil man am Ende für ein paar Euro eine vollständigen, dedizierte Retrokonsole hat, die man überall hin mitnehmen kann und die so einfach und komfortabel funktioniert wie eine echte Konsole. Selber ausprobiert habe ich RetroPie aber bislang noch nicht.

Außerdem zu erwähnen wäre, dass es leider bislang keine Cores für PS2 und von Dolphin gibt und auch der Sega Saturn Core ist erst seit 2016 in Entwicklung und daher noch extrem langsam.

Das wäre es von mir erstmal und ich hoffe ein paar Leute kriegen nun Lust, dass auch mal auszuprobieren. Erzählt mir von euren Erfahrungen und von euren Kindheitstiteln.
Zuletzt geändert von Vinter am 8. Dez 2016, 16:34, insgesamt 8-mal geändert.
Spieleankündigungen und - updates 2024

Alle Spiele
Alle Streams
Robert
Beiträge: 68
Registriert: 14. Okt 2015, 22:22

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von Robert »

Konnte noch nicht alles lesen, aber das Eingangsvideo hat mir schonmal Lust gemacht es demnächst mal auszuprobieren. Habe schon mit Gameboy und Playstation bzw. PS2 Emulatoren rumgemacht. Erstmal vielen Dank für deinen Aufwand Vinter :)
DerSpieler
Beiträge: 411
Registriert: 1. Jun 2016, 21:47

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von DerSpieler »

Danke für die detaillierte Anleitung, sieht super aus und ist auf jeden Fall einen Versuch wert!

Ich habs mal probiert und mit etwas werkeln auch zum Laufen gebraucht (nur das Spiel startet irgendwie noch nicht, wirft mich immer wieder in den Emulator zurück).

2 Sachen:
1. Bei den Controller-Einstellungen musste ich noch "User 1 Analog to Digital Type" auf "Left Analog" stellen damit der linke Analogstick funktioniert als Steuerelement. Kann aber auch am Controller liegen, ist kein Original XBOX360 Controller.
2. Bei mir gab es im Ordner /.emulationstation keine Datei namens "es_systems.cfg" und soweit ich das beurteilen kann auch nicht in Über- oder Unterordnern. Habe sie daher selber erstellt und es hat geklappt.

EDIT: Leider klappt auch ein anderes Spiel mit anderem Dateityp nicht, muss mich mal tiefer einlesen
Gesendet von meinem Taschenrechner ohne grafische Benutzeroberfläche
Benutzeravatar
Vinter
Foul Tarnished
Beiträge: 5061
Registriert: 25. Jan 2016, 02:50

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von Vinter »

Hi! Danke für's Feeback. Es könnte sein, dass Emulationstation die es_systems.cfg erst beim erstmaligen starten erstellt. Das werde ich mal überprüfen.

bzgl. des nicht startenden Spiels: Überprüf doch bitte nochmal in ../Retroarch/Cores den exakten Namen des Emulators und schau nach, ob du den in der es_system.cfg exakt so stehen hast. Von BSNES z.B. gibt es 6 verschiedene Cores, alle mit unterschiedlichen Bezeichnern - wenn du da z.B. versehentlich den falschen heruntergeladen hast und den Konfigurationseintrag aus dem Tutorial so übernommen hast wie er hier steht, passiert genau das, was du beschreibst.

Edit
Wie ich mir dachte: In dem Zipfile ist die es_system.cfg gar nicht explizit enthalten, die wird erst nach dem ersten Start dynamisch erstellt. Das werde ich anpassen.

Bekommst du den eine explizite Fehlermeldung, oder öffnet er kurz das Windows Command Fenster und blendet dann zurück nach Emulationstation?
Spieleankündigungen und - updates 2024

Alle Spiele
Alle Streams
Benutzeravatar
TrueKraut
Beiträge: 312
Registriert: 3. Jun 2016, 13:10
Wohnort: Westerwald
Kontaktdaten:

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von TrueKraut »

Megageiles Tutorial. Thema ist gar nicht meins aber so viel Aufwand sollte mal in Ableton Live Tuts investiert werden :D
nehmen sie 1 identität an!
DerSpieler
Beiträge: 411
Registriert: 1. Jun 2016, 21:47

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von DerSpieler »

Vinter hat geschrieben: Bekommst du den eine explizite Fehlermeldung, oder öffnet er kurz das Windows Command Fenster und blendet dann zurück nach Emulationstation?
Letzteres. Habe es jetzt mit drei verschiedenen SNES-Roms versucht sowie einer für das Megadrive und es ging immer kurz aufs Command Fenster und dann zurück als wäre nichts gewesen, ohne Fehlermeldung.

Die Cores habe ich überprüft und sollte dort keinen Fehler gemacht haben.
Gesendet von meinem Taschenrechner ohne grafische Benutzeroberfläche
Benutzeravatar
Vinter
Foul Tarnished
Beiträge: 5061
Registriert: 25. Jan 2016, 02:50

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von Vinter »

Hast du mal versucht, die von mir vorkonfigurierte Installation zu verwenden? Das würde das Problem eingrenzen.

Nachtrag: Hab mal den Hoster für die Installation gewechselt, das war ja ein Desaster vorher.... sorry dafür.
Spieleankündigungen und - updates 2024

Alle Spiele
Alle Streams
DerSpieler
Beiträge: 411
Registriert: 1. Jun 2016, 21:47

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von DerSpieler »

Deine Konfiguration funktioniert :clap: Hoster hat bei mir vorhin keine Probleme gemacht.

Hab dann nochmal im Detail in die es_systems.cfg geschaut und deine mit meiner verglichen. Irgendwo muss ich da einen Fehler in den Dateipfaden oder Endungen oder Ähnliches gemacht haben, nachdem ich das verändert habe klappt jetzt alles auch mit meiner Konfiguration :)

Vielen Dank!
Gesendet von meinem Taschenrechner ohne grafische Benutzeroberfläche
Benutzeravatar
Vinter
Foul Tarnished
Beiträge: 5061
Registriert: 25. Jan 2016, 02:50

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von Vinter »

Jupp, sowas hab ich mir schon gedacht. Das klang auch von der Beschreibung her so, als würde Emulationstation einfach nur nicht Retroarch finden, also ein Konfig-Problem. Schön zu hören. Dann mal viel Vergnügen :D
Spieleankündigungen und - updates 2024

Alle Spiele
Alle Streams
Benutzeravatar
merkwürdig
Beiträge: 33
Registriert: 14. Nov 2016, 10:11

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von merkwürdig »

Super Tutorial! Ich kann Libretro und Retroarch auch nur weiter empfehlen.

Hab mir vor ein paar Wochen beides auf den HTPC installiert und bin echt begeistert. Das Ganze läuft auch auf Ubuntu super. Insbesondere die Load-/Savefunktion weiss ich sehr zu schätzen :D

Hab mir dazu zwei SNES-Controller von 8Bitdo geholt. Kann ich auch sehr empfehlen. Kabellos und sehr robust.
Benutzeravatar
Void
Beiträge: 48
Registriert: 14. Jun 2016, 08:57

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von Void »

Habe mir gestern ein Rapberry Pi 3 geholt und gleich mal Retropie installiert. Ist schon ne Fummelei das ganze sauber zum laufen zu bekommen, aber es lohnt sich :) Habe das jetzt im Keller (Sportraum) laufen und kann dort über den alten CRT auf dem Crosstrainer zocken oder Filme über Kodi streamen/schauen. 1000x besser als der alte Mediaplayer :)
Benutzeravatar
Vinter
Foul Tarnished
Beiträge: 5061
Registriert: 25. Jan 2016, 02:50

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von Vinter »

Void hat geschrieben:Habe mir gestern ein Rapberry Pi 3 geholt und gleich mal Retropie installiert.
Kannst du mir sagen, wie die Performance von PSX und ggf. Dreamcast auf dem Raspberry Pi 3 ist? Das würde mich dann doch interessieren. Ich schätze mal, N64 und darunter läuft alles sauber?!
Spieleankündigungen und - updates 2024

Alle Spiele
Alle Streams
Benutzeravatar
Void
Beiträge: 48
Registriert: 14. Jun 2016, 08:57

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von Void »

Vinter hat geschrieben:
Void hat geschrieben:Habe mir gestern ein Rapberry Pi 3 geholt und gleich mal Retropie installiert.
Kannst du mir sagen, wie die Performance von PSX und ggf. Dreamcast auf dem Raspberry Pi 3 ist? Das würde mich dann doch interessieren. Ich schätze mal, N64 und darunter läuft alles sauber?!
PSX läuft richtig gut, die Bildqualität ist aber recht unscharf und nicht so, wie man es auf dem Emulator auf dem PC kennt. Auf dem CRT ist das aber gar kein Problem, es sieht 1:1 wie auf meiner alten PSX aus.

N64 habe ich Mario 64 und Ocarina of Time ausprobiert. Mario läuft, wie erwartet, perfekt. Zelda läuft auch sehr gut, es gibt aber ab und an mal einen kleinen Hänger. Ist aber nicht wirklich störend - auf dem original N64 ist es sogar bei 17 fps gelaufen -_-

Dreamcast habe ich Sonic Adventures und Shenmue ausprobiert. Die Emulation ist erstaunlich gut, die Framerate geht aber teilweise tief in den Keller von gefühlten 10 fps. Denke da muss man auf den Raspberry Pi 5 oder 6 warten :)

Für N64 und PSX kann man sicherlich noch einiges an Bildqualität und FPS durch diverese Tweaks rausholen, ist aber dann auch ein rumgebastel :)

Es gibt auch diverese Videos auf Youtube zu solchen Emulatoren.
Mahtan
Beiträge: 54
Registriert: 1. Jun 2016, 02:50

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von Mahtan »

Erstmal danke für den Thread! Emulation ist eine spannende Thematik ich habe schon von vielen begeisterten RetroArch-Nutzern gelesen. Allerdings stimme ich auch Alex zu: Die Programmierarbeit der einzelnen Emulatoren haben hauptsächlich andere Projekte geleistet.

Man muss bei so einem Projekt "Emulationstation" dringend bedenken, dass Emulatoren (spätestens ab PSX/N64) sehr unzuverlässig sind und gerade die weniger bekannten Titel oft fehlerbehaftet emuliert werden. Selbst wenn ein Spiel 100% flüssig läuft, kann es im Laufe des Durchspielens zu einem Problem kommen.

Ich werde nie vergessen, wie ich FF8 perfekt spielen konnte, und dann ePSXe einen Fehler hatte in der damaligen Version, dass das Spiel nach CD3 nicht mehr funktionierte. NOOOOOOOO!

Weitere Beispiele sind: Flackernde Texturen, fehlende Texturen, stotternde Musik, Abstürze, korrumpierte Spielstände, FPS-Drops und und und...

Ich habe mal eine Zeit lang alte PSX/N64/SNES-Titel mit einem portablen Laptop bei Freunden mitgebracht und wir haben dann Crash Team Racing, Bomberman, Diddy Kong Racing, usw. gezockt. Dabei sind desöfteren Probleme aufgetreten (z.B. flackende Split-Screen-Balken, unvorhergesehene Abstürze z.B. bei Sudden Death in Super Smash Bros, usw.), die ich vorher einfach nicht vorhergesehen und getestet habe. Sogesehen waren meine Freunde leider immernoch nur Betatester und am Ende bleiben wir nun doch weiter bei den originalen Spielen & Konsolen.
Meine Party-Maschine ist inzwischen ein Rechner mit 4 PS4-Controllern und Steambibliothek. Da habe ich inzwischen etwa 50 Coop-Spiele für 2-4 Spieler und immer noch viele weitere Titel auf der Wishlist. Es gibt so viele tolle Coop-Spiele auf Steam und die funktionieren meistens ohne Aufwand.

Was die praktische RetroArch-Oberfläche angeht: Ich habe für meinen PC eine kabellose Couch-Tastatur mit Touchpad und habe nie Bedarf gehabt an einer vollständig durch Gamepad steuerbaren Oberfläche. Und selbst dann: Der Dualshock 4 emuliert ja sogar die Maus mit dem Touchpad, wenn man das möchte.

Wer mal Emulation ausprobieren mag und einen potenten Rechner hat, dem gebe ich noch folgende Empfehlung: Dolphin (Gamecube/Wii) ist ein toller Emulator, da er benutzerfreundlich und sehr stabil ist. Außerdem sehen Gamecube-Spiele großartig aus in Full HD und sind bezüglich des Gameplays sehr gut gealtert.
Ein Mario Kart 64 ist im 4-Spieler Modus eine Zumutung, wenn man sie mit der Gamecube-Version vergleicht. Bei Smash Bros ist es noch dramatischer. Allerdings... sind die Wii U Versionen dermaßen gut, dass ich selbst da keinen Bedarf an Emulation habe *g*
Zuletzt geändert von Mahtan am 9. Dez 2016, 23:20, insgesamt 1-mal geändert.
Benutzeravatar
Vinter
Foul Tarnished
Beiträge: 5061
Registriert: 25. Jan 2016, 02:50

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von Vinter »

Void hat geschrieben:
Vinter hat geschrieben:
Void hat geschrieben:Habe mir gestern ein Rapberry Pi 3 geholt und gleich mal Retropie installiert.
Kannst du mir sagen, wie die Performance von PSX und ggf. Dreamcast auf dem Raspberry Pi 3 ist? Das würde mich dann doch interessieren. Ich schätze mal, N64 und darunter läuft alles sauber?!
PSX läuft richtig gut, die Bildqualität ist aber recht unscharf und nicht so, wie man es auf dem Emulator auf dem PC kennt. Auf dem CRT ist das aber gar kein Problem, es sieht 1:1 wie auf meiner alten PSX aus.
Guck mal, ob du noch Bilinear Filtering aktiv hast. Das macht das Bild extrem unscharf und sieht richtig mies aus. Ist in den Videosettings. Ansonsten danke für die Antwort, klingt gut. :dance:

Könntest evtl. auch nochmal Dreamcast ohne BF, VSync, Hardware Sync etc. testen. Weiß nicht, was du da alles ausgeschaltet hast, dass sollte aber nochmal ordentlich Performance raus holen.
Mahtan hat geschrieben: Was die praktische RetroArch-Oberfläche angeht: Ich habe für meinen PC eine kabellose Couch-Tastatur mit Touchpad und habe nie Bedarf gehabt an einer vollständig durch Gamepad steuerbaren Oberfläche. Und selbst dann: Der Dualshock 4 emuliert ja sogar die Maus mit dem Touchpad, wenn man das möchte.
Das mit dem Gamepad ist nett, aber was mich persönlich an Emulationstation viel mehr anmacht ist, dass alles unter einer Oberfläche steckt. Du musst nicht mehr Emulator wechseln, durch unterschiedliche UIs navigieren, Roms direkt aus dem Explorer auswählen, unterschiedlich konfigurieren usw. In der Hinsicht nimmt dir Retroarch deutlich mehr ab als alle Emulatoren, die ich sonst so kenne. Auch die unterschiedlichen Gamepads (z.B. N64 vs PS1 vs Megadrive) legt Retroarch automatisch (und sinnvoll) aufs Xbox 360 Pad, da hat man ebenfalls nichts mit zu schaffen. Kabellose Tastatur/Maus hab ich auch, daran hapert es nicht :D
Erstmal danke für den Thread! Emulation ist eine spannende Thematik ich habe schon von vielen begeisterten RetroArch-Nutzern gelesen. Allerdings stimme ich auch Alex zu: Die Programmierarbeit der einzelnen Emulatoren haben hauptsächlich andere Projekte geleistet.
Afaik werden die Cores von den Originalteams umgesetzt. Deswegen gibt es auch derzeit keinen Dolphin und pcsx2 Core. Es ist also nicht so, als würde sich da die Arbeit anderer Teams zueigen gemacht. Wie gesagt: Libretro und das implementierende Retroarch stellen nur API/Framework.
Zuletzt geändert von Vinter am 9. Dez 2016, 23:39, insgesamt 1-mal geändert.
Spieleankündigungen und - updates 2024

Alle Spiele
Alle Streams
Mahtan
Beiträge: 54
Registriert: 1. Jun 2016, 02:50

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von Mahtan »

Das mit dem Gamepad ist nett, aber was mich persönlich an Emulationstation viel mehr anmacht ist, dass alles unter einer Oberfläche steckt. Du musst nicht mehr Emulator wechseln, durch unterschiedliche UIs navigieren, Roms direkt aus dem Explorer auswählen, unterschiedlich konfigurieren usw. In der Hinsicht nimmt dir Retroarch deutlich mehr ab als alle Emulatoren, die ich sonst so kenne. Auch die unterschiedlichen Gamepads (z.B. N64 vs PS1 vs Megadrive) legt Retroarch automatisch (und sinnvoll) aufs Xbox 360 Pad, da hat man ebenfalls nichts mit zu schaffen. Kabellose Tastatur/Maus hab ich auch, daran hapert es nicht.
Das kann ich gut nachvollziehen. Einzelne Emulatoren, gerade für SNES/N64/PSX sind teilweise uralt und furchtbar kryptisch in der Konfiguration der Controller, ich stimme dir zu, dass RetroArch dahingehend Gold wert ist.
Ein Problem für mich damals war allerdings die unzureichende Kompatibilität mit einzelnen Spielen, wo einzelne Emulatoren dann doch wieder notwendig waren. Allerdings ist das einige Jahre her und zum Glück macht die Emulations-Szene ja ständig Fortschritte!
Benutzeravatar
Vinter
Foul Tarnished
Beiträge: 5061
Registriert: 25. Jan 2016, 02:50

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von Vinter »

Damit hast du aber zwangsläufig den Nachteil, dass du nicht portabel bist, dass du vermutlich auf wenige OS beschränkt bist (-> RetroPi) und dass du trotzdem im Hintergrund 10 oder 12 Emulatoren händisch verwalten musst, was dir bei Libtro alles abgenommen wird. Das Dolphin und PCSX2 nicht unterstützt werden liegt ja nun auch nicht an Libtro, sondern daran, dass beide Entwickler sagen, sie investieren ihre Arbeit lieber in das Perfektionieren ihres Kernprojekts.

Aber das ist ja nun kein Fehler von Libretro. Und bzgl. der "steinalten" Kerne sehe ich mich zumindest momentan nicht mit einem Problem konfrontiert, die Kiste läuft, was will man mehr?

Ah und noch was: Retroarch mit den Frontends zu vergleichen und dem dann bescheinigen "hässlich und unhandlich" zu sein ist auch ein bißchen unredlich.... denn hier wird ja explizit Emulationstation als Frontend genutzt und gerade NICHT Retroarch. Da schaut man nur mal kurz rein, wenn man konfigurieren will und das meiste kriegt man mit dem Menü im Livebetrieb hin.

Im Video oben ist auch zu sehen ist, das jemand auch bereits den GameCube von Dolphin implementiert hat, dass geht scheinbar auch ohne eigenständigen Core. Habe ich mich allerdings noch nicht mit auseinander gesetztl

Ich schau mir deine Vorschläge gerne die Tage an und ich glaub gerne, dass man die unterschiedlichen bzw. "einzelnen" Emus genauso gut hinter anderen Frontends verstecken kann, aber da steht halt der enorme Verwaltungsaufwand im Weg. Das Dingen auf einen USB Stick packen, mitnehmen und beim Kumpel 10 Sekunden spielbereit sein wird vermutlich nicht drin sein, oder? Bzw. das ganze mit Raspberry umzusetzen.
Zuletzt geändert von Vinter am 10. Dez 2016, 00:43, insgesamt 1-mal geändert.
Spieleankündigungen und - updates 2024

Alle Spiele
Alle Streams
Benutzeravatar
Vinter
Foul Tarnished
Beiträge: 5061
Registriert: 25. Jan 2016, 02:50

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von Vinter »

Bzgl Gamepad bzw Profile:

Ich hab bislang für 12 Konsolen in Retroarch exakt eine Sache für das Pad aktiviert, nämlich Steuerkreuz zu Stick. Weiter eingreifen mußte ich gar nicht, den Rest macht Retroarch sehr zufriedenstellend automatisch. Selbst den grotesken N64 Controller hat er intuitiv belegt. Spiel gestartet, einmal jede Taste gedrückt und ich war im Spiel, anders hätte ich den Controller auch nicht belegt :lol:

Mag sein, dass das früher so war, derzeit ist ander das gro der Konfigurationsarbeit mit der Installation von Retroarch gegessen. Videoeinstellungen muss man vornehmen und Cores laden, aber das wars auch schon.
Spieleankündigungen und - updates 2024

Alle Spiele
Alle Streams
Mahtan
Beiträge: 54
Registriert: 1. Jun 2016, 02:50

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von Mahtan »

Vinter hat geschrieben:Bzgl Gamepad bzw Profile:

Ich hab bislang für 12 Konsolen in Retroarch exakt eine Sache für das Pad aktiviert, nämlich Steuerkreuz zu Stick. Weiter eingreifen mußte ich gar nicht, den Rest macht Retroarch sehr zufriedenstellend automatisch. Selbst den grotesken N64 Controller hat er intuitiv belegt. Spiel gestartet, einmal jede Taste gedrückt und ich war im Spiel, anders hätte ich den Controller auch nicht belegt :lol:

Mag sein, dass das früher so war, derzeit ist ander das gro der Konfigurationsarbeit mit der Installation von Retroarch gegessen. Videoeinstellungen muss man vornehmen und Cores laden, aber das wars auch schon.
Kann RetroArch denn dann auch innerhalb eines Emulators verschiedene Controllerprofile komfortabel wechseln?

Ich hatte das Problem, dass ich für Smash Bros z.B. eine andere Steuerung haben wollte, als für Mario Kart. So wollte ich für Mario Kart den L-Trigger deaktiviert haben, damit meine Freunde nicht ständig aus Versehen die Musik muten. Insgesamt hatte ich 6+ Spiele, wo ich spezifische Controller-Konfigurationen benutzt habe.
Benutzeravatar
Vinter
Foul Tarnished
Beiträge: 5061
Registriert: 25. Jan 2016, 02:50

Re: Tutorial: Emulieren für Profis - Libretro, Retroarch, Emulationstation

Beitrag von Vinter »

Kann ich dir ehrlich gesagt nicht sagen, habe das noch nicht probiert.
Spieleankündigungen und - updates 2024

Alle Spiele
Alle Streams
Antworten