Erfahrungen mit Sx05RE

  • hat hier jemand das CoreELEC-Addon Sx05RE in Benutzung?
    https://discourse.coreelec.org/t/sx05re-retro…or-testing/3203
    Läuft viel besser als der Retroplayer in Kodi 18.

    Allerdings gilt das nicht für alle Systeme - MAME-Spiele laufen, aber meinen Bluetooth-Controller erkennt AdvanceMAME nicht.
    Vermutlich ein Fehler in der Konfiguration.
    Bei allen anderen Sysstemen in EmulationStation kann ich meinen Bluetooth-Controller verwenden, nur bei MAME-Spielen nicht

    Hat jemand eine Lösung?

  • ich antworte mir mal selbst: Ich hatte zuerst die veraltete Version 2.3 runtergeladen, aber die neue Version 2.5 hatte dasselbe Problem.

    Es gibt da 3 Möglichkeiten, MAME-ROMs drauf zu packen:

    - ins roms\mame-Verzeichnis: war jetzt meine erste Anlaufstelle, aber die ROMS dort listete Emulationstation nicht auf. Der ZIP-Dateityp war dem MAME-System in der Systems-Einstellungsdatei von Emulationstation aber schon zugeordnet.
    - ins roms\mame-advmame: dort liegen die ROMS für den Advanced MAME-Emulator, den der Autor des Addons scheinbar bevorzugt. Problem dabei war aber wie gesagt, dass er die ROMS zwar erkannte und die Spiele startete, aber ich meinen Controller anschließend nicht benutzen konnte. Unabhängig vom Libretro/Retroarch-System scheint das eine Standalone-Version des Emulators zu sein.
    - ins roms\arcade-Verzeichnis. Das Verzeichnis existiert nicht per Default, kann aber händisch angelegt werden. MAME-Roms, die dort reingestellt werden, werden automatisch aufgelistet über eine "Arcade"-Seite in EmulationStation. Allerdings, das ist nicht so direkt ersichtlich, kann man in EmulationStation mehr MAME-Versionen auswählen als tatsächlich installiert sind. Es ist nur MAME2003_PLUS (und Advanced Mame) für libretro im Addon enthalten gewesen, etwas anderes in EmulationStation auszuwählen hat keinen Effekt, dann startet kein MAME-Spiel.

    MAME2003 war mir zu alt und AdvanceMAME ging ja nicht, also habe ich nach der Datei
    MAME2010_libretro.so
    gesucht (z. B. von hier: https://buildbot.libretro.com/nightly/linux/armhf/latest/)
    und in das lib-Verzeichnis für den sx05re-Verzeichnis gepackt (/storage/.kodi/addons/script.sx05re.launcher/lib/libretro).
    Anschließend in EmulationStation als Version MAME2010 für MAME-Spiele ausgewählt.

    Anschließend ging es dann... MAME2014 wäre wohl noch besser aber vorerst reicht das....

  • sogar SCUMMVM läuft im Sx05RE-Build besser als die Retroplayer-Version von Kodi.
    Allerdings hatte ich das "Problem", dass ich beim Starten von SCUMMVM-Spielen aus der Emulationstation heraus immer als erstes das Menü von SCUMMVM zu sehen bekam, und dann das Spiel nochmal auswählen musste.

    Das Problem war recht banal.

    Das System erwartet eine bestimmte Datei in jedem Ordner eines Scummvm-Spieles.
    Diese Datei muss als Dateinamen so lauten, zb für das Spiel "Day of the Tentacle":
    - Dateiname tentacle.svm
    - Inhalt: tentacle
    Als Kurznamen für jedes Spiel kann man sich an dieser Liste orientieren:
    https://www.scummvm.org/compatibility/2.0.0/

    Es gibt da einen Fehler in den Scripten von Sx05RE (Version 2.5):
    Der Name dieser Datei muss in dieser Version auf .svm für jedes Spiel enden.
    Es gibt da aber eine Einstellungsdatei für Scummvm im folgenden Verzeichnis:
    /storage/.kodi/addons/script.sx05re.launcher/lib/libretro
    und die Datei heißt
    scummvm_libretro.info

    Und in dieser Datei gibt es folgende Zeile:
    supported_extensions = "scummvm"
    Damit der Autostart von Scummvm-Spielen funktioniert, ohne dass zuerst das interne Menü von Scummvm erscheint, sollte die Zeile wie folgt geändert werden:
    supported_extensions = "svm"

    Das kann man mit einem Tool wie WINSCP erreichen.
    Das ganze ist wahrscheinlich aus einer Abweichung zu Recalbox/Retropie entstanden, da dort diese Dateien auf .scummvm enden.

  • Tip, falls noch jemand Sx05RE verwendet:
    Per Winscp die Einstellungsdatei es_systems.cfg im Verzeichnis
    /storage/.emulationstation
    bearbeiten und in der Zeile <extension> je nach Emulator die Dateiendungen .zip .ZIP hinzufügen (ist eine XML-Datei).

    Damit lässt sich eine Menge Platz sparen, bei vielen Emulatoren sollte das funktionieren...
    Der Nachteil, das Starten eines Spiels dauert etwas länger und zum Entpacken sollte immer 1 GB oder so an Platz frei bleiben auf der Speicherkarte...

  • Übrigens kann man die ROMs auf einen externen Datenträger (MicroSD, USB-Stick) auslagern, in dem man im Hauptverzeichnis ein Verzeichnis roms anlegt, und in diesem Verzeichnis muss eine leere Datei namens sx05reroms liegen.
    Das Addon liest die ROMs dann automatisch vom externen Datenträger.

    Nachdem ich aber die ROMs ausgelagert hatte, wurden Änderungen an den Emulationstation-Listen Last Played/Favorites nicht mehr abgespeichert.
    Keine Ahnung woran das lag, jedenfalls kann man per Winscp die Datei
    es_settings.cfg
    im Pfad
    /storage/.emulationstation
    ändern indem man die Einstellung
    <bool name="SaveGamelistsOnExit" value="false" />
    auf true setzt. Im Emulationstation-Menü kann man das scheinbar nicht einstellen?!

    Damit macht sich das Sx05RE-Addon wirklich ganz gut. Runterladen kann man es hier:
    https://discourse.coreelec.org/t/sx05re-retro…or-testing/3203
    https://github.com/shantigilbert/…/tag/addon_v2.5

    Für Playstation-ROMs sollte man sich die Anleitung von PCSX Rearmed hier durchlesen:
    https://docs.libretro.com/library/pcsx_rearmed/
    Denn je nach Spiel wird man z. B. auch CDs wechseln müssen.

    Ich empfehle im versteckten Retroarch-System, über welches man über eine Controller-Tastenkombination während des Spielens reinkommen kann, die Einstellung "Enhanced Resolution" für Playstation-Spiele zu aktivieren.
    Dann wird die Auflösung verbessert, was bei Playstation 1-Spielen auf großen Fernsehern dringend zu empfehlen ist.
    Bei manchen Spielen ruckelt es aber dann oder die Musik stockt, dann sollte man es wieder deaktivieren.
    PCXS Rearmed kann eine Einstellungsdatei pro Spiel abspeichern, so dass man es individuell deaktivieren kann.

    Ansonsten fällt mir noch ein, dass es bei alten Kamellen wie "Resident Evil 3" und "Parasite Eve 2" wegen des Kopierschutzes zu Startproblemen im Emulator kommt.
    Dann muss man nach den fehlenden "SBI Files" googlen.

    Übrigens: Über das "Internetarchiv" kann man kostenlos und legal alte Konsolen- und Arcade-Spiele runterladen.
    Die Downloadlinks nenne ich jetzt nicht, aber das Internetarchiv ist offiziell als Bibliothek anerkannt und hat für das Bereitstellen alter ROMs sogar eine Ausnahmeregelung in den US-Copyrightgesetzen DMCA erhalten, siehe Wikipedia:
    https://de.wikipedia.org/wiki/Internet_Archive
    Das Internetarchiv dürfte somit als eine der wenigen offiziell legalen Quellen für alte Spiele gelten.

    Wenns legal ist, sollte man ja auch mal auf sowas hinweisen dürfen.

    --------------------------------------------------------------------------------------
    Nachtrag: Soweit ich das sehe ist noch die Version 2.5 von Sx05RE aktuell und Shanti Gilbert arbeitet eher an einer neuen Version von EmuELEC, was wohl eine Standalone-Version ohne Kodi für Amlogic-Boxen ist.
    Man muss aber nicht auf neue Versionen von Sx05RE warten wenn es einem nur um neue Versionen der Emulatoren geht.

    Man kann neue Kompilate der libretro-Emulatoren von
    https://buildbot.libretro.com/nightly/linux/armhf/latest/
    nehmen und dann die Datei einfach nach
    /storage/.kodi/addons/script.sx05re.launcher/lib/libretro
    kopieren. Gerade mit Doxbox getestet, geht auch. Beim Austauschen von Dateien trotzdem immer eine Kopie der alten Datei vorher machen....

    Für Dosbox kann man diese Anleitung berücksichtigen:
    https://github.com/libretro/dosbo…r/README.DOSBOX

  • Das Sx05RE-Addon (Stand Version 2.5) bringt auch Emulatoren (Libretro Cores) für Doom, Quake, Atari Jaguar und andere Systeme mit, die aber gar nicht in Emulationstation eingebunden werden.
    Was es an verfügbaren Libretro-Cores gibt kann man hier sehen:
    https://docs.libretro.com/library/2048/
    Und welche lokal installiert sind sieht man in dem Verzeichnis
    /storage/.kodi/addons/script.sx05re.launcher/lib/libretro

    Um diese "Native Ports" von Doom, Quake etc. einzubinden habe ich die Skripte bei mir wie folgt angepasst:
    1. Auf dem Datenträger im roms-Verzeichnis ein ports-Verzeichnis mit weiteren Unterverzeichnissen erstellen:
    cavestory
    dinothawr
    doom
    outrun
    quake
    rickdangerous

    2. im Verzeichnis
    /storage/.emulationstation
    das Skript
    es_systems.cfg
    wie folgt anpassen: Vor dem schließenden </systemList> folgende Zeilen hinzufügen:
    <system>
    <name>ports</name>
    <fullname>ports</fullname>
    <path>/storage/roms/ports</path>
    <extension>.wad .WAD .pak .PAK .game .GAME .exe .EXE .zip .ZIP</extension>
    <command>/storage/.kodi/addons/script.sx05re.launcher/bin/sx05reRunEmu.sh LIBRETRO_PORTS %ROM%</command>
    <platform>ports</platform>
    <theme>ports</theme>
    </system>

    3. im Verzeichnis
    /storage/.kodi/addons/script.sx05re.launcher/bin
    das Skript
    sx05reRunEmu.sh
    wie folgt anpassen: Innderhalb des CASE-Blocks "case $1 in" und vor dem schließenden "esac" folgende Zeilen hinzufügen:

    "LIBRETRO_PORTS")
    if [ `echo $2 | grep -c "doom"` -eq 1 ];
    then
    RUNTHIS='/storage/.kodi/addons/script.sx05re.launcher/bin/retroarch -L /storage/.kodi/addons/script.sx05re.launcher/lib/libretro/prboom_libretro.so "$2"'
    fi

    if [ `echo $2 | grep -c "quake"` -eq 1 ];
    then
    RUNTHIS='/storage/.kodi/addons/script.sx05re.launcher/bin/retroarch -L /storage/.kodi/addons/script.sx05re.launcher/lib/libretro/tyrquake_libretro.so "$2"'
    fi

    if [ `echo $2 | grep -c "outrun"` -eq 1 ];
    then
    RUNTHIS='/storage/.kodi/addons/script.sx05re.launcher/bin/retroarch -L /storage/.kodi/addons/script.sx05re.launcher/lib/libretro/cannonball_libretro.so "$2"'
    fi

    if [ `echo $2 | grep -c "rickdangerous"` -eq 1 ];
    then
    RUNTHIS='/storage/.kodi/addons/script.sx05re.launcher/bin/retroarch -L /storage/.kodi/addons/script.sx05re.launcher/lib/libretro/xrick_libretro.so "$2"'
    fi

    if [ `echo $2 | grep -c "dinothawr"` -eq 1 ];
    then
    RUNTHIS='/storage/.kodi/addons/script.sx05re.launcher/bin/retroarch -L /storage/.kodi/addons/script.sx05re.launcher/lib/libretro/dinothawr_libretro.so "$2"'
    fi

    if [ `echo $2 | grep -c "cavestory"` -eq 1 ];
    then
    RUNTHIS='/storage/.kodi/addons/script.sx05re.launcher/bin/retroarch -L /storage/.kodi/addons/script.sx05re.launcher/lib/libretro/nxengine_libretro.so "$2"'
    fi
    ;;

    Die Verzeichnisnamen sind jetzt hartkodiert drinnen, aber ist ja egal.
    Jedenfalls kann ich damit diese Libretro-Ports von Doom, Quake etc. einbinden und habe nur eine einzelne zusätzliche Seite "Ports" in Emulationstation hinzugefügt.

    Für Doom und Quake empfehle ich die Auflösung in Retroarch auf mind. 640x400 hochzustellen, dafür sind die Amlogic-Boxen schnell genug.

  • Im Sx05RE-Addon fehlt auch die Unterstützung des Neo Geo CD-Systems.
    Retroarch muss zum Start eines Neo Geo CD-Spiels eine weitere Option "--subsystem neocd" übergeben werden.
    Quelle: https://forums.libretro.com/t/guide-play-n…ing-fbneo/17735

    Also, um Neo Geo CD-Unterstützung hinzuzufügen:
    1. im Verzeichnis
    /storage/roms
    einen Ordner neogeocd hinzufügen
    2. für Emulationstation in der Datei es_systems.cfg folgenden Abschnitt hinzufügen:
    <system>
    <name>neogeocd</name>
    <fullname>Neo Geo CD</fullname>
    <path>/storage/roms/neogeocd</path>
    <extension>.zip .ZIP .cue .CUE</extension>
    <command>/storage/.kodi/addons/script.sx05re.launcher/bin/sx05reRunEmu.sh LIBRETRO_NEOGEOCD %ROM%</command>
    <platform>neogeocd</platform>
    <theme>neogeocd</theme>
    </system>
    3. im Script sx05reRunEmu.sh innerhalb des "case $1 in"-Abschnitts folgende Abfrage hinzufügen:
    "LIBRETRO_NEOGEOCD")
    RUNTHIS='/storage/.kodi/addons/script.sx05re.launcher/bin/retroarch -L /storage/.kodi/addons/script.sx05re.launcher/lib/libretro/fbalpha_libretro.so --subsystem neocd "$2"'
    ;;

    Danach lassen sich dann Neo Geo CD-Spiele starten, mit Final Burn Alpha als Libretro-Core...
    Wobei die Seite in Emulationstation dann mit schwarzer Schrift ohne Bilder dargestellt wird.
    Im Verzeichnis
    /storage/.emulationstation/themes/es-theme-ComicBook
    des Themes "ComicBook" für Emulationstation fehlt nämlich ein Ordner für das Neo Geo CD-System, es ist nur der Ordner für das Standard Neo Geo vorhanden.
    Man kann dort den neogeo-Ordner kopieren und ihn einfach neogeocd nennen, hat dann dieselben Bilder wie das Standard-NeoGeo-System, aber besser als nix.
    Wundert mich dass Emulationstation bzw. das Theme dort nicht genauer unterscheidet, denn zwischen Sega Genesis/MegaDrive und Sega CD oder Amiga und AmigaCD32 wird ja auch unterschieden.
    Egal, das ist nur Optik.

    Das Philips CDi habe ich leider nicht zum Laufen gebracht.

    Warum mein Controller unter dem Standalone-Emulator AdvanceMame nicht lief, ist mir aber noch klar geworden.
    Die Konfigurationsdatei für AdvanceMame advmame.rc, die per default von den Sx05RE-Skripten nach /storage/.advance kopiert wird, ist nicht gut.
    Ich empfehle die Zeilen

    input_map[coin1] keyboard[0e8f_2519,5] or joystick_button[046d_c21d,6]
    input_map[start1] joystick_button[046d_c21d,7] or keyboard[0e8f_2519,1]
    input_map[ui_cancel] joystick_button[046d_c21d,thumbl] or keyboard[0e8f_2519,esc]

    durch

    input_map[coin1] auto
    input_map[start1] auto
    input_map[ui_cancel] auto

    zu ersetzen, danach funktionieren nämlich die Tabulator-, 1 und 5-Tasten auf der Tastatur (zum Aufrufen des Konfigurationsmenüs von Mame, einwerfen von Münzen und Starten von Spielen).
    Wenn man die Konfigurationsdatei geändert hat, kann man ein Spiel starten, die Tabulator-Taste drücken und die Tasten auf dem Gamepad richtig mappen.
    Das muss man bei AdvanceMame machen, weil es ein Standalone-Emulator ist und nichts mit Retroarch zu tun hat.

    Bei meinen Tests taugte AdvanceMame aber nicht viel, bei vielen Spielen blieb das Bild schwarz.
    Da empfehle ich eher, über die BuildBot-Seite von Retroarch Mame2010 und Mame2014 zu übernehmen.
    Mame2014 startet auch neuere Spiele wie Killer Instinct oder Area51, dafür sind aber die Amlogic-Boxen zu langsam.
    -----------------------------------------
    Ansonsten würde mich noch die Blade Runner-Unterstützung interessieren, die mit ScummVM 2.1 kommen wird.
    Auch wenn man über die BuildBot-Seite neue Nightlys von ScummVM für Retroarch runterladen kann basieren die immer noch auf ScummVM 2.0, so dass ich Blade Runner bei mir noch nicht ans Laufen gebracht habe.
    Würde mich interessieren, wann die Final-Version von ScummVM 2.1 erscheinen wird.
    -----------------------------------------
    Außerdem interessant wären für mich noch Wolf4SDL und eDuke32, die funktionieren leider nicht unter CoreELEC/Sx05RE, weil ihm da SDL-Bibliotheken fehlen.
    -----------------------------------------
    Achja, und den Libretro-Core "OpenLara" (Tomb Raider-Engine für Retroarch) hatte ich auch getestet, aber nicht zum Laufen gebracht.
    Warum wird der OpenLara-Core unter
    https://buildbot.libretro.com/nightly/linux/armhf/latest/
    eigentlich nicht aufgelistet? Ist der Core nachträglich rausgenommen worden oder so?

    Es ist schwer aktuelle Binaries des OpenLara-Cores für ARM-Prozessoren und Linux-Systeme zu finden.

  • Wollte mich mal für Deine unermüdlichen Tips zu Sx05RE bedanken. Ich betreibe das EmuELEC-Addon (script.emuelec.Amlogic-ng.launcher-2.5.4) auf meiner A95X-Max (S905X2) die Roms liegen auf der internen SSD. An Emus kommen bei mir dann hauptsächlich Dreamcast,N64 und PSX zum Einsatz das läuft schpn ganz anständig ich hatte vorher den Raspi 3+ mir RetroPi dafür verwendet aber DC-Games waren einfach zu viel für den kleinen die Amlogic NG-Box geht hierfür erheblich besser.

    ############################ LibreELEC/CoreELEC TV-Boxen #############################
    Amlogic: Mecool K2 Pro 2/16GB, Beelink Mini MXIII II 2/16GB
    Amlogic NG: X96 Max 2/16GB, A95X Max 4/64GB, X96Air 4/32GB
    HTPC: Intel NUC7CJYH - Milhouse LibreELEC-Build
    ########################################################################

  • die mitgelieferte Retroarch-Version von Dosbox hat eine Macke.

    Dosbox unterscheidet zwischen 2 Befehlen, um Dateien/Verzeichnisse vom Wirts- ins Gastsystem zu mounten:
    1. mount (direktes Mounten von Verzeichnissen des Wirtssystems als Laufwerk)
    2. imgmount (mounten von Iso-CD-Images als Laufwerk)

    Als ich mittels mount ein Verzeichnis von einer mit exfat formatierten MicroSD-Karte mounten wollte (also ein externes Laufwerk), konnte ich mir am DOS-Prompt zwar die Dateien und Unterverzeichnisse im Wurzelverzeichnis auflisten lassen.
    Aber jedes Unterverzeichnis, in das ich mit CD wechselte, zeigte mir am DOS-Prompt keinerlei Dateien an.
    Das ist natürlich für DOS-Batchskripte problematisch, wenn er in Unterverzeichnisse wechselt und dort keinerlei Dateien findet (obwohl sie auf dem Wirtssystem vorhanden sind).
    Das kann eigentlich nur ein Fehler sein.

    Mountete ich dagegen ein Verzeichnis vom internen Speicher meiner CoreELEC-Box ins Dosbox-System, funktionierte am DOS-Prompt alles einwandfrei.
    Ich konnte mir also alle Dateien in jedem Unterverzeichnis auflisten lassen.

    Mit gemounteten ISO-Dateien gab es natürlich keine Probleme, aber die kann man ja nicht immer verwenden (Speicherstände z. B.).

    Es könnte also sein, dass andere Leute Probleme mit Dosbox-Spielen unter Sx05RE haben werden.
    Vorausgesetzt, sie verwenden statt dem internen Flashspeicher eine externe Speicherkarte oder einen USB-Stick für die ROMs.

    Performance-technisch lässt sich auf einer Amlogic S905x-Box mittels der Retroarch-Version von Dosbox leider nicht viel reissen, 3D-Shooter wie Duke Nukem kriege ich nicht ruckelfrei ans laufen.
    Mit einer "nativen" Dosbox-Version, die nicht unter Retroarch läuft, könnte man wahrscheinlich aufwendigere Spiele spielen.
    Eine solche Version liegt dem Sx05RE-Addon aber leider nicht bei...

  • Das letzte Release von Sx05RE ist Version 2.5 vom April, also schon 6 Monate her. Seitdem liegt der Focus von Shanti Gilbert eher auf EmuElec, einer Standalone-Version ohne KODi.

    Mit ausbleibenden Updates von Sx05Re und fortschreitenden, zudem automatischen, Updates von CoreElec wird Sx05RE zunehmend inkompatibel werden.

    Wäre es da nicht sinnvoller, Sx05RE als Docker-Container zu realisieren um Abhängigkeiten von Bibliotheken des Betriebssystems etc zu verringern? Sx05RE scheint mir ein 1 Mann-Projekt zu sein.

  • So wie ich das verstanden habe, soll es auch von EMUelec irgendwann eine Addon-Variante geben. Er muss halt nur mal Zeit haben, das alles zu machen.Update


    Es scheint sogar gerade die erste Vorabversion der ADDon-Variante im Coreelec-Forum zu geben.

    2 Mal editiert, zuletzt von gueschmid (11. November 2019 um 21:32) aus folgendem Grund: Update

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!