Wie kann ich ein Spiel automatisch Starten lassen (Kiosk Modus)
-
@alvin Hi Alvin,
nun, ich habe alle drei Partitionen sowohl mit der Suchfunktion wie auch manuell nach diesem "share_init" Ordner durchsucht, aber er ist nicht vorhanden. Auch ein Häckchen bei "show hidden files" in Caja hat nichts gebracht.
Daraufhin habe ich alles durchsucht und einfach mal den Ordner als Screenshot gezeigt in dem als einziger alle die Spiele aufgelistet sind. In den readme Dateien (im Ordner ROMS) steht jedoch, dass man seine ROMs hierher kopieren solle: "...Kopiere deine <game> roms hier her...", also dachte ich soweit bin ich am richtigen Ort.Ich habe dann aber schnell gemerkt dass da offenbar recht viel umstrukturiert wurde, das ist immer schade, denn dann funktionieren all die Tutorials und Tipps von Foren erst mal nicht mehr...
Auf die Idee, eine ältere Version zu besorgen bin ich zunächst gar nicht gekommen. Ich wüsste jetzt auch grad nicht woher nehmen, ich hab schon danach gesucht, aber nichts schlaues zum Downloaden gefunden.
Bisher hatte ich meine recalbox über den Raspberry Pi Imager bekommen.Ja, ich habe bisher immer die SD Karte am PC ausgelesen, mit einem Ubuntu Mate 20.04
Vielleicht ist genau das das Problem.
Ich werde mal dieses SSH ausprobieren, ich hatte schon davon gelesen. -
@denis-0 ich kann dir gerne eine bebilderte Anleitung erstellen. Aber erst am Freitag oder Sonntag.
Einfach Mal ein Terminal öffnen (Strg+t) dann folgenden Befehl eingebenssh root@ip_deiner_recalbox
Dann kannst du dich mit dem Standard Passwort anmelden
recalboxroot
Und dann den mount Befehl den ich dir hier schon geschrieben habe Ausführung.
Und dann kannst du dich zu dem besagten Ordner navigieren
cd /recalbox/share_init
Und dort sollte alles sein.
-
@rollbrett Hallo Rollbrett,
ich habe nun dieses SSH mal ausprobiert, obschon ich immer einen Bogen darum gemacht hatte. Zum Glück hatte ich Username und Passwort bereit. Bei meinen Recherchen hatten sich so einiges an Infos angesammelt.
Auch war ich bereits in diesem Terminal Modus, durch drücken von F4 (am Raspi) und danach <alt> F2 kommt man in die Befehlszeile. Ich fand es dann bequemer, die SD Karte via PC zu bearbeiten. Mit Folgen, wie wir gesehen haben, denn, oh Wunder, das Verzeichnis mit all den Spielen war da plötzlich vorhanden !!!
Die Bedienung, für mich als alten DOS Hasen, halt irgendwie zunächst ungewohnt, aber dann ging es.Nun habe ich den wirklichen Pfad des Spiels herausgefunden und möchte es beim Start automatisch ausführen. Ich weiss aber nicht mit welchem Programm, ich habs in der Befehlszeile mit bash probiert, aber er zeigte gleich einen Fehler in Zeile1.
Als Emulator zeigte es mir PC Dos an, in der Speileliste -
@denis-0 Vielen Dank Rollbrett, da haben sich unsere Posts wohl gleich gekreuzt. Terminal Zugriff funktioniert bestens, alles gut.
Nun, ich versuche nun einfach mal die restlichen "störenden" Spiele zu löschen.Im weiteren habe ich nun ein Beispiel, was schon mal bei einem User funktioniert hatte, auf meine Ordnerstruktur abgeändert:
In die Dateietc/init.d/S32customrom
habe ich die Zeile
python /usr/lib/python3.9/site-packages/configgen/emulatorlauncher.pyc -system nes -rom /recalbox/share_init/roms/nes/"Lawn Mower (Shiru)"/label_fami.png
eingefügt. (Das ist nur zum Test, ich möchte dann später das Spiel dinothawr.game starten). Danach habe ich den Befehl
chmod +x S32customrom
ausgeführt.
sudo chmod +x S32customrommacht er mir nicht, es kommt immer eine Fehlermeldung.
Aufhebung des Schreibschutzes hat auch prima geklappt.
Aber er startet mir nicht ins Spiel, sondern wie gewohnt in die emulation Station -
@rollbrett Mh, ich habe nun die Spiele in der Kategorie "ports" bis auf eines gelöscht, und es werden nun noch fünf Spiele angezeigt und diese können auch ausgeführt werden ! Eine Nachkontrolle ergab, dass ein LS Befehl im Ordner ports nur das eine von mir stehengelassene Spiel zeigte.
Merkwürdig. -
@denis-0 Kleines Update: Nachdem ich nun die überflüssigen Spiele im Ordner /SHARE/roms/ports auch noch gelöscht habe, zeigt er mir beim Start endlich nur noch ein Spiel an. Ich hatte diese Spiele zuvor schon mal gelöscht (also eigentlich enthielten sie nur diese readme dateien) und beim nächsten Neustart waren sie wieder hergestellt. Nur jetzt als ich sie auch in /recalbox/share_init/roms/ports gelöscht hatte, wurden sie nicht wieder hergestellt.
Nun bin ich eigentlich am Ziel, die einzige Möglichkeit nach dem Start ist es dieses Spiel auszuwählen, es wird nur noch dieses Spiel angezeigt. (Screenshot hat leider nicht geklappt)
Das Karussell hatte ich bereits deaktiviert, und irgendwo in den Untiefen der Menustruktur irgendwas mit "boot into gamelist" angekreuzt, damit er mir nicht alle Kategorien zur Auswahl anzeigt.
Dann in der Datei Recalbox.conf
emulationstation=bartop
dies sperrt die meisten settings (Kiosk Modus). Zudem die Tastatur versteckt. Also es sind auf dem Spielbrett nur die Richtungstasten sowie die Buttons "Starten" und "Zurück" vorhanden. -
@denis-0 Also mal zusammengefasst: Autostart geht zwar noch nicht, aber zumindest ist beim Start nur noch ein Spiel zur Auswahl. Ich kann das mal so lassen, das ist soweit ok.
Nun lese ich mich mal in dieses Recalbox Wicki ein und ich würde mich allenfalls nochmals hier melden, falls ich weitere Hilfe bräuchte.
Vielen lieben Dank euch ! Nun kann ich das Puzzle langsam vervollständigen. -
@denis-0 Wäre es für dich nicht einfacher, wenn du dir einfach RaspbianOS installierst und dort in den Autostart dein Spiel der Wahl legst, dass dieses Automatisch gestartet wird?
-
@rollbrett said in Wie kann ich ein Spiel automatisch Starten lassen (Kiosk Modus):
@denis-0 Wäre es für dich nicht einfacher, wenn du dir einfach RaspbianOS installierst und dort in den Autostart dein Spiel der Wahl legst, dass dieses Automatisch gestartet wird?
Hallo rollbrett,
du hast von solchen Sachen mehr Ahnung wie ich, aber ist RaspbianOS (heist jetzt wohl Raspberry Pi OS) nicht ein Betriebssystem ?
Bräuchte er da nicht erst mal eine passenden Emulator um das Spiel (über Autostart) zu starten ?
Oder sind solche Emulatoren in RaspbianOS enthalten ?
Ich denke mal nicht, dass das Spiele-Rom einfach so unter RaspbianOS läuft oder liege ich da falsch (Sorry bin in dem Bereich Laie)@Denis-O:
Um welches Spiel handelt es sich, denn das da automatisch gestartet werden soll ?
Verstehe ich das überhaupt richtig:
Du willst nur ein Spiel auf dem Raspberry spielen und hast kein Interessse daran, andere Emulatoren und Spiele zu nutzen ? -
@alvin Naja um laienhaft klugzuschei** :
RecalboxOS ist auch ein Betriebssystem.
Nur ist das ja so eine Sache mit GNU/Linux xD beide Distributionen basieren auf GNU/Linux, somit sind Raspberry Pi OS (danke für den Hinweis) und RecalboxOS Distributionen die auf dem Betriebssystem GNU/Linux basieren.Wenn er sich für Rasberry Pi OS entscheidet benötigt er dann noch einen passenden Emulator, da hast du vollkommen recht.
Aber der wird wahrscheinlich im Paket Repository verfügbar sein.
Ich denke mir das die ganzen Einstellungen einfacher in Raspberry Pi OS umzusetzen sind.
Man hat eine Grafische Desktop Umgebung, kann Software nach installieren usw. -
@alvin said in Wie kann ich ein Spiel automatisch Starten lassen (Kiosk Modus):
Um welches Spiel handelt es sich, denn das da automatisch gestartet werden soll ?
Verstehe ich das überhaupt richtig:
Du willst nur ein Spiel auf dem Raspberry spielen und hast kein Interessse daran, andere Emulatoren und Spiele zu nutzen ?Richtig. Und es braucht da auch den passenden Emulator. Deshalb laufen die Spiele nur, wenn man sie in den passenden Ordner kopiert (zB NES).
Dann sollte noch der Tastentreiber gestartet werden. Er muss editiert werden können (Zuweisung von den verschiedenen GPIO zu den Tastenfunktionen des Spiels, also es reicht wenn ein Tastendruck auf einer tastatur emuliert wird). Oder aber es sollte ein menu geben wie in recalbox, bei dem man einfach ins Einstell menü geht und die entsprechende Tasten durch drücken zuweist.Ich möchte Dinothawr laufen lassen. Siehe mein letzter Screenshot, das zeigt Inhalt des Ordners in dem es abgelegt ist.
Theoretisch käme auch ein gleichwertiges Denkspiel in Frage, es sollte etwas mit kombinieren / Knobeln zu tun haben.
Dinothawr hat mir gefallen weil man praktisch automatisch reinkommt in die Spielregeln. Man merkt sehr schnell wie es läuft. Man kann auch die Schwierigkeitsstufen überspringen.
Eigentlich hatte ich ürsprünglich Arcade Games im Visier, da habe ich bereits ein System auf einer SD Karte welches fixfertig konfiguriert ist für Arcade Kabinets. Mein Kollege hatte da viel geduld und Zeit reingesteckt. Es läuft auf Regamebox, benötigt eine Adapterplatine und läuft nur ab RPi 3 B+. Recalbox läuft hingegen auf RPi 3 B, von dem ich einen habe. RPis sind ja momentan ausverkauft...
Daher die Zwischenlösung mit dem RPi 3 B -
@rollbrett
Danke für die Auskunft, wieder was dazugelernt.
Fragt sich aber, ob es den passenden Emulator "Libretro DinoThawr"
https://wiki.recalbox.com/en/emulators/ports/dinothawr/libretro-dinothawr
(das will Denis-O ja laufen lassen) in der Rasberry Pi OS Repository findet.@Denis O
Wenn du nur ein Spiel laufen lassen willst und nur ein Spiel auf der Recalbox hast, warum dann der Aufwand ?
In's Recalbox-Hautpmenü gehen, dann in "Erweiterte Einstellungen" -> "Boot Einstellungen"
Hier dann erst mal alles auf "Off" stellen.
Danach trägst du bei "In System Booten" das System ein, in dem "Dinothawr" eingetragen ist (da ich Recalbox 8 nicht verwendet habe ich keine Ahnung wie sich das nennt, ich glaube es ist "Ports")
Dann setzt du noch "In Spieleliste Booten" auf "ON"
Beim nächsten Start sollte Recalbox dann in dem System booten, in dem sich "Dinothawr" befindet und dir den Namen des Spiels anzeigen.
Jetzt nur noch einen Button auf dem Joypad gedrückt und das Spiel startet.Soweit bist du ja glaube ich schon, wie ich einem deiner obigen Posts entnehmen konnte
Ich weiß jetzt leider nicht, wozu du da noch irgendeinen Tastaturtreiber brauchst und einbinden willst, das Spiel lässt sich doch komplett über ein Joypad steuern.
Belegung siehe hier
http://themaister.net/dinothawr/shield.png
den Link zum Bild habe ich von hier
https://github.com/Themaister/Dinothawr/blob/master/README.mdDen Controller kannst du einfach unter "Recalbox-Hautpmenü" -> "Controller Einstellungen" -> "Controller Konfigurieren" einstellen.
Wenn du per Tastatur spielen willst, schließ einfach eine PC USB-Tastatur an den Raspberry an.
Die Tastatur kannst du einstellen in dem du unter "Recalbox-Hautpmenü" -> "Systemeinstellungen" -> "Sprache" auf "Deutsch" und "Tastatur" auf "DE" setzt.Noch ein Typ:
Wenn du viele Systeme und viele Spiele auf deiner Recalbox hast, und davon immer nur einige spielen willst, dann markiere das entsprechende Spiel als "Favorit"
Dann im Recalbox-Hautpmenü ->"Erweiterte Einstellungen" -> "Boot Einstellungen" -> "In System Booten" die Einstellung "Favorites" (oder "Favoriten") wählen und es werden dir unabhängig vom System nur die Spiele angezeigt, die du als "Favoriten" markiert hast. -
Vielen Dank für deinen Link zum Emulator. Wieder eine neue Ecke im recalbox Wiki die ich jetzt entdeckt habe.
Ja, da habe ich mich auch gefragt was das ist, normalerweise bin ich bei manchen Spielen dem Libretro begegnet. Aber libretro-dinothawr als Emulator name ? der Krimi geht weiter...
Vielleicht ist der Emulator gleich im Spiel integriert, es ist ja ein sehr einfaches Spiel, keine Ahnung. Vielleicht wurde es integriert damit man mal schon etwas "Futter" hatte um bei der entwicklung alle Funktionen zu testen.Nun, das Spiel sollte anschliessend in einem Spielemuseum laufen, wir haben inzwischen acht Arcade Cabinets, wie sie früher in Spielhallen und auch teilweise in Restaurants standen. Also gespielt wird über einen digitalen Joystick und zwei (drei) Buttons. Das ganze in doppelter Ausführung, für Spiele die auch für zwei Spieler ausgelegt sind. Das zur Frage weshalb ich nicht mit dem Kontroller Spiele. Den Tastentreiber konnte ich aktivieren, die Frage ob man ihn installieren könnte wäre bei der Variante ohne Recalbox gewesen, also nur mit OS, Game, Emulator und eben noch einen Treiber für die Eingabegeräte.
Nun wäre es schön wenn die Aufsicht zu beginn der Schicht einfach nur den Masterswitch betätigt und alle Geräte selbständig direkt in ein Spiel starten. Die meisten haben Originalspiele, aber gewisse sind einmal umgebaut worden. So auch das Kabinet an dem ich momentan arbeite: Der Jamma Kabelbaum wurde abgehängt, dafür die Tasten direkt am Raspi angeschlossen. Sonst hätte ich kurzerhand einfach eine vorhandene Spieleplatine eingesteckt.
Ich hatte erst auch die Idee mit der Favoritenliste und habe auch die Switches schon so gesetzt, dass er direkt in die Favoriten bootet. Dort wäre dann nur ein einziges Spiel, nämlich das welches ich starten will.
ABER: Er speichert mir den Favoriten nicht !
Ich hatte mit der quadrat Taste am Gamepad das Spiel zur Favoritenliste hinzugefügt und er hat mir das auch mit einer kurzen Meldung am Bildschirm bestätigt. Danach erschien Favorit:Ja.
Dann habe ich die Recalbox ordnungsgemäss heruntergefahren, nach einem Power Cycle, hatte er aber den Favoriten wieder vergessen. Favoritenliste leer und bei meinem Spiel stand Favorit:Nein.
Aber alle anderen Einstellungen speichert er mir ohne Probleme.Ich lese mich da noch etwas in die Materie rein und melde mich dann wieder. Schliesslich sollte ich eine Ahnung haben und auch mal bei das Spiel wechseln können.
-
Ach so, du willst die Recalbox in ein Gehäuse einbauen und praktisch als Spielautomat verwenden.
Das ist natürlich was anderes als eine normale Nutzung.
Ich habe im Internet zwar viele Berichte und Bilder gefunden wie man einen Raspberry in einen Arcadeautomaten einbaut, aber Recalbox läuft darauf dann immer in der "normalen" Version, sprich mit verschiedenen Systemen und Spielen zu Auswahl und nicht nur mit einem fest vorgegebenen Spiel.Zum Thema "Favoriten werden nicht gespeichert" habe ich hier
https://forum.recalbox.com/topic/20759/favorites-not-saving
im englischen Teil des Forums was gefunden.Liegt wohl daran, dass man den Raspberry über die entsprechende Funktion "runterfahren" muss und nicht einfach ausschalten soll.
Aber das hast du, wie du geschrieben hast, ja gemacht.
Vielleicht ist auch deine "Gamelist.xml" Datei defekt.
Diese sollte sich in dem Ordner, in dem sich auch die Dateien deines Spiels befinden, vorhanden sein.
Diese Datei einfach mal löschen.
Danach "Hauptmenü" -> "UI Einstellungen" -> "Spielliste aktualisieren"
Wenn das passiert ist, Spiel erneut als "Favoriten" festlegen und Recalbox komplett herunterfahren.
Danach Recalbox wieder starten und sehen ob's jetzt funktioniert. -
@Alvin
Zunächst einmal vielen lieben Dank an alle die hier zu meinem Problem ihre Ideen gepostet haben.Ich hatte dann eine Lösung, dass ich einfach alle anderen Spiele gelöscht hatte.
Nun, nach einem Jahr (eigentlich schon viel früher) ist der Raspbi 3B+ kurz nach dem Start immer gecrasht. Ich vermute er ist etwas zu schwach in der Leistung ?
Die SD Karte habe ich bereits komplett neu beschrieben. Da sich die Preise der RPi4 noch nicht so recht erholt haben, kam ich auf die Idee Recalbox auf einem PC laufen zu lassen. Läuft soweit gut, nur dass ich nach drücken von F4 nicht anschliessend mit alt + F2 ein Terminal kriege. Er reagiert nicht mehr.
Das Terminal bräuchte ich um via SSH alle Dateien zu sehen.Auch wie man einen Script laufen lassen kann habe ich als Neuling nach all den recherchen nicht herausgefunden. Die Anleitung auf Recalbox Tutorials enthält leider kein einziges vernünftiges Beispiel.
Ich hatte dann noch versucht mithilfe dem KODI das Spiel zu starten, aber auch ohne erfolg.Nu ja, nicht so schlimm, es läuft wieder und das recht schnell und stabil auf einem normalen PC i3 1,8GHz, 8GB RAM. Zwar nicht ganz so im gewünschten Kiosk Modus, aber es läuft wenigstens.
Ich probiere demnächst mal zwei drei Client Server aus, ob die genügend Power haben.Weiss jemand ob ich einfach auch alternativ frech das Image des Recalbox für RPi 2 herunterladen und dann aber auf dem Rpi3 laufen lassen kann ?
Falls ich wieder zurück zum RPi muss. Ich verspreche mir davon dass das Image für den RPi 2 so ausgelegt ist dass es weniger Ressourcen benötigt und so den RPi 3 nicht ans Limit treibt.Ach ja: Das Problem beim PC war ja zunächst der Input Port, aber da gibts in der Arcade Szene ganz günstig controller zu kaufen die sich dann als Joystick ausgeben. Man könnte auch einfach einen alten Controller mit USB auseinandernehmen und die Kontakte abgreifen.
LG Denis