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 @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
                            • fluffypillowF
                              fluffypillow @lazd
                              last edited by fluffypillow

                              @lazd Thanks! I think I can fix both issues, will post a new build later. If you have gamepads available, could you check if they're working fine?

                              @PlayingKarrde

                              DirectShowPlayerService::doRender: Unresolved error code 0x80040218 ()

                              Oh, that's actually a video playback issue, usually happens when Windows doesn't have the necessary video codecs (DirectShow filters) available to play the stream. Installing opencodecs_0.85.17777.exe from here should fix this. You can also use codec packs like K-Lite if you prefer that. I'll add this info to the documentation.

                              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.

                              Hm yes I think in such case you can either make ES non-portable or convert the gamelists to Pegasus' files and add the game directories in the Settings.

                              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.

                              You mean using this site you've copied the contents of the XML files to the left, but nothing at all happened on the right? Interesting, could you send an example file that causes this issue? Maybe there's some new node that breaks the tool.

                              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.

                              Very nice! Yes technically everything is possible, the only thing currently missing is the recently played games (and, in general, sorting), but that will be added eventually.

                              flixnet theme

                              It's a bit outdated so might not work at the moment (but that can be fixed). There's also an article about its code too.

                              PlayingKarrdeP 2 Replies Last reply Reply Quote 1
                              • fluffypillowF
                                fluffypillow
                                last edited by

                                Ok, another Mac build here. This should fix the Steam and network issues, and in theory hide the menu bar.

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

                                  @fluffypillow

                                  Oh, that's actually a video playback issue, usually happens when Windows doesn't have the necessary video codecs (DirectShow filters) available to play the stream. Installing opencodecs_0.85.17777.exe from here should fix this. You can also use codec packs like K-Lite if you prefer that. I'll add this info to the documentation.

                                  Yeah that was the issue with the videos not playing but it still hitches between selections. I still feel like it is due to trying to load many things at once. My suggestion would be to have a slight delay before trying to load the background image and video then fade them in after, say, a second. This would be a smoother browsing experience and just overall more polished I feel.

                                  You mean using this site you've copied the contents of the XML files to the left, but nothing at all happened on the right? Interesting, could you send an example file that causes this issue? Maybe there's some new node that breaks the tool.

                                  Yes this is the one. Here's an example XML: https://pastebin.com/gjuK4uU0

                                  Very nice! Yes technically everything is possible, the only thing currently missing is the recently played games (and, in general, sorting), but that will be added eventually.
                                  Thanks. I figured sorting was still to do.

                                  Also if I could make one more suggestion, would it be possible to also read LaunchBox data as a data source? For me LaunchBox does a much better job scraping metadata as well as being a lot easier to organise your collection. ES2 is fine but it's very limited requiring lots of manual copy/paste. Since I feel your tool has a lot more potential and power, having easy access to that meta data easily would be amazing.

                                  Keep up the great work!

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

                                    @fluffypillow

                                    Oh I also just got a crash (no big deal but here's the log in case it's useful): https://pastebin.com/TniqiTYn

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

                                      @PlayingKarrde

                                      Yeah that was the issue with the videos not playing but it still hitches between selections. I still feel like it is due to trying to load many things at once. My suggestion would be to have a slight delay before trying to load the background image and video then fade them in after, say, a second. This would be a smoother browsing experience and just overall more polished I feel.

                                      Everything is loaded asynchronously already :) It's just not animated. The video loading also has a slight delay (though maybe a bit too slight); based on all the DirectShow errors in the last log I still suspect the video playback isn't 100% correct, but if the videos play correctly that should not cause such a visible issue in theory. I'll take a deeper look into the performance issues.

                                      Yes this is the one. Here's an example XML: https://pastebin.com/gjuK4uU0

                                      Thanks! Will look into it.

                                      Also if I could make one more suggestion, would it be possible to also read LaunchBox data as a data source?

                                      Likely possible, though I've never used LaunchBox before. I can't seem to find any documentation about its files either, but if its some structured text file, that could be read.

                                      Oh I also just got a crash (no big deal but here's the log in case it's useful): https://pastebin.com/TniqiTYn

                                      Thanks, there are indeed a few interesting things, it seems as if some URLs might have changed on Steam side. Then there's another DirectShow doRender error at the bottom, maybe there's a different video format as well. Did Pegasus crash on exit or just randomly? Can the crash be reproduced with a specific game?

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

                                        @fluffypillow said in Announcing Pegasus Frontend:

                                        Likely possible, though I've never used LaunchBox before. I can't seem to find any documentation about its files either, but if its some structured text file, that could be read.

                                        They use XML as well. Honestly though in the long term I think it would be ideal if Pegasus had it's own way of managing/scraping data. Launchbox is also Windows only and one of the things I really like about Pegasus is that it's cross platform. I think one of the key elements that is holding back pretty much all launchers is their inaccessibility with managing libraries though. Launchers become a power user only thing when really the whole point is to make people's lives easier. ES2 actually does do a decent job (as does OpenEmu on the Mac) but ES2 is limited in what it can scrape and if you want to make and changes beyond adding new roms you have to start editing text files. Not very friendly.

                                        I don't know if you ever do intend to tackle this issue but if so I'd be happy to put together a user flow/set of wireframes for how I have always wanted the experience to be.

                                        Thanks, there are indeed a few interesting things, it seems as if some URLs might have changed on Steam side. Then there's another DirectShow doRender error at the bottom, maybe there's a different video format as well. Did Pegasus crash on exit or just randomly? Can the crash be reproduced with a specific game?

                                        It just exited randomly. I can't reproduce it so I don't think it was game specific. Not a big deal at this point at all.

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

                                          @PlayingKarrde Ideas are always welcome; if you put together something, I'll certainly take a look on, but I can't promise to implement it :) I agree that a metadata editor would be nice, and I'd like to add support for it eventually.

                                          As for scraping though, I'm not sure about that yet. A scraper that's available for all the platforms Pegasus is doesn't sound bad, but I'm not sure I have the time and energy to start and maintain yet another free time project. There are a few scrapers already, so some kind of plugin system and integration would be more ideal, but a proper implementation of that looks similarly troublesome, and I wonder how many people would use that anyway. If there ends up a high demand for a scraper, I might start working on it, but right now it's not priority.

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

                                            @fluffypillow totally agree and you're right, there are options that exist already so it's not that important.

                                            By the way I tracked down the troublesome entries in that gamelist I posted before. I'm not entirely sure what within them is causing it to fail but removing these ones allows it to work. Hopefully this will make it easier to track down the issue.

                                            https://pastebin.com/Rphv2fjU

                                            -edit- actually it looks like these all have 4+ set as their players and this is what's causing it to fail. Removing the + in these entries allows it to parse.

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