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

    EmulationStation mod

    Scheduled Pinned Locked Moved Ideas and Development
    mod
    340 Posts 49 Posters 336.8k 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.
    • B
      ben_thatmustbeme @trekdrop
      last edited by

      @trekdrop that might be a topic best handled in a different thread. also include what command you were trying to do. I'm not sure what you were doing exactly.

      T 1 Reply Last reply Reply Quote 0
      • T
        trekdrop @ben_thatmustbeme
        last edited by

        @ben_thatmustbeme

        Oh, I hope I am doing the right thing! I will start a new thread if it is necessary.

        To install you need two files. the core EmulationStation program and for the wifi connect feature to work, you'll need it's tiny addon.

        First make a backup of your current emulationstation file in /opt/retropie/supplementary/emulationstation. Then move my version of emulationstation into that same folder.

        I was doing this, simply copy the emulationstation MOD file over mine. And that didn't work.
        I

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

          make sure to add sudo to that command, as its probably owned by root.

          The easiest way I have found to do this is actually just in the retropie-setup scripts.

          I created one quickly for @jacobfk20 's gridview branch.
          https://raw.githubusercontent.com/dissolve/RetroPie-Setup/gridview/scriptmodules/supplementary/emulationstation-gridview.sh

          just put this in RetroPie-Setup/gridview/scriptmodules/supplementary/ and then you can run
          sudo ./RetroPie-Setup/retropie_setup.sh

          It will compile everything for you and put it in place and you can easily uninstall/update it from there as well. its under manage packages , experimental

          T 1 Reply Last reply Reply Quote 1
          • T
            trekdrop @ben_thatmustbeme
            last edited by

            @ben_thatmustbeme

            Oh wow! I think I really am a noob ... I just tried to copy the file with filezilla.

            Do I ask to much if I ask a mini tutorial about how to install this awesome modded update.

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

              @trekdrop this was why i said best for a different thread. but as its already here.
              Take a look at https://github.com/retropie/retropie-setup/wiki/ssh
              It goes through the basics of how to SSH to it.

              You can use filezilla to put that file i gave you on there, and then just run that

              sudo ./RetroPie-Setup/retropie_setup.sh

              line and its just browsing through menus from there.

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

                I've done some changes to how Gridview handles loading and unloading boxart. It will now only have boxart loaded in that is in range and unload slightly after you move them out of range. This should make Gridview viable for bigger gamelists. The pop-in will be pretty noticeable. This is still my major focus, on this project, currently and I'm hoping to have it be as seamless as possible and still be versatile to have hundreds to thousands of games without problem.

                A test build can be downloaded from my google drive.

                And of course here is a link to the github branch https://github.com/jacobfk20/EmulationStation/tree/Gridview.

                @simbz23 I understand the issue that you are having. There are actually two. 1: You can not scan for networks when you are already connected to a wireless network and I'll probably put in a message saying this as a warning. 2: I actually messed up on that build. It looks for wificonnect in the wrong place. Now I feel dumb! ha. I'm currently focusing on other parts of this project and this feature is currently low priority.

                @mattrixk I actually look at that list every now and then. :)

                @ben_thatmustbeme My latest couple of commits to GridView may remedy issues that are happening in your branch. It now loads gamelists in like every other gamelist view now and loads in textures once opened. I will like to help get it up and running once I feel I have gridview running pretty smoothly.

                lilbudL 1 Reply Last reply Reply Quote 0
                • lilbudL
                  lilbud @jacobfk20
                  last edited by

                  @jacobfk20 I have a problem, (I know, its always me who has issues.) I have double entries for each game. Where I have only 6 games. 12 entries show up

                  undefined

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

                  Backlog: http://backloggery.com/lilbud

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

                    @lilbud https://github.com/jacobfk20/EmulationStation/issues/3 ;)

                    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
                    • Z
                      Zigurana @ben_thatmustbeme
                      last edited by Zigurana

                      @ben_thatmustbeme said in EmulationStation mod:

                      The latest attempt to merge herdinger's code, @Zigurana and @jacobfk20's grid view code all in to mine is on the 'allmerge' branch, but a test run showed it clearly had problems on the main system list, haven't dug in to what happened yet.

                      Hey, I got your allmerge branch to compile and link successfully, so thats a start. Also, I started annotating your latest commit (84e93b9), to start some discussion on the merge. Do you think that is a worthwhile exercise?

                      And where do we go from here? Do keep working on my own repo (which you will merge whenever you see fit), or do I start serving you PRs?

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

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

                        @Zigurana sure, anything is helpful. there was a lot in there done somewhat blindly too.

                        From here on out, thats up to you, I would certainly prefer PRs, makes things a lot easier. The other option is I give you direct commit access to the branch. I would not mind that.

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

                          @lilbud Does it do this to you when you return from a game? If so the latest build fixes it.

                          Link to latest Test Build

                          Thanks for reporting :)

                          1 Reply Last reply Reply Quote 0
                          • J
                            jdoolin @Zigurana
                            last edited by

                            @Zigurana said in EmulationStation mod:

                            Functionality
                            @Arcuza, you are right we do not need many of the features that a full database implementation would bring. Multiple users, security layers and network access are probably not necessary.
                            However, what we are sorely lacking is a way to build queries to create lists of game and perform sorting on all available metadata (across platforms if need be). Also, we need some way to add user-defined tags to allow arbitrary collections and filters. In the current implementation of ES XML trees, none of this is possible, and I am hoping/expecting that a db approach would make this possible.

                            The nice thing about SQLite is that it doesn't feature multiple users, security layer, network access or daemons that run in the background. It is a VERY simple file based database used on platforms like Android. I've never run benchmarks, but I would think ES is exactly the sort of project it lends itself to.

                            I'm going to develop a schema tonight, write a program to convert my gamelists to the SQLite database and start running queries on my Pi3.

                            1 Reply Last reply Reply Quote 0
                            • mattrixkM
                              mattrixk
                              last edited by

                              I know you guys are a having a full Dev discussion and I don't want to interrupt that, but I just had a thought I wanted to put out there:

                              Would it be/is it possible to choose the order of systems in the carousel? At the moment it's just alphabetical, I'm curious if we could do custom orders, like keeping all Nintendo consoles together and all Sega/Playstation/Atari etc. Also, maybe choose to start on a specific system eg: Mame.

                              My ES themes: MetaPixel | Spare | Io | Indent

                              J 1 Reply Last reply Reply Quote 0
                              • J
                                jdoolin @mattrixk
                                last edited by

                                @mattrixk said in EmulationStation mod:

                                I know you guys are a having a full Dev discussion and I don't want to interrupt that, but I just had a thought I wanted to put out there:

                                Would it be/is it possible to choose the order of systems in the carousel? At the moment it's just alphabetical, I'm curious if we could do custom orders, like keeping all Nintendo consoles together and all Sega/Playstation/Atari etc. Also, maybe choose to start on a specific system eg: Mame.

                                I'm not sure how it currently works but if the SQLite schema ends up working out it seems to me that it would be an easy option to add. It's just a different sort order in the database query. Right now in my schema I have a Systems table that has a developer field. So when ES queries the database it could just ORDER BY developer ASC then all systems would appear in order of developer, such as Atari, Coleco, Mattel, Nintendo, Sega.

                                mattrixkM 1 Reply Last reply Reply Quote 0
                                • mattrixkM
                                  mattrixk @jdoolin
                                  last edited by

                                  @jdoolin That's awesome. I wonder if it could do custom orders too, like putting Mame(s), FBA and Neo Geo together, but keeping the rest in developer order.

                                  My ES themes: MetaPixel | Spare | Io | Indent

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

                                    Early tests with an SQLite3 game database on the RPi3 are looking good.

                                    So first I made a very simple schema. It has four tables.

                                    • systems - a table to save information on all supported game/computer systems, such as name, developer, release date and description
                                    • games - obvious. I'm using the same fields you find in the current gamelist.xml files
                                    • tags - just a simple string for the tag
                                    • game_tags - a table connecting a game with a tag

                                    Then I wrote a Python script and a Bash script wrapper to parse all of my gamelists and convert the entries into SQLite3 and add them to the database. This took a few minutes as my gamelists are pretty big. I've got a very good sample for testing.

                                    Then I started writing queries and thus far, using the command line sqlite3 client I haven't seen a query take more than one tenth of a second. I take that back, when I queried the database for every single game in the db, it took 0.17 seconds. The real test would be using the SQLite3 library in the ES code and see how it performs from within ES. But right now I'm quite encouraged. Just under two tenths of a second to read my entire game database is pretty quick.

                                    Now keep in mind that if we use SQLite3, we can commit changes to the database immediately. There won't have to be any saving MetaData when you exit ES since it's done on the fly.

                                    Time to start looking through ES code.

                                    Z 1 Reply Last reply Reply Quote 1
                                    • J
                                      jdoolin
                                      last edited by

                                      It also occurs to me that if we save system data in the database, we may no longer need es_systems.cfg. Is it a convenience for some people to be able to edit es_systems.cfg? I've never done it myself, only referred to it.

                                      herb_fargusH InsecureSpikeI 2 Replies Last reply Reply Quote -1
                                      • herb_fargusH
                                        herb_fargus administrators @jdoolin
                                        last edited by

                                        @jdoolin lots of people do manual edits, which is something that may be an issue when switching to a sqlite database but if the queries provide the functions that people use manual editing for (like sorting systems) then it may be less of an issue

                                        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 1
                                        • Z
                                          Zigurana @jdoolin
                                          last edited by

                                          @jdoolin :
                                          Hey, that's great to hear! Make sure you look at Aloshi's initial attempts to an SQL db for ES (branch). Also in the (many) issues and PRs for that repo, I think I've seen people posting fixes and or enhancements for that implementation, so it might be worth it to spend some time searching the Upstream.

                                          One thing we need to have well in place, is a robust conversion from the XMLs to the database. Not only for the initial stransition, but also for smaller updates of ones metdadata descr. I assume that many of the tools we use (eg. sselphs scraper) will only be able to work with the xmls, so there will likely never be a clean break from one approach to the other. A strategy is needed to cope with that.

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

                                          herb_fargusH J 2 Replies Last reply Reply Quote 0
                                          • herb_fargusH
                                            herb_fargus administrators @Zigurana
                                            last edited by

                                            @Zigurana mehstation has done some work on converting xmls to his (sqlite?) db thats also something you could probably look at for a resource. its more of a secondary tool though

                                            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 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.