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.
    • fluffypillowF
      fluffypillow @Purg.Derren
      last edited by

      @purg-derren hmm not sure how to deal with that case, it feels kind of halfway between the frontend and the emulator's territory. I've heard some emulators can handle M3U files where you list the disk files, that'd be an ideal solution I think. Or if the emulator can't handle it, maybe a small launcher app that'd read and present it with some simple UI instead.

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

        HI @fluffypillow - I’ve been keeping an eye on this project for some time and finally had a chance to install it on a Windows PC to check it out. It really is great! I love the clean UI and how smooth and fast it runs, and you’ve taken a lot of steps to make this a super flexible front end as well.

        Can your parser support reading additional data from ES2 files if for example I added “launch” as a node there to set up per game launch commands, or added additional custom metadata using the x-prefix as you support in the regular metdata files?

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

          @msheehan79 well the ES2 support is there mainly for compatibility, so I'd rather not add new features to the files that ES2 itself doesn't support. If a new node type becomes official on their side though, then yeah, support could be added after that.

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

            @fluffypillow yes that does make sense, thanks for replying. Just so I am not missing anything, is there any supported method to set per game launch commands while still using the ES2 metadata or is the only option to switch to the metadata.txt format and add there?

            I’m sure I can convert my files, just want to make sure I haven’t missed an option before I go that route.

            Thanks!

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

              @msheehan79 there's no support for that in ES2's files I'm afraid, all games are run with the command set in the systems config. As for the conversion, this online tool might help with that too.

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

                I have an experimental macOS build, could someone try if it actually works? You can get it here.

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

                  @fluffypillow Ok thanks again! I did see the conversion tool too.

                  The reason for my question was because I have all of my gamelist files in MS Excel spreadsheets that I can export into the ES2 XML format pretty easily. I found the scraped data tended to be hit or miss so I had imported the XML gamelist files into Excel, then manually corrected and curated it there, where it is much easier to work with the data and format/filter/sort it etc and exporting it back into XML is a simple process.

                  I spent a bit of time this evening and wrote up a very quick VBA script that should work to export from my Excel metadata into the Pegasus TXT file format, while also allowing me to add in the launch node so I can set up the custom launch scripts for the games that need it. I'm sure it'll need a few more tweaks but it should provide a nice and simple solution to allow keeping the metadata in a spreadsheet for easier updates and additions, and I can just export the updated metadata for Pegasus as needed.

                  1 Reply Last reply Reply Quote 0
                  • L
                    lazd @fluffypillow
                    last edited by lazd

                    @fluffypillow said in Announcing Pegasus Frontend:

                    I have an experimental macOS build, could someone try if it actually works?

                    macOS High Sierra 10.13.2 (17C89) x86_64

                    I fired it up and got the following:

                    QQmlApplicationEngine failed to load component
                    qrc:/frontend/main.qml:19 module "QtQuick" is not installed
                    qrc:/frontend/main.qml:20 module "QtQuick.Window" is not installed
                    qrc:/frontend/main.qml:19 module "QtQuick" is not installed
                    qrc:/frontend/main.qml:20 module "QtQuick.Window" is not installed
                    

                    This didn't seem to register as a fatal error, as the application stayed open, but with no window displayed. I quit it, then installed QT with brew install qt5, which also installs QtQuick to /usr/local/Cellar/qt/5.11.2/qml/QtQuick/. I relaunched the application and got the same error.

                    Let me know if you'd like me to try anything else or have a fresh build to try!

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

                      @lazd Thanks! Let's see if I can fix it...

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

                        Ok, here's another Mac build. This should be working, optimized, Retina-friendly and also have proper icons. It's here.

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

                          I just came across Pegasus and have to say it might be exactly what I've been looking for. At first glance it looks like it has all the features of a launcher I want and I'm happy to see it's still in active development.

                          I've been looking for a launcher to create a theme for and based on what I'm seeing I think I'm going to take a crack at Pegasus. I do have a couple of questions first though: first is it appears to me that performance maybe quite poor right now or is that just me? I'm mainly talking about the selection of games as I notice there is a bit of stutter on the animations as it switches selection. If there's something I can do to correct this I'd really appreciate it.

                          Secondly, I'm trying to run it in portable mode in order to easily work with the theme but it doesn't appear to be creating a config file within the install dir. I'm simply running it with the --portable flag but it appears to continue to use the UserData folder. Is there something I'm missing?

                          Anyway great work and if I continue to pursue the theme after digging deeper in I'll post my progress.

                          -edit-

                          OK I think I just answered my own questions. I just need to create my own config/themes/ folder for the second question. I noticed once I installed the ES2 theme that performance was improved so I'm wondering if either the default theme is heavy of if the stuttering is happening due to it trying to load video that isn't there (when I cycle between games it is displaying a screenshot for a split second before showing a grey box on top).

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

                            @PlayingKarrde hm the performance should be like what you can see in the first post's video or here:

                            . On what platform do these slowdowns occur?

                            when I cycle between games it is displaying a screenshot for a split second before showing a grey box on top

                            Hm, games that don't have videos should just show the screenshot, but it sounds like as if there's something loaded there which couldn't be played (causing the grey box).

                            I just need to create my own config/themes/ folder for the second question

                            The config dir should be created automatically when run in portable mode; I'll double check in case there's a bug in the code.

                            PlayingKarrdeP 1 Reply Last reply Reply Quote 1
                            • PlayingKarrdeP
                              PlayingKarrde @fluffypillow
                              last edited by PlayingKarrde

                              @fluffypillow Yeah I'm not getting that performance. I'm running on Windows 10 (I7 5870k, 980ti, 32gb ram) so it shouldn't be the platform. Here's a video to illustrate:

                              It's most pronounced on the Fruit Ninja selection in this video but it's random where the stutter happens but it's always on the switch. As you can see the videos aren't loading and that's what I'm assuming the issue is (or maybe any video even if it worked would do this? I don't know. Regardless, the video you posted wasn't using videos nor does the ES2 theme which is why I'm coming to that conclusion.

                              For the config, I initially started it without --portable so it would have created the appdata files so I wonder if it's done that already it won't auto generate when using the flag?

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

                                @PlayingKarrde ah I see, it looks like the Steam videos may be the cause. It seems the video sources were found, but couldn't be loaded correctly from Steam's servers, which causes the slight pause every time the current video is changed. But since the video URL itself is valid, the video box doesn't disappear either. There might have been some changes on Steam's side, or maybe some networking error. If it's the latter, you might see some warnings in the log file (lastrun.log, should be in the same dir as the themes folder).

                                The portable mode indeed got a small bug. It should create and work in the local config folder every time --portable is passed, but the directory handling broke with the recent settings changes. Will try to fix both issues the weekend.

                                PlayingKarrdeP 1 Reply Last reply Reply Quote 0
                                • L
                                  lazd @fluffypillow
                                  last edited by

                                  @fluffypillow said in Announcing Pegasus Frontend:

                                  Ok, here's another Mac build. This should be working, optimized, Retina-friendly and also have proper icons. It's here.

                                  She launches right up! There's a bit of an issue where the macOS menubar overlaps the top of Pegasus screen:

                                  0_1539898616305_Screen Shot 2018-10-18 at 2.33.15 PM.png

                                  Just after launch, I get this error, not sure what it blocked:

                                  2018-10-18 14:35:50.995 pegasus-fe[78930:3948321] App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.
                                  

                                  I tried to launch a Steam game, and I got this error:

                                  Executing command: `steam steam://rungameid/265930`
                                  Could not run the command `steam`; either the invoked program is missing, or you don't have the permission to run it
                                  

                                  Good progress!

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

                                    @fluffypillow said in Announcing Pegasus Frontend:

                                    There might have been some changes on Steam's side, or maybe some networking error. If it's the latter, you might see some warnings in the log file (lastrun.log, should be in the same dir as the themes folder).

                                    Yes you're right. This is spammed in my lastrun.log:

                                    DirectShowPlayerService::doRender: Unresolved error code 0x80040218 ()
                                    
                                    PlayingKarrdeP 1 Reply Last reply Reply Quote 0
                                    • PlayingKarrdeP
                                      PlayingKarrde @PlayingKarrde
                                      last edited by

                                      Oh sorry one more question. I'm having a hard time importing my EmulationStation games. I run that in portable mode also so it isn't automatically picking up my library so I'm not sure exactly how to get it in. I tried using your tool to convert my es_systems to a collections.txt but that doesn't appear to do anything (likely I'm missing a step somewhere). I also wasn't able to convert any of my gamelist.xml files. No error or anything, it just won't do anything.

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

                                        I'm still working on this but just wanted to post some mockups of the potential theme. Ultimately I want something slick and modern that can fit in with other current smart TV apps. Please let me know if you see anything I'm attempting that you don't think is possible with Pegasus.

                                        Grid

                                        Grid 2

                                        Classics

                                        Classics navigation

                                        Like I said, still very much WIP but posting just in case I'm attempting things that are beyond the scope of the software (I don't think so though based on what I've been looking into).

                                        herb_fargusH 1 Reply Last reply Reply Quote 3
                                        • herb_fargusH
                                          herb_fargus administrators @PlayingKarrde
                                          last edited by herb_fargus

                                          @PlayingKarrde the flixnet theme is pretty close to what you're talking about, biggest trick is just finding the proper assets/images

                                          http://pegasus-frontend.org/docs/themes/example-flixnet/

                                          https://github.com/mmatyas/pegasus-theme-flixnet

                                          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

                                          PlayingKarrdeP 1 Reply Last reply Reply Quote 1
                                          • PlayingKarrdeP
                                            PlayingKarrde @herb_fargus
                                            last edited by PlayingKarrde

                                            @herb_fargus Ah very cool thanks. This will help get me going a lot faster. I have some ideas about assets so we'll see if it works.

                                            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.