• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
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.
  • F
    fluffypillow @PlayingKarrde
    last edited by fluffypillow 11 Oct 2018, 18:30 10 Nov 2018, 18:29

    @PlayingKarrde Very nice job! Looks great, tested on Linux and Android, working fine so far.

    I've also noticed the performance drop with the menu, which also happens on my (perhaps slightly old) desktop PC. Taking a very quick look into the code, perhaps you could play around with the radius and samples parameters to improve the perf. In general, GraphicalEffects can be very demanding[1], and Android in particular tend to have troubles there as there are a bunch of video chips with various degree of performance and feature support (as in OpenGL shaders, that most GraphicalEffects are in fact). The game score corruption could happen for similar reasons too, it's possible that something in the ColorOverlay doesn't work properly with Mali 4xx chips, but replacing the shader with a colored variant of the image could be a workaround.

    [1] In the case of the 9999999-in-1 ("beach") theme for example, for the text shadow it was faster and less buggy to just draw the text again in black than adding a drop-shadow effect.

    @Purg-Derren do the other themes (eg. the ES one) show the collection names correctly?

    As for the codecs, eventually I'd like to use something built-in (so no codecs need to be installed), but it's a bit difficult to implement, so that's still on hold.

    @Cederick something like the ES theme chooser in the RetroPie setup script could be done for Pegasus as well. Ideally there'd be also some website or online theme list, which would then be integrated into Pegasus too, so you could install/update themes from it as well.

    @PlayingKarrde

    theme options

    So many things to work on, so little time :) But yeah, it might take a while until I reach that part. In the meanwhile, for saving the settings I think the QML Settings item might work and save the settings somewhere on the system. Might be useful as a workaround until proper support.

    P P 3 Replies Last reply 10 Nov 2018, 18:55 Reply Quote 0
    • P
      PlayingKarrde @fluffypillow
      last edited by 10 Nov 2018, 18:55

      @fluffypillow said in Announcing Pegasus Frontend:

      Taking a very quick look into the code, perhaps you could play around with the radius and samples parameters to improve the perf.

      Thanks I'll take a look into that. If the drop shadow has a performance his that could be problematic as I'm using it for several things (all the text at the top as well as the highlighted option). I may need to have a low-spec option that turns all that off. Speaking of which:

      In the meanwhile, for saving the settings I think the QML Settings item might work and save the settings somewhere on the system. Might be useful as a workaround until proper support.

      Yeah this is where I was planning on looking. If it works I'm sure the work involved will be easily ported over to your theme settings when you get around to it. Definitely understand you're probably swamped so I don't want to keep pestering you for this one as I'm sure it's not a small amount of work. I'll implement my screen for now.

      F 1 Reply Last reply 10 Nov 2018, 20:52 Reply Quote 0
      • P
        Purg.Derren @fluffypillow
        last edited by Purg.Derren 11 Oct 2018, 19:35 10 Nov 2018, 19:06

        @fluffypillow ES theme doesn't work for me at all, since alpha9 or even longer, on android and windows.
        I thought it's just not up-to-date, like the code of the "simple-theme-tutorial" ...i needed to change some lines, to make it work for me.
        I looked into the qml, but im a noob, and for me everything looked ok... i only see the grey base-line, no texts or logos at all and when i hit "accept" the details of the first game are mostly ok, but i can not switch between the platforms or between the game

        But the rest of the themes work well. IF there is a text-base platform list, they are showed in full-form (not a mixed short/full one)

        Ok, correction, the Flixnet and 99999-in1 themes also print the psp and psx in short :o

        Yesterday i also noticed scaling issues with all themes, when switching between fullscrean and windowed. (and restarting pegasus in between etc.) ...first i thought it's an issue with gameOS theme, but then testen with other themes, and it's definetly not the themes fault :)

        P 1 Reply Last reply 10 Nov 2018, 20:04 Reply Quote 0
        • P
          PlayingKarrde @Purg.Derren
          last edited by 10 Nov 2018, 20:04

          @Purg-Derren Interesting. ES2 theme works fine for me and I'm on the latest version. Could something have gotten messed up in your settings file? Maybe back it up and try deleting it and see if that fixes anything? (I have no idea just grasping at straws).

          1 Reply Last reply Reply Quote 0
          • F
            fluffypillow @PlayingKarrde
            last edited by 10 Nov 2018, 20:52

            @PlayingKarrde

            the drop shadow has a performance his that could be problematic

            Really depends on the use cases. I've tried to apply it on a list of game titles, and noticed its heavy perf drain. But it could work for just a few elements. If you have some old phone or a Raspberry lying around, they could come useful for testing.

            @Purg-Derren it sounds as if the theme files have been damaged/corrupted for some reason. Could you post the whole log file (for both platforms)? Perhaps we might find something in it. You could also try redownloading/reinstalling the themes from scratch.

            1 Reply Last reply Reply Quote 0
            • P
              PlayingKarrde
              last edited by 10 Nov 2018, 20:58

              For the ES2 theme I will note that some of the logos are appearing black. I've had this issue before when saving .svgs from Illustrator CC. I haven't figured out the exact cause yet but I'm currently fixing most of them by copying the lines into Gravit Designer and exporting from there. Annoying to be sure and it doesn't work in every case but will likely work for these.

              1 Reply Last reply Reply Quote 0
              • P
                PlayingKarrde @fluffypillow
                last edited by PlayingKarrde 11 Oct 2018, 21:22 10 Nov 2018, 21:11

                @fluffypillow said in Announcing Pegasus Frontend:

                The game score corruption could happen for similar reasons too, it's possible that something in the ColorOverlay doesn't work properly with Mali 4xx chips, but replacing the shader with a colored variant of the image could be a workaround.

                Yep you were right. Have fixed and pushed the update. Good to know.

                Have also switched to using FastBlur instead of GaussianBlur. Seems to be a lot better performance wise. I originally didn't use it as it makes text look sort of ghostly (rather than blurred) but since I turned it off for GaussianBlur anyway (didn't look great there either), FastBlur seems fine.

                1 Reply Last reply Reply Quote 0
                • E
                  EctoOne
                  last edited by EctoOne 11 Oct 2018, 23:05 10 Nov 2018, 23:04

                  Heya @fluffypillow I just want to reopen the media location discussion.

                  I know that I was the one that suggested to use folders with the game name and the assets inside. And this still is my preferred way to do it, but the problem is that creating such layout is very annoying because there is no easy way to scrape files and automatically apply that layout. At least not one that I know of and is also available on windows.
                  So for now I would suggest to use the layout that Skraper creates.

                  ./media
                  /box2dfront
                  /gamename1.png
                  /.......
                  /gamename100.png
                  /screenshot
                  /gamename1.png
                  /.......
                  /gamename100.png
                  /wheel
                  /gamename1.png
                  /.......
                  /gamename100.png
                  /whatever else skraper can do (haven't checked all media types)
                  /gamename1.png
                  /.......
                  /gamename100.png

                  As an addition to that, it would be great if we could set the RetroArch thumbnail folders as location. There is a positive and a negative side to that option that i can currently think of.
                  Plus: We could use the asset downloader from RetroArch to get box art, screenshots and title screens without the need to scrape them manually.
                  Negative: The roms must have the same names as the images.

                  But for someone like me, who spend the last 4 days manually creating that RetroArch system, it would be a nice option and I don't have to maintain two separate locations.
                  On the other hand, if we could get that Skraper layout I mentioned, it would be also easier to duplicate that by just copying/renaming the folders.
                  Maybe it would be possible to have two locations that Pegasus could check.
                  box2dfront(skraper) = Named_Boxarts(RetroArch), screenshot(skraper) = Named_Snaps(RetroArch) and wheel(skraper) = Named_Titles(RetroArch).
                  Then we could just copy the system folder from the RetroArch thumbnail folder to the rom folder and rename it to media.

                  P F 2 Replies Last reply 10 Nov 2018, 23:46 Reply Quote 0
                  • P
                    PlayingKarrde @EctoOne
                    last edited by 10 Nov 2018, 23:46

                    @EctoOne My preference is also the Skraper layout but you can just use the tool I made (it's included with my theme above, check the link) to auto-organise them into the format Pegasus reads. This works fine for me, however the big downside is if you want to add games, Skraper will download everything again since they've been moved from where it looks.

                    Short term though, my tool will save you a lot of time.

                    E 1 Reply Last reply 11 Nov 2018, 01:12 Reply Quote 0
                    • E
                      EctoOne @PlayingKarrde
                      last edited by EctoOne 11 Nov 2018, 01:13 11 Nov 2018, 01:12

                      @PlayingKarrde I might take a look at but for now I'm actually fine with the Retroarch xmb design with box art and logos (I replaced the title screens with logos).
                      But still, it shouldn't be necessary to use multiple programs for images. My initial suggestion to use the folder layout came from that I'm using that method on movies for Kodi and because I was thinking of Rom management first. Having one folder for each game makes it easy to add/remove games.

                      Also, I'm probably spoiled by tinymediamanager which is such an amazing tool for movie/tv show management. I really wish there was something like that for games. It's more of a database editor and not just a scraper. Maybe the upcoming Kodi version with libretro support will encourage someone to create such tool.

                      1 Reply Last reply Reply Quote 0
                      • F
                        fluffypillow @EctoOne
                        last edited by fluffypillow 11 Nov 2018, 11:51 11 Nov 2018, 11:50

                        @EctoOne Actually Pegasus is flexible enough to add support for both Skraper and RetroArch thumbnails and keeping the current media layout. (Never used RetroArch's dowloader though, will need to look into that first.) There could also be some cross-platform program or script that converts from one format to another and back.

                        tinymediamanager

                        Yes, a proper metadata and asset editor would certainly come handy. Might as well take a look into that after the metadata format changes :)

                        E 1 Reply Last reply 11 Nov 2018, 12:09 Reply Quote 0
                        • E
                          EctoOne @fluffypillow
                          last edited by 11 Nov 2018, 12:09

                          @fluffypillow Awesome. Oh and RetroArchs just downloads pre-made packages for the available systems. Can't find the actual package links right now but the github page is here: https://github.com/libretro/libretro-thumbnails

                          1 Reply Last reply Reply Quote 0
                          • F
                            fluffypillow
                            last edited by 11 Nov 2018, 19:07

                            [Weekly update] This week was a bit busy for me, so there are only just a few bugfixes:

                            • Fixed Android navigation issues
                            • Increased the delay before the videos load in the main theme, hopefully this fixes the Steam issues on Windows
                            • Updated the Flixnet theme

                            As for other issues:

                            @SephirothX2004 about the WikiPad issue from a few days ago, could you send me the log file of a failing launch? The full file, and if possible also your collection files, eg. zipped together uploaded somewhere?

                            @EctoOne @Purg-Derren I've confirmed the ES, Flixnet and 9999999 themes should show the correct system names. Could you check if the issues still happen after updating them? If yes, could you also zip+upload your log and collection files (that cause the issue)?

                            @PlayingKarrde about some of the logos are appearing black, can you show me a fixed one? I'd be interested what exactly causes the issue (eg. it's something in the file or a bug in the renderer).

                            H P 2 Replies Last reply 11 Nov 2018, 19:23 Reply Quote 0
                            • H
                              herb_fargus administrators @fluffypillow
                              last edited by 11 Nov 2018, 19:23

                              @fluffypillow >some of the logos are appearing black,

                              I'm almost positive it's a rendering thing. The megadrive logo is one of the worst offenders, probably due to the gradient on it. Because emulation station used an older renderer people drew the svgs in a particular way to get them to render properly.

                              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

                              P 1 Reply Last reply 11 Nov 2018, 21:50 Reply Quote 0
                              • P
                                PlayingKarrde @herb_fargus
                                last edited by 11 Nov 2018, 21:50

                                @herb_fargus it is a rendering thing for sure but I think it's a Qt issue. When I get back to my PC I'll share a before and after svg.

                                1 Reply Last reply Reply Quote 0
                                • F
                                  fluffypillow
                                  last edited by 12 Nov 2018, 18:17

                                  Ok so here are the metadata/theme-api breaking changes I'm planning.
                                  First, the metadata format:

                                  • The format of collections.txt and metadata.txt would be united, so only one of them will be enough.
                                  • The relevant part of the documentation would be replaced with this draft.
                                  • The two major points are:
                                    • A clean difference between text values and file lists in the format
                                    • Games can consist of more than one file, and as such game entries are defined by their title (game:), and not a filename.
                                  • Individual files can have custom properties, like name or special launch command, if needed. On the UI side, this would mean you could select the file to launch when starting a game with multiple files. The dialog would be themeable.

                                  As for themes, this is a bit more experimental, as I'll need to do some implementation tests first. Plans are:

                                  • The game- and collection list will be optimized so it could appear in multiple locations at the same time. For example, a recently played list and a regular game list on the same screen.
                                  • An interface for getting the list of all available games (independent of collections) will be added.
                                  • The shortcuts api.currentCollection and api.currentGame will be removed
                                  • Due to technical reasons, <game>.play() will likely be removed. Instead, games will likely have an id field, and there would be something like api.launchGame(gameId) to use. [This part still needs some experimenting]
                                  • api.launchGame(gameId) would open a file launch dialog mentioned at the metadata part (if needed for the game). There would be something like api.launchGameFile(...) in case you want to implement your own launch dialog.
                                  • For sorting and filtering, you could expect something like this (well, if everything works fine, exactly that).

                                  As for theme options, that's even more experimental. I'm torn between two options, the "let you save anything but require you to write a GUI panel" and the "define the possible options and let Pegasus show them in a common menu". The second option would be more themer friendly I think, but of course that's more work for me :)

                                  If that wins though, the options would be defined in the theme.cfg, something like this:

                                  option: Toggle Gadget X
                                  type: switch
                                  default: off
                                  
                                  option: Alignment of That
                                  type: select
                                  options:
                                    Left
                                    Right
                                    Center
                                  default: Left
                                  
                                  option: UI Color
                                  type: color
                                  default: #abc
                                  

                                  Well at least these are the plans. As always, comments are welcome!

                                  P P 2 Replies Last reply 12 Nov 2018, 21:09 Reply Quote 2
                                  • P
                                    Purg.Derren @fluffypillow
                                    last edited by 12 Nov 2018, 21:05

                                    @fluffypillow

                                     could you also zip+upload your log and collection files (that cause the issue)?
                                    

                                    That was a hint! ^^ ... i had a (copy pasted) typo in the psx collections.txt (and psp one) -.-"

                                    The new build of pegasus i can't really test yet ...my anti virus (it periodically do it, with some of your builds) blocks the alpha 10-3 ...even if i put it to exception, it really lags as hell (and i think thats why the anti virus sees a malware there) ...video playback seems not to start at all etc.

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      Purg.Derren @fluffypillow
                                      last edited by 12 Nov 2018, 21:09

                                      @fluffypillow that sounds really great! :)
                                      Theme options and unified "gamelist"-file (and multi-disc/multiple-files - yay!)

                                      1 Reply Last reply Reply Quote 0
                                      • P
                                        PlayingKarrde
                                        last edited by 13 Nov 2018, 01:26

                                        Some thoughts after using it extensively for a few weeks now and in multiple different scenarios:

                                        While I like the changes to collections and gamelists, I am not convinced this is the necessary step to take. Right now I would say the number one issue that's holding the launcher back from being open the a mass audience is adding games. Currently, my flow to add a game is add the rom file to my folder, scrape the entire folder again (which takes sometimes as long as 45 minutes on large collections - it has to scrape everything each time due to Pegasus using it's own media file structure), run a script I had to write to organize the media, take the gamelist file the scraper made and drop it in the conversion tool, then replace the metadata.txt with this new info (and if I've made any changes to specific games those will get overwritten unless I'm very careful). This is just to add one game.

                                        The only reason willing to do all that work is because I really see the potential in the launcher and think it will be the best launcher hands down when all said and done.

                                        So combining the collection and metadata sounds good when looking at it in a bubble, but if anything it will make it more difficult with the current workflow. The same goes for multi-disc games - fantastic addition but unless the workflow is made more streamlined it will potentially get in the way more than it currently does (if it were to read .m3u files that might be more convenient).

                                        I guess what I'm getting at is if you have a roadmap for features, working on how users add games should be a top priority. If these changes are necessary in order to reach that goal then great, but ultimately having users manually edit text files should be an absolute last resort for any usable piece of software in my opinion.

                                        1 Reply Last reply Reply Quote 0
                                        • P
                                          PlayingKarrde @fluffypillow
                                          last edited by 13 Nov 2018, 01:29

                                          @fluffypillow regarding theme options, I don't mind either way to be honest. I think if there was a template example then many theme creators could just hack that together to create something pretty easily. Having a unified one might be nicer for the launcher overall, but I think if theme makers are able to learn qml (which isn't that hard) they can put together a settings screen fairly easily. My comment about usability doesn't apply so much to theme creators as much really.

                                          1 Reply Last reply Reply Quote 0
                                          960 out of 1711
                                          • First post
                                            960/1711
                                            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.

                                            This community forum collects and processes your personal information.
                                            consent.not_received