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

    EmulationStation mod

    Scheduled Pinned Locked Moved Ideas and Development
    mod
    340 Posts 49 Posters 333.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.
    • herb_fargusH
      herb_fargus administrators @jacobfk20
      last edited by

      @jacobfk20 actually nvm, for some reason it was creating an es_systems.cfg file in the .emulationstation folder rather than /etc/emulationstation I just had to delete the one in .emulationstation and it now shows up as it should. might be the way the module is coded perhaps, I'll have to look further into that.

      If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

      Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

      1 Reply Last reply Reply Quote 0
      • J
        jacobfk20
        last edited by

        It does create an es_systems in .emulationstation. It writes which view mode, size of grid tiles, and if the system should show up on system view.

        herb_fargusH 1 Reply Last reply Reply Quote 0
        • herb_fargusH
          herb_fargus administrators @jacobfk20
          last edited by herb_fargus

          @jacobfk20 I see. well that may cause some confusion as it will take the .emulationstation folder over the /etc/emulationstation where the retropie scripts will generate the es_systems.cfg in the /etc location anytime you add a new system so I'm not sure what the best way is to address that

          I presume this is a result of the save and apply button rather than just having a save button that caches it on restart

          If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

          Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

          CrescendoC 1 Reply Last reply Reply Quote 0
          • J
            jacobfk20
            last edited by

            That is pretty bad. I could have these settings saved in another file and keep es_systems alone.

            herb_fargusH 1 Reply Last reply Reply Quote 0
            • herb_fargusH
              herb_fargus administrators @jacobfk20
              last edited by

              @jacobfk20 I think that may be wise (albeit likely more work for you). Anyways this forum post is getting pretty long I prefer to keep development discussion on github where its closer to the code. I'll log an issue for this on your RPI repo and carry it on there.

              If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

              Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

              1 Reply Last reply Reply Quote 0
              • J
                jacobfk20
                last edited by

                @herb_fargus I'm working mostly from https://github.com/jacobfk20/EmulationStation and not the RPiE fork.

                herb_fargusH 1 Reply Last reply Reply Quote 0
                • herb_fargusH
                  herb_fargus administrators @jacobfk20
                  last edited by

                  @jacobfk20 If you'd like to enable the issue tracker on your emulationstation fork I'd be happy to log the issues there instead

                  If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

                  Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

                  1 Reply Last reply Reply Quote 0
                  • J
                    jacobfk20
                    last edited by

                    I didn't know it was disabled. It's enabled now.

                    1 Reply Last reply Reply Quote 0
                    • R
                      robertybob
                      last edited by robertybob

                      I hope this makes it into RetroPie 4 in some form, the grid view will keep me happy until Attract-Mode is finally, officially, included as a choice alongside ES!

                      B 1 Reply Last reply Reply Quote 1
                      • B
                        ben_thatmustbeme @robertybob
                        last edited by

                        @robertybob given that RC images are out, I don't think that's likely, but I don't know the release procedure. I think it's more likely to get a script to change ES versions

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

                          Just for curiosity:
                          Could changing from xml to another database avoid/minimize this problem?
                          (exit emulationstation take ages when "save metadata on exit" is on)

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

                            @meleu Probably. Wouldn't have to dump metadata to a file on exit anymore. A db would keep everything up to date as it is modified.

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

                              @jacobfk20
                              Then you guys have here one more vote to go ahead with this changing... :-)

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

                                @meleu It would be interesting to test that out.

                                herb_fargusH 1 Reply Last reply Reply Quote 0
                                • herb_fargusH
                                  herb_fargus administrators @jacobfk20
                                  last edited by

                                  @jacobfk20 there are a couple things to consider on that front, in the past a bit of testing has been done and response times are somewhat comparable and it seemed that the only real benefit for a SQL backend came for the rom hoarders who have like 20,000 games. Im also not sure if gamelists/scrapes are included in that or still stay as separate xmls? Anyways there is more testing to be done on that front and would be interesting to see the results.

                                  The other semi-related thing is the white screen of death issue that is prolific with any themes that are 1080p with unique wallpapers. If there were a way to load each system dynamically kinda like you've tried to do with the grid boxart that would open up more variety of themes but I don't know how extensive code changes for that would be

                                  If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

                                  Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

                                  1 Reply Last reply Reply Quote 0
                                  • J
                                    jacobfk20
                                    last edited by

                                    @herb_fargus I'm glad to see that it has been attempted. I need to take a closer look at metadata sometime still. GridView's dynamic loading will get better and I will see what happens when I apply something similar to system view.

                                    1 Reply Last reply Reply Quote 2
                                    • A
                                      Arcuza
                                      last edited by

                                      How much resources do SQLite/MariaDB consume? Memory, CPU, Power? Should the daemon be kept running in the background when firing up an emulator, or should it be started, shut down, started, shut down?

                                      DBs are mainly for very large datasets (some of them have 100 different algorithms for sorting data fast, depending on how you want the data sorted). We don't need that?

                                      DBs are built with transactional integrity in mind. We don't need that?

                                      DBs are built for multiple concurrent connections. We don't need that?

                                      DBs are built for network access, with security, access control, logins and such. We don't need that?

                                      When I develop on Windows .Net has really great features for dealing with XML and datasets. I vote for finding such a library to work with if you want to load static data, change something and write it back.

                                      DBs consume too much resources because they are build for very heavy and complicated situations.

                                      Writing 1 MB of XML data from a dataset should take no more than 10 ms. Just like any other 1 MB file.

                                      1 Reply Last reply Reply Quote 0
                                      • J
                                        jacobfk20
                                        last edited by

                                        I took a quick look at Metadata and I love how it is formatted. I see that on exit MetaData will append everything to xml regardless if it has been modified or not. It could be made to where metadata only saves to file when something has been modified, that would be a simple approach and it could make it to where you don't have to go re-enable save meta data in the menu when you want to save a change.

                                        It could even keep an array of indexes and then only modify those nodes on the xml doc on exit but that may not actually speed it up because it will now have to search the xml nodes for the correct child to change. I don't know fast the pugixml library would do that.

                                        I actually want to know exact time it takes for someone with long exit times. How big are their game lists?

                                        I don't know how much SQLite uses in resources as I've never used it in anything. If it has been looked into before and it has shown to not have any real improvements then maybe time should be spent looking for a different solution than going to a sql db.

                                        A meleuM 2 Replies Last reply Reply Quote 1
                                        • A
                                          Arcuza @jacobfk20
                                          last edited by

                                          @jacobfk20 Often, you load the XML into memory as a tree of data. You do search against that tree with XPath or other methods. Algorithms for doing so are very optimized. Changing data is just like changing a value for any variable. When writing to disk, you write the full file with XML-serialized data tree. If you do not need table locking, concurrent users, security, joining multiple tables, group by, then XML is fast and small footprint (Or the developed applications and frameworks dealing with data trees). In .Net on Windows you can load XML into memory and query that dataset with Linq, more extensively than SQL.

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

                                            @jacobfk20 said in EmulationStation mod:

                                            @meleu Probably. Wouldn't have to dump metadata to a file on exit anymore. A db would keep everything up to date as it is modified.

                                            Can't this updating method be done with xml?

                                            @jacobfk20 said in EmulationStation mod:

                                            I actually want to know exact time it takes for someone with long exit times. How big are their game lists?

                                            I timed it here: exactly 4 minutes and 58 seconds. But we can say 5 minutes.

                                            game list size:
                                            Atari2600: 1443
                                            FBA: 1
                                            GameBoy Advance: 10
                                            Master System: 545
                                            Mega Drive: 1239
                                            NeoGeo: 7
                                            NES: 2141
                                            PC Engine: 2
                                            SNES: 2271

                                            • Useful topics
                                            • joystick-selection tool
                                            • rpie-art tool
                                            • achievements I made
                                            A 1 Reply Last reply Reply Quote 0
                                            • 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.