Power On/Off Option in Main Menu
-
@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
-
@cyperghost said in Power On/Off Option in Main Menu:
extended python script based on the NESPi+ ones
Thanks @cyperghost , where I have to add the &? in the reboot and power scirpt?
-
-
@cyperghost
Worked like a charm! thank you very much! -
@chicuelo This little tool is very usefull. I make always use of it if some emulators are stuck (OpenBOR will not accept new controllers if they are disconnected) so make a SSH session via smartphone and just type
multi_switch. --es-closeemu
--> problem solved and you are back in ES main mode ;) You can close every emulator with this as long it was initiated by runcommand. Even KODI and PIXEL Desktop can be closed with this ;)And you can add it to any python script if you want ;)
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.