Power On/Off Option in Main Menu
-
@mediamogul Hi there. Thank you for the response.
Yes, I realize that the shutdown option is in the Retropie configuration menu. To me that is to bit buried for the average player in my house. What I am going for is directly related to how stupid many of my relatives are. We have an arcade cabinet that I would like to use the RPI3 with Retropie in.
I want to eliminate the possibility of the player accidentally opening any menu not directly related to a game. Therefore I will need to figure out how to do a few things.
- Prevent players from accessing the Emulation Station popup menu. That is the menu with the scraper options and such. No need to get in there once it is set up in my cabinet.
- Prevent players from accessing the RetroPi options menu in Emulation Station. Once more players shouldn't be able to accidentally open this menu.
- Allow for a simple, 1 click, "Turn Off" option in the main menu of Emulation Station. Ideally a big off button in place of a platform icon. So at the end of the night of drinking and gaming someone can just shut it down without much thought. I have no problem with the idea of power cycling the unit to get it to boot back up. I have an external power switch to turn the power on and off.
Any suggestions or ideas would be greatly appreciated.
--BC- While not RetroPi related I will also need to disable the MAME options menu that can pop-up with some button combination.
-
To disable the popup menus that appear on start/select in the ES menu, go into the emulationstation configs folder and find the ES_input.cfg. Find the controller you are using and #hash out the lines for start and select. That will disable start and select in ES but not affect them in the joypad config for retroarch. Quick kid friendly fix.
The 1 click turn off as you are asking for is possible, but again, you'll need to cycle the power to turn the system back on. You are better off doing the ETA prime shutdown button.
But if you must, this only took a few seconds to find on google:
-
As for the retropie menu on the carousel, you can disable that by going into the /etc/emulationstation/ (root access only) OR the /home/pi/.emulationstation folder and editing the es_systems.cfg. This is where all the systems reside. Just add <!-- before the retropie system - followed by --> at the end to comment out the code.
-
@Capeman Thanks! I have done a few google searches but that never came up. Huh?
Now for the hard question! Has this been considered as an option to be built into the RPI by default? I can't be the only one who thinks a prominent and simple Power off or Restart button would be cool. I hope that one of the devs would as well.
--BC
-
@battlecat There is probably limited need for a full system dedicated to a power off option when it's easily accessed with the pop up menu. Given it's a niche request and it's easy for novice users to add this to the carousel, the devs probably just figure users who need it will add it themselves. Though i cant speak for them, this seems like the logical approach.
-
@Capeman I am thinking that this option is such a logical thing to have on any menu. It would certainly make life easier with kids and such. I am looking at the Youtube vids and the files. Unfortunate they are not self explanatory and there are not walk throughs with the work yet.
Still going to read it all and give it a good try as this will solve so many issues! :)
Once more I appreciate all your help.
--bc
-
No worries. It would likely be a better addition to the existing retropie menu so you dont have too many "systems" in the carousel that are not related to gaming, the carousel gets cluttered enough as it is when you get more than 10 on there.
Also the fact that this function only shuts the pi down to the standby state, lots of users who dont have power cables with on/off buttons built into them would have to pull the power cord and reinsert to turn the pi back on. It's slightly convoluted when options like the quick GPIO on/power off physical button exist.
-
@Capeman I see what you're saying but I do not feel that adding another layer of hardware complexity to the setup is a good idea especially when there is a simple software solution for an elegant shutdown. I am more concerned with the whole elegant shutdown so my SD card doesn't corrupt more than I am with how it turns on and off.
-
@Capeman As a side note it appears that the Youtube video has a file to download but no actual instructions on how to use the file. I have read through the comments and I see that this is a common problem.
Any idea how to use the file that the Youtube creator posted for this? Sorry I am a bit of a pi noob when it comes to changes to the files and file structure.
-
@battlecat Hey, did you figure it out?
I am explaining how to set it up anyway:
-
Download the compressed folder from the link provided in the video description
-
It contain another folder called "Power Menu" which contain 4 folders ("Gamelist", "Images", "Rom", "Theme") and a file ("es_system.cfg").
-
Copy the contents of "Gamelist" to "~/.emulationstation/gamelists" ["~" is equivalent to writing "/home/your_user_name", say "/home/pi"]
-
Create a directory called "downloaded_images" inside "~/.emulationstation"
-
Copy the contents of "Images" to "~/.emulationstation/downloaded_images"
-
Copy the contents of "Rom" to "~/RetroPie/roms"
-
Copy the contents of "Theme" to "/etc/emulationstation/themes". Here you will need super user permission.
-
Copy the content of es_system.cfg (it's 9 lines of text); open the file /etc/emulationstation/es_system.cfg; paste the text to second last line (of course, as separate sentences as in the source; it must be before </systemList> tag and after </system> tag). Here also you will need super user permission.
-
Finally convert shutdown and reboot scripts within "~/Retropie/roms" into executable's by the commands:
a. chmod +x ~/RetroPie/roms/power/ashutdown.sh
b. chmod +x ~/RetroPie/roms/power/reboot.sh -
Restart and you are done!
-
-
@pana That was a great explanation. I appreciate that effort.
Since I started to look into the issue I found a flavor of Retropie called Motion Blue. It has a built in GPIO solution that I used to directly hooked to an arcade button on the side of my cabinet.
I will have to try your method out on the next cab which is a stripped out pacman cocktail cab sitting in the basement.
-
@battlecat
Is there a way to update the script so now ES can save metadata on exit? -
@chicuelo Yes... use the Multi Switch Shutdown Script with paramters like
--es-restart
to just restart ES or--es-poweroff
to shutdown ES or--es-reboot
to reboot the whole system.
Metadata will be always saved.Use
./multiswitch --help
for more parameters. -
@cyperghost
Lovely, I read about that script but I dont know how to implement it on this script.
Im running it but I have this two scripts only:Shutdown
#!/bin/bash
sudo shutdown -h nowReboot
#!/bin/bash
sudo shutdown -r now -
@chicuelo
In this case I would place the multi_switch.sh in a directory like/home/pi/RetroPie/scripts
So type
mkdir /home/pi/RetroPie/scripts
enter that directory withcd /home/pi/RetroPie/scripts
and thenwget https://raw.githubusercontent.com/crcerror/ES-generic-shutdown/master/multi_switch.sh && chmod +x multi_switch.sh
to download it.Now the shutdown/reboot calls would be just
#!/bin/bash # **SHUTDOWN** echo "Shutdown ...." sleep 1 /home/pi/RetroPie/scripts/multi_switch.sh --es-poweroff &
and
#!/bin/bash # **RESTART ES** echo "Restarting ES ..." sleep 1 /home/pi/RetroPie/scripts/multi_switch.sh --es-restart &
I would prefer
--es-restart
instead of--es-reboot
Ask if you have further questions about this ;)
EDIT
The guide is a bit old. I would modify es_system rather like this. Then this will work on FAT32 systems, too.
I just added abash
command to the ROM executive ;)<system> <name>power</name> <fullname>Power Menu</fullname> <path>/home/pi/RetroPie/roms/power</path> <extension>.sh .SH</extension> <command>bash %ROM%</command> <platform>linux</platform> <theme>power</theme> </system>
-
Great! I will give it a try, many thanks!
-
@cyperghost
Unfortunately it does not work, the script worked fine but the favorites won't remain after restar, reboot or power off, I checked any permission issues but there aren't. I went back tho the firs script because I dislike the terminated sentence at the end :( -
@chicuelo Let me try in Monday.
Terminated means no proper shutdown.
I think it has something to do that a script is called weithin ES.
I will test .... -
@cyperghost
Thanks! let me know if you find any issue -
@chicuelo Yes it was so easy! ;)
Just add an&
- changed the scripts ... they worked flawless in my testing area ;)
I didn't work because of following....You start a bash script within ES (that's the same as an emulator call for ex)
Now you start annother script that will shutdown ES. But the first script (started via ES) is still active and waits for the shutdown script to exit ----->> You are bu... terminated!It's just an ironic... because the orginal NESPi+ script works the same way. As long an emulator is active in background there will be never clean shutdowns ;) But with the multi_switch you can do really fine things like prober shutdown with the an extended python script based on the NESPi+ ones
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.