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

    ES devs and testers, this tool is for you!

    Scheduled Pinned Locked Moved Ideas and Development
    scriptgithubemulationstatiotestingdevelopment
    88 Posts 15 Posters 39.9k 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
      last edited by meleu

      Hi fellows!

      In response to a request from @Zigurana I've made a tool to facilitate testing of ES development branches.

      Screen shots in the next post below.

      The idea isn't to fragment ES even more, but exactly the opposite! I envision this tool being used to test branches whose developer wants to submit to the official RetroPie ES branch.

      Facilitating the tester's life, they should be able to focus on tests/feedback rather than performing several commands to build and install ES.

      If the branch you want to build has any new dependency (besides those already known for the official ES), you have to install it before running the script.

      Cool features

      • You can make a list of repositories/branches you want to test.

      • Keeps the ES branch source code (the script doesn't download all source files from the branch's repository on every execution, only the updates).

      • A menu to select which ES build you want to set as the default emulationstation command (really useful to use after updating the official RetroPie ES).

      • Before compilation starts you have the option to ommit the make clean before the make, then only those files that were changed and their dependents are compiled again (this is a massive reduction in compile time).

      Now a word of warning:

      • This tool lets you install a non-official emulationstation mod in RetroPie. It is for those who want to test and help devs with feedback. Bear in mind that many of those mods are still in development, and YOU NEED TO KNOW HOW TO FIX THINGS IF SOMETHING BREAK!

      Get the script

      The script is here: https://github.com/meleu/rp-testers/blob/master/es-tests.sh

      Download it on your RetroPie:

      wget https://raw.githubusercontent.com/meleu/rp-testers/master/es-tests.sh
      

      And then make it executable:

      chmod a+x es-tests.sh
      

      Acknowledgments

      • BuZz: my script takes advantage of some parts of RetroPie-Setup code. Your talent and rigour with the RetroPie-Setup code makes it very flexible and modular. Very well done!
      • @Zigurana : for having the idea to make this tool.
      • @TMNTturtlguy : I've made this tool based on your suggestions here.
      • @Hex : for the make clean omission tip, and many other improvements.
      • @Zigurana , @pjft , @jdrassa , @fieldofcows and other ES hackers: for improving EmulationStation.

      Tagging more people that might be interested in this tool (devs, testers, theme-makers, whatever):
      @AlexMurphy @lilbud @mattrixk @herb_fargus @cafarellidigital @Nismo @ruckage @alphatoanant @KazanTheMan @Syhles @EctoOne @SuperSirLink @Syhles

      • Useful topics
      • joystick-selection tool
      • rpie-art tool
      • achievements I made
      Z 1 Reply Last reply Reply Quote 13
      • meleuM
        meleu
        last edited by meleu

        Main Menu

        0_1496019322340_main_menu.png

        Repo/branch to build menu

        0_1495972718056_build_list.png

        omit make clean?
        0_1496025288353_omit_make_clean.png

        successfully built
        0_1495972866179_build_success.png

        Edit repo/branch list

        0_1495972911212_edit_list.png

        add repo/branch to the list form
        0_1495972966814_add_repo_branch.png

        set the default emulationstation

        0_1495973028492_set_default_es.png

        remove installed unofficial emulationstation branch

        0_1495973222034_uninstall_es.png

        • Useful topics
        • joystick-selection tool
        • rpie-art tool
        • achievements I made
        pjftP 1 Reply Last reply Reply Quote 7
        • lilbudL
          lilbud
          last edited by

          If only @jacobfk20's gridview mod was still being worked on.

          Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

          Backlog: http://backloggery.com/lilbud

          1 Reply Last reply Reply Quote 3
          • pjftP
            pjft @meleu
            last edited by

            @meleu thank you very much for putting this together!

            This will certainly come in handy :)

            1 Reply Last reply Reply Quote 2
            • E
              EctoOne
              last edited by

              Thanks for this and the tag, but TBH It's getting to warm for me to spend a lot of time tinkering with my Pi also I noticed that I either need a fan for my case or put a normal fan beside it. I'm getting temperature warnings when I just copy files over my LAN and when I was building the carousel mod back then it wasn't even that warm and I was afraid I would shut down because of the heat.
              I wish I could test the z-index build (although I wish it also had the instant transition that was created some days ago) but for now I have to pass until I figure out how to get rid of the heat problem.

              pjftP 1 Reply Last reply Reply Quote 0
              • pjftP
                pjft @EctoOne
                last edited by

                @EctoOne what case are you using?

                E 1 Reply Last reply Reply Quote 0
                • E
                  EctoOne @pjft
                  last edited by

                  @pjft this one https://www.amazon.com/dp/B01D0IDL7C
                  It was included in a cheap bundle and I liked the look.

                  pjftP spruce_m00seS 2 Replies Last reply Reply Quote 0
                  • pjftP
                    pjft @EctoOne
                    last edited by

                    @EctoOne I see. It does look slick, though there's not much room to take some parts off to let some air in.

                    I use the official one, which is also fully enclosed but is quite modular, so I usually take the sides off to let some air to circulate.

                    Maybe opening it and leaving it with the two pieces not exactly fixed in place would let some air to flow through it?

                    E 1 Reply Last reply Reply Quote 0
                    • HexH
                      Hex
                      last edited by Hex

                      @meleu I would suggest you also mention the version of the script and if an update is available. This will allow testers to stay updated on its features

                      Edit: Would it be possible to remove Retropie-Setup dependency?

                      Sent from 20,000 leagues under the sea.

                      Powersaver Emulation station : https://github.com/hex007/EmulationStation
                      ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

                      meleuM 1 Reply Last reply Reply Quote 0
                      • E
                        EctoOne @pjft
                        last edited by

                        @pjft yeah i guess i will take off the top part and see if it makes some difference until i find another solution. I was thinking about getting a multi bay hdd case with enough space and build a NAS. Because i mostly use Kodi anyways and i'm running out of disc space and i don't just want to plug another drive on.

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

                          @Hex said in ES devs and testers, this tool is for you!:

                          @meleu I would suggest you also mention the version of the script and if an update is available.

                          Will do it.

                          Would it be possible to remove Retropie-Setup dependency?

                          No, it wouldn't.

                          OK. I mean "Maybe yes, but I wouldn't like to." :-)

                          What does the script use from RetroPie-Setup?:

                          • gitPullOrClone and rpSwap functions from helpers.sh (easy to implement in the script itself).
                          • retropie_packages.sh script to install and remove the unofficial ES branches (this would be a pain to code in the script, I don't have time/interest to work on this).

                          Thanks again for your suggestions, mate! ;-)

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

                            @meleu I usually do my testing on Linux rather than Retropie. I can just comment out the Install and Remove scripts. Gitpullorclone would be great

                            Sent from 20,000 leagues under the sea.

                            Powersaver Emulation station : https://github.com/hex007/EmulationStation
                            ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

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

                              @Hex Why don't you at least put RetroPie-Setup scripts at your home dir? There's no need to install all emulators/etc, but it would make you able to use the script...

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

                                @meleu
                                Aww man, you are the best! You've certainly risen to my challenge, superb!

                                I can think of only one improvement : to show the latest commit-date of the dev-branch, as well as the latest commit-date of the installed version of that branch, so users can see if they are up-to-date or not.

                                If tetris has thought me anything, it's that errors pile up and that accomplishments dissappear.

                                meleuM 1 Reply Last reply Reply Quote 3
                                • ?
                                  A Former User
                                  last edited by

                                  Submitted a pull request cleaning up some of the display text.

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

                                    Changelog

                                    • added the Update "es-tests.sh" script option in the main menu.
                                    • added script version to the backtitle (it'll be named with Greek letters' name).

                                    0_1496019322340_main_menu.png

                                    Please, get the script via wget again and then you'll be able to update using the update feature from now on.

                                    • Useful topics
                                    • joystick-selection tool
                                    • rpie-art tool
                                    • achievements I made
                                    1 Reply Last reply Reply Quote 0
                                    • spruce_m00seS
                                      spruce_m00se @EctoOne
                                      last edited by

                                      @EctoOne do you have a heatsink on the pi?
                                      I have mine in a 3d printed mini nes case, and it only overheated on me twice, once when I was using the ds4drv driver, that just caused a constant overheat, and once when playing with overclocking and the votlage setting, I reduced it to 4.5v i think and now it runs cool "ish"

                                      that being said I live in DUBAI! where it is mega mega hot. I run the pi in an ambient of 27 - 28 C at night when the AC is off, playing psx games and it hasnt ever overheated.
                                      maybe you have something running in the background causing it to over heat?
                                      I also have a KODI box which is used almost all day, again in say 25 - 27C and it never has problems overheating either, it has a small alu heatsink on it. no fan because I found the fan noise to annoying.

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

                                        @Zigurana said

                                        show the latest commit-date of the dev-branch, as well as the latest commit-date of the installed version of that branch, so users can see if they are up-to-date or not.

                                        I started to think about ways to implement such feature, but then I realized that it would solve an already solved problem. As far as I understood you want to prevent the user spending time downloading/compiling unnecessarily. Am I right?

                                        I made this tool acting this way: if the tester tries to build/install an up-to-date repo/branch, it won't be very time consuming.

                                        Why?

                                        Two reasons:

                                        1. The script downloads the source files using the gitPullOrClone function from RetroPie-Setup helpers.sh, and it won't download everything again if the local repo is already up-to-date. Thanks to the RetroPie-Setup modularity I could use that function and not "reinvent the wheel".
                                        2. The script gives the option to omit the make clean before make, then only those files that were changed and their dependents are compiled again (actually the script gives the option to not omit make clean, then I think we can consider this omition the default option). Thanks @Hex for this simple but wonderfully useful tip.
                                        • Useful topics
                                        • joystick-selection tool
                                        • rpie-art tool
                                        • achievements I made
                                        1 Reply Last reply Reply Quote 1
                                        • meleuM
                                          meleu
                                          last edited by

                                          Hey testers! There was a bug in the script when you were trying to set the official RetroPie ES as the default one (the C option in the main menu). I've just fixed it. So, please, update your scripts.

                                          If you used that feature to set the official ES as the default one, probably your ~/RetroPie-Setup/scriptmodules/supplementary/emulationstation.sh is non-existent/invalid. Here is how to fix it:

                                          cd ~/RetroPie-Setup/scriptmodules/supplementary
                                          rm emulationstation.sh
                                          wget https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/scriptmodules/supplementary/emulationstation.sh
                                          

                                          Thanks and sorry for the inconvenience.

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

                                            ANOTHER UPDATE

                                            A small improvement to prevent problems as pointed by @TMNTturtlguy here.

                                            Current version: delta

                                            • Useful topics
                                            • joystick-selection tool
                                            • rpie-art tool
                                            • achievements I made
                                            lilbudL 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.