RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    New Idea/Help Needed - es_systems.cfg Selector

    Scheduled Pinned Locked Moved Ideas and Development
    emulationstaionsystem listessystems.cfg
    51 Posts 7 Posters 14.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • meleuM
      meleu @cyperghost
      last edited by

      @cyperghost said in New Idea/Help Needed - es_systems.cfg Selector:

      a downvote? I think you are using your mobile phone :D right?

      Damn! Sorry, it was an accident (again)! 😌

      • Useful topics
      • joystick-selection tool
      • rpie-art tool
      • achievements I made
      cyperghostC 1 Reply Last reply Reply Quote 1
      • cyperghostC
        cyperghost @meleu
        last edited by cyperghost

        @meleu

        Damn! Sorry, it was an accident (again)! 😌

        De nada

        Isn't the right thread here... How are your achivements in Terranigma?

        1 Reply Last reply Reply Quote 2
        • FlyingTomahawkF
          FlyingTomahawk
          last edited by

          Great that you guys got all figured out.
          So what and where can I download this? I mean the fixed version.

          cyperghostC 1 Reply Last reply Reply Quote 0
          • cyperghostC
            cyperghost @FlyingTomahawk
            last edited by

            @FlyingTomahawk
            That's @meleu tidy version.
            https://github.com/meleu/change_es_systems/tree/patch-1

            FlyingTomahawkF 1 Reply Last reply Reply Quote 1
            • FlyingTomahawkF
              FlyingTomahawk @cyperghost
              last edited by

              @cyperghost

              Thank you.

              TMNTturtlguyT 1 Reply Last reply Reply Quote 0
              • TMNTturtlguyT
                TMNTturtlguy @FlyingTomahawk
                last edited by

                @cyperghost @meleu thank you both for your help. Unfortunately my schedule remains very busy with little time to actually sit and work on my pi. I will take a look at all of this, but it looks awesome!

                @cyperghost i will look at you other methods, but I am not sure why you feel my method is "dangerous" as this works with Es_systems.cfg that are copied and moved to a new location. If they get deleted by accident, the main unedited es_systems.cfg should always remain in its original location and be used by default if the .cfg file does not exist in the alternate location.

                cyperghostC 1 Reply Last reply Reply Quote 0
                • cyperghostC
                  cyperghost @TMNTturtlguy
                  last edited by cyperghost

                  @TMNTturtlguy It is dangerous. Think about someone loads your script from your repro and starts it but it is not configurated manually. Then he looses his es_systems.cfgbecause all funktions codes do rm /opt/retropie/configs/all/emulationstation/es_systems.cfg first and then copy the changed files (if it exists) :)

                  So it may be better to get all config files in one folder and just symlink them. Is there no destination file present then symlinking does not work. That should minimize the risk in breaking something. The risk now is at all minimum.... if you know what to do :)

                  @cyperghost @meleu thank you both for your help. Unfortunately my schedule remains very busy with little time to actually sit and work on my pi. I will take a look at all of this, but it looks awesome!

                  Thank you in your effords for the nice theme.
                  I still learn how to get familiar with bash.

                  TMNTturtlguyT 1 Reply Last reply Reply Quote 1
                  • TMNTturtlguyT
                    TMNTturtlguy @cyperghost
                    last edited by

                    @cyperghost

                    Thank you in your effords for the nice theme.
                    I still learn how to get familiar with bash.

                    This is why the community is so great, we all have so much we can offer and so many different skills, we can't do it all, but with a little help we can all create some really cool stuff!

                    @TMNTturtlguy It is dangerous. Think about someone loads your script from your repro and starts it but it is not configurated manually. Then he looses his es_systems.cfgbecause all funktions codes do rm /opt/retropie/configs/all/emulationstation/es_systems.cfg first and then copy the changed files (if it exists) :)

                    This should not be dangerous at all. Again, i haven't looked at your symlink solution, but my solution is not dangerous because if users do not follow the directions and try to run the script, the script will simply do nothing. The default and main es_systems.cfg file is located here: /etc/emulationstation/es_systems.cfg My script only runs in /opt/retropie/configs/all/emulationstation/es_systems.cfg which is the same as ~/.emulationstaiton/ just written out as the full path. As long as the user never deletes the main es_systems.cfg in the /etc/ folder, there is not risk or danger at all. Here is some more information on this from the wiki: Emulationstation Wiki

                    1 Reply Last reply Reply Quote 1
                    • TMNTturtlguyT
                      TMNTturtlguy
                      last edited by TMNTturtlguy

                      @meleu I just tried your script and it does not execute without the sudo commands. BuZz had updated the retropie startup script a few weeks back and he was the one who instructed that I add the sudo command as he changed user permissions when executing scripts from the retropie menu. Have you tried this script on your build? When did you last update retropie script? Thanks

                      Edit: adding the sudo command back in to both the copy and remove seems to have worked. With my brief testing it appears that the script works well and all other restart functions work properly. I have to take my girls out for a while so i will test more extensively later.

                      meleuM 1 Reply Last reply Reply Quote 1
                      • meleuM
                        meleu @TMNTturtlguy
                        last edited by

                        @TMNTturtlguy maybe you changed the ownership of those files with your previous script. If they're owned by user pi there's no need for sudo.

                        • Useful topics
                        • joystick-selection tool
                        • rpie-art tool
                        • achievements I made
                        1 Reply Last reply Reply Quote 1
                        • cyperghostC
                          cyperghost
                          last edited by cyperghost

                          @TMNTturtlguy @meleu Is 100% correct! Check if some of your config files belong to root... Seems so because you worked with sudo in your last script. So I falsly said to him that he better removes sudo commands what he already did :)

                          But I think your script is very special ... I really can't imagine to use it :)
                          It was real fun to play a bit around with and learn a bit new. So I appreciate every comment/tip/hack from more advanced people. I wasn't able to trigger bugs because I commented every file operation out and tested just the behaviour of function call, loop break and restart ability. I think meleu did the same.

                          Two locations of es_systems....

                          Yes I rember now, but I alway work in /etc/emulationstation > Seems that I like risk

                          TMNTturtlguyT 1 Reply Last reply Reply Quote 1
                          • TMNTturtlguyT
                            TMNTturtlguy @cyperghost
                            last edited by

                            @cyperghost @meleu when I get back on my pi I will repudiate my setup script, bet here is the info from buzz when working on this in the past. Thanks link text

                            1 Reply Last reply Reply Quote 1
                            • cyperghostC
                              cyperghost
                              last edited by

                              Yes but this behaviour was changed.
                              https://retropie.org.uk/forum/topic/11050/restart-es-via-bash-script/7

                              There is really no need to act as root. As long as your script works for you it is really no problem but it seems that user privileges causes some errors.

                              TMNTturtlguyT 1 Reply Last reply Reply Quote 1
                              • TMNTturtlguyT
                                TMNTturtlguy @cyperghost
                                last edited by

                                @cyperghost Ok, so i updated to the most current setup script and I still have permissions errors. Here is the error:

                                rm: remove write-protected regular file "/opt/retropie/configs/all/emulationstation/es_systems.cfg" permission denied.

                                Running the script from the retropie menu does not appear to be the issue, rather removing the file from /opt/retropie/configs/all/emulationstation/

                                Where can i look to find out my permissions for this folder? Thanks

                                1 Reply Last reply Reply Quote 0
                                • cyperghostC
                                  cyperghost
                                  last edited by

                                  @TMNTturtlguy Owner is pi:pi
                                  Permission to config files is 644 (Need not to be executed)

                                  pi@retropie:/opt/retropie/configs/all/emulationstation $ ls -l
                                  total 52
                                  drwxr-xr-x  2 pi pi  4096 Jul  3 20:46 downloaded_images
                                  -rw-r--r--  1 pi pi  1627 Jun 26 19:31 es_input.cfg
                                  -rw-r--r--  1 pi pi  1475 Jun 26 19:31 es_input.cfg.bak
                                  -rw-r--r--  1 pi pi 20476 Jul  8 19:25 es_log.txt
                                  -rw-r--r--  1 pi pi  1340 Jul  8 14:19 es_settings.cfg
                                  -rw-r--r--  1 pi pi  1470 Jul  7 23:15 es_settings.cfg.bak
                                  -rw-r--r--  1 pi pi  1641 Jun 26 19:31 es_temporaryinput.cfg
                                  drwxr-xr-x 34 pi pi  4096 Jul  8 18:42 gamelists
                                  drwxr-xr-x  2 pi pi  4096 Jun 24 13:02 tmp
                                  
                                  TMNTturtlguyT 1 Reply Last reply Reply Quote 1
                                  • TMNTturtlguyT
                                    TMNTturtlguy @cyperghost
                                    last edited by

                                    @cyperghost Yes - rookie mistake on my part and of course I bow down to you at @meleu for your knowledge and help!

                                    When running the script prior to the updates made by buzz the sudo command was used. What this did was create the es_systems.cfg file within the folder as a root file. That was the only file in there that was root, but I believe because i was using the sudo command to copy it from the origin folder to the main folder it was giving it root ownership. I simply deleted that file and copied a fresh file in manually, ran the script and now it works perfectly without the sudo code as you and @meleu have correctly stated.

                                    Once again I am on my pi for 5 minutes and need to run, but in the late late overnight hours I will update a few things in @meleu's branch and then update my main repository and issue the script. I know it has a small use case, but I enjoy it, and I think others may as well if we start seeing more themes created for just specific systems like @ruckage neo geo theme. I love the script on my arcade machine because i can set it to only run Arcade games if i want to.

                                    Thanks again!

                                    1 Reply Last reply Reply Quote 2
                                    • FlyingTomahawkF
                                      FlyingTomahawk
                                      last edited by FlyingTomahawk

                                      I gave this a try using meleus version.

                                      I run

                                      RPi3
                                      ES 2.4.0RP
                                      RetroPie Script 4.2.8
                                      And the following systems

                                      CPS
                                      NeoGeo
                                      FBA
                                      MegaDrive
                                      SNES
                                      NES

                                      I uploaded the script and created those 4 folders.

                                      All -> All my systems
                                      Consoles -> MD, SNES, NES
                                      Customs -> NeoGeo, FBA, CPS
                                      Favorites -> Empty es_system.cfg file

                                      I then switched between the es_system files using the new function in the RetroPie Settings menu. After I select something let's say "Consoles", ES restarts automatically.
                                      But now I get systems that I don't have inside those 4 new es_system.cfg files.
                                      No matter what I es_system file I choose I always get these systems shown.

                                      SNES
                                      FBA
                                      GameBoy
                                      MegaDrive
                                      NeoGeo
                                      NES
                                      Ports

                                      Where is he getting Ports and GameBoy from?? And CPS is gone too.
                                      Not sure which es_system.cfg file gets loaded here.
                                      Normally there is one inside the emulationstation folder which has been deleted and then there are the other 4 which I created for testing. Is there any other place to look for a es_system.cfg file?

                                      1 Reply Last reply Reply Quote 0
                                      • FlyingTomahawkF
                                        FlyingTomahawk
                                        last edited by FlyingTomahawk

                                        Never mind my previous post.
                                        Looks like the new folders have to be written in small letters.
                                        Instead of "All" it has to be named "all" same goes for all the other folders.
                                        Now switching between the files works like a charm.
                                        May I suggest to to update the Readme file to reflect this or change the paths inside the change_es_systems.sh file.

                                        Thanks guys, job well done.
                                        Now the only thing left to do is to wait for ruckage to release that NeoGeo/Capcom theme of his and I'm ready to rock.

                                        P.S. Still not sure where he got GameBoy and Ports from but since it is solved now I guess it doesn't really matter anymore.

                                        TMNTturtlguyT 1 Reply Last reply Reply Quote 1
                                        • TMNTturtlguyT
                                          TMNTturtlguy @FlyingTomahawk
                                          last edited by

                                          @FlyingTomahawk Thanks for the update, I will be posting a new script and instructions and updated warning note for when the script launches shortly. @meleu forked from my original script and did not have the most up to date folder names in the script, thus the script did not match the instructions. This is partly my fault as i changed the script and instructions mid stream during the testing phase. When i send out the new update the folders will be capitalized like the instructions. All, Consoles, Favorites, Customs, Hacks, and will add NeoCapcom as well.

                                          Regrading your es_systems.cfg files. You should create those on your own, not use any that have been provided. The point is that you can create your systems.cfg file just how you want and then switch between them. Did you create all your files yourself, or did you use some provided to you?

                                          Last note, if you have it working the way you want now, you can ignore my update, otherwise the new readme instructions and post will have all the correct information.

                                          Thanks again for your report and for using this tool!

                                          FlyingTomahawkF 1 Reply Last reply Reply Quote 2
                                          • FlyingTomahawkF
                                            FlyingTomahawk @TMNTturtlguy
                                            last edited by FlyingTomahawk

                                            @TMNTturtlguy said in New Idea/Help Needed - es_systems.cfg Selector:

                                            Regrading your es_systems.cfg files. You should create those on your own, not use any that have been provided. The point is that you can create your systems.cfg file just how you want and then switch between them. Did you create all your files yourself, or did you use some provided to you?

                                            I made the es_system.cfg files myself. That is why I was confused as to where he gets Ports or GameBoy which I don't use those on my RPi3.
                                            But I figured it out and know now why he showed those systems.

                                            I had a few GameBoy roms and Kodi in Ports. And because of the wrong folder naming it read the default es_system.cfg inside the etc/emulationstation/ folder and not the one from the /opt/retropie/configs/all/emulationstation/ folder.

                                            Now everything works and he is reading the es_system.cfg files from the new custom folder structure.

                                            This is a great feature which will be very helpful for me, so thanks a ton for it.

                                            TMNTturtlguyT 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post

                                            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.