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

    Announcing Pegasus Frontend

    Scheduled Pinned Locked Moved Ideas and Development
    frontendpegasusc++developmentqml
    1.7k Posts 145 Posters 5.1m 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.
    • C
      C-Drive
      last edited by

      Is there a way to customize the auto-added libraries (Steam, GOG, etc) - with custom images and custom collections via a metadata.pegasus file? Couldn't seem to find an answer anywhere I looked. Thank you!

      fluffypillowF 1 Reply Last reply Reply Quote 0
      • fluffypillowF
        fluffypillow @C-Drive
        last edited by

        @C-Drive not yet, but I'd like to add support for that eventually!

        C 1 Reply Last reply Reply Quote 0
        • C
          C-Drive @fluffypillow
          last edited by

          @fluffypillow Thanks for letting me know - I look forward to it! I love this frontend and the simplicity and customizing it provides. Thanks for developing it.

          1 Reply Last reply Reply Quote 1
          • M
            msheehan79
            last edited by

            @fluffypillow Question - is there any way a theme could modify the contents of a collection through the frontend?

            I've been thinking it would be a nice feature to have a "Games in Progress" type collection that I could "tag" games to as I am using the system, sort of the same logic as "Favorites" use now but I would envision it to be more temporary, only having a handful of games I am currently in the middle of stored there and that would be updated regularly as I finish or start games.

            I am pretty sure the API doesn't support writing back to collection data but wanted to confirm that is the case. I know I could repurpose "Favorites" for this but I do use favorites already so I wanted to see if there was any current support for similar functionality, or even if there was any other writable fields on the game or collection object I could use for this idea.

            fluffypillowF 1 Reply Last reply Reply Quote 0
            • fluffypillowF
              fluffypillow @msheehan79
              last edited by

              @msheehan79 At the moment the only writable field is the favorite for games. However, if you don't mind it being theme-specific, you can use api.memory to store arbitrary data like this too. Creating "virtual" collections is also possible with some JavaScript magic; I haven't made yet a theme that'd use this, but if I remember correctly it came up with the gpiOS theme.

              M 1 Reply Last reply Reply Quote 0
              • M
                msheehan79 @fluffypillow
                last edited by

                @fluffypillow Ah right! For some reason in my head I was thinking api.memory would not persist between sessions, I forgot it stores the data in a file. That would definitely work for what I have in mind.

                Indeed the virtual collections works well; I am using a customized version of the fantastic gameOS theme that includes Last Played and Favorites as virtual collections, I would intend to add this as a third virtual collection along the same lines.

                Thanks!

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

                  Was there a change to asset names? I can't for the life of me get my boxart to show.

                  1 Reply Last reply Reply Quote 0
                  • DarksaviorD
                    Darksavior @fluffypillow
                    last edited by Darksavior

                    Nevermind.

                    1 Reply Last reply Reply Quote 0
                    • fluffypillowF
                      fluffypillow
                      last edited by

                      Sorry for the lack of replies and updates. Lately my schedule is a mess, but I'm still alive and will see if I can continue the development soon.

                      B DarksaviorD 2 Replies Last reply Reply Quote 1
                      • B
                        bhakta @fluffypillow
                        last edited by

                        @fluffypillow thank you for your work!

                        I have tons of nfo files. each rom has it's own matching nfo file in the same directory. the nfo files are laid out

                        <?xml version="1.0" encoding="utf-8" standalone="yes"?>
                        <game>
                        <title>My Game</title>
                        <description>My Game</description>
                        <year>2020</year>
                        <genre>Strategy</genre>
                        <nplayers>2 player</nplayers>
                        <esrb>esrb - t (teen)</esrb>
                        <rating>3.5</rating>
                        <developer />
                        <plot>...</plot>
                        </game>

                        This is the output from Advanced Emulator Launcher
                        Is there a way to convert these or a way for Pegasus Fe to read these files?

                        muldjordM 1 Reply Last reply Reply Quote 0
                        • muldjordM
                          muldjord @bhakta
                          last edited by muldjord

                          @bhakta You could import them into Skyscraper, and then use Skyscraper to generate the gamelist for Pegasus afterwards. That should work: https://github.com/muldjord/skyscraper/blob/master/docs/IMPORT.md

                          1 Reply Last reply Reply Quote 0
                          • DarksaviorD
                            Darksavior @fluffypillow
                            last edited by Darksavior

                            @fluffypillow I've been testing out redream crashes, but one crash I was told is unrelated. After testing with a few non-dreamcast games as well, I can say that it might be related to pegasus. It's hard to reproduce. I'm testing by quickly exiting a game a few seconds after it loads. It happens more often with redream but I also tested with finalburn neo to verify it wasn't the redream emulator.

                            When exiting an emulator, sometimes it will exit to this:Untitled-1.jpg

                            fluffypillowF 1 Reply Last reply Reply Quote 0
                            • fluffypillowF
                              fluffypillow @Darksavior
                              last edited by

                              @Darksavior Based on the screenshot, someone called the ps command, likely from a script, with invalid parameters. Pegasus doesn't do this, and probably neither your emulators, so the error should come from somewhere between them. And indeed, I just searched into the RetroPie code and found this line in runcommand. It says "if the parent process of the parent process of runcommand is EmuStation, reset the state of the terminal to its defaults". The error says ps (a command that tells info about running processes) was called with -p (short for process ID), which requires a parameter (ie. which process to examine), but this was missing. This happens if either $PPID is empty or the result of the call ps -o ppid= -p $PPID is empty. Both are cases that should never happen in theory, but looks like they still do occasionally.

                              DarksaviorD 1 Reply Last reply Reply Quote 1
                              • DarksaviorD
                                Darksavior @fluffypillow
                                last edited by

                                @fluffypillow Fast reply! Thanks. So who do I ask now? @mitu ? @BuZz ?

                                mituM 1 Reply Last reply Reply Quote 0
                                • mituM
                                  mitu Global Moderator @Darksavior
                                  last edited by

                                  @Darksavior I don't think that has anything to do with your errors, it's a benign message.

                                  DarksaviorD 1 Reply Last reply Reply Quote 0
                                  • DarksaviorD
                                    Darksavior @mitu
                                    last edited by Darksavior

                                    @mitu Well, my pi hangs with that message sometimes. This has happened today when I was testing games for hours by quickly loading/exiting. First time I see this. I suppose loading games "normally" and playing them will probably be fine.

                                    1 Reply Last reply Reply Quote 0
                                    • fluffypillowF
                                      fluffypillow
                                      last edited by

                                      Weekly update! (it's been a while)

                                      • Updated the Qt libraries 5.12.8: this may improve performance and stability, but please report if you run into any graphical issues. This also fixes the crashing on exit.
                                      • Fixed the log file getting spammed with PNG profile warnings
                                      • Fixed the OpenSSL issues on Ubuntu 19.04 and later
                                      • Added support for QtQml.Models to be used in themes
                                      • Updated the French translation

                                      Also there have been some updates on the Linux distros in the last weeks (RetroPie 4.6, Ubuntu 20.04), so I've also updated the build configurations:

                                      • The desktop Linux release is now built against Ubuntu 18.04, ie. it might not run on older releases
                                      • The Raspberry releases are now built against Debian Buster (RetroPie 4.6), ie. it might not run on older releases

                                      If you haven't updated your system yet, do not update Pegasus either. In case you did, you can still download the "stable" releases from pegasus-frontend.org. Let me know if this change ends up to be a problem.

                                      KNOWN ISSUES

                                      • Language autodetection fails for some reason (likely a Qt related bug). You can still change the language from the settings menu however.

                                      Updates for package maintainers

                                      • Pegasus now requires at least Qt 5.12.0 (the 5.9 LTS reaches end of life this month)

                                      As always, let me know if you run into some issues or have some suggestions!

                                      1 Reply Last reply Reply Quote 3
                                      • M
                                        msheehan79
                                        last edited by

                                        @fluffypillow Any chance you could elaborate on how QtQml.Models could be leveraged in a theme for someone who isn't an QML expert?

                                        I was able to customize a theme to support adding/removing from a dynamic collection using api.memory and a QtSortFilterProxyModel, but the performance isn't where it needs to be, as I had to use an ExpressionFilter in the virtual collection and that really kills the speed when the api.allGames collection is large.

                                        Wasn't sure if supporting QtQml.Models might mean we could essentially build a new source model within the theme instead of filtering off api.allGames. I had originally tried something along that lines to basically create a new model with the theme games in it instead of the filter approach I ended up using, but I couldn't get it to work quite right - probably more due to my limited knowledge of QML than anything.

                                        Could be totally off the mark here, but even if not curious where I could go to understand what other potential use cases there would be for this new support!

                                        fluffypillowF 1 Reply Last reply Reply Quote 0
                                        • fluffypillowF
                                          fluffypillow @msheehan79
                                          last edited by

                                          @msheehan79 QtQml.Models can be used mainly to create new item lists, especially of visual types, that can be used as models. For example, see the first section here: https://doc.qt.io/qt-5/qml-qtqml-models-objectmodel.html. Actually I haven't used this yet, but someone wished to use it and was missing. Might come useful in the future though.Also you can find the full documentation here: https://doc.qt.io/qt-5/qtqml-models-qmlmodule.html.

                                          1 Reply Last reply Reply Quote 0
                                          • PlayingKarrdeP
                                            PlayingKarrde
                                            last edited by

                                            @msheehan79 Qml.Models will mostly come in handy for making menus that don't consist of just a single item type (such as a game model). You can make an object model of your different buttons then use that model to populate a ListView. That's basically why I requested it as creating menus was a huge pain in the ass before.

                                            It's interesting you point out ExpressionFilters being slow though. That's concerning as I've started implementing them in a big way. I haven't seen a performance impact yet but I'm only testing on PC and Nvidia Shield. I had hoped my next theme would be performant on pi as well. Is that where you're seeing this slowdown? I guess it's possible my collection isn't large enough to cause such a slowdown too though.

                                            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.