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
      last edited by

      @Darksavior Yeah there've been lots of changes this week -- I'll finish up some patches then write a changelog!

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

        Okay, here are this week's main features:

        • Improved ES2 compatibility
          • added support for <rating>
          • fixed <releasedate> and <lastplayed> parsing
          • added support for <image> (used as box front image), <marquee> and <video> tags
          • in practice this means if an image shows up in ES, it should also show up in Pegasus without any changes
          • with these changes all <game>-related tags are supported (except <thumbnail>, because it's not used anyway)
        • Rewrote the asset loading
          • ~/.emulationstation/downloaded_images is no longer scanned (as the <image> tag is now supported)
          • [romdir]/media is scanned just as before, it wasn't changed
          • developers: the code got cleaner and more extendable, it'd be possible to eg. add attractmode compatibility
        • Audio support in the theme API
          • every game can have its own music
          • at the moment, MP3, OGG and WAV files are searched
          • like the other assets, the sound file's name should match the rom's file name; optionally, it can also have the -music suffix (eg. MyGame.ogg or MyGame-music.mp3)
          • at the moment there are no themes that actually use music
        • Performance optimizations (loading should be even faster!), translation file updates, bugfixes
        • Netflix theme!
          • video here
          • source repo here (put the repo into ~/.config/pegasus-frontend/themes/, then change the theme in the settings)

        0_1501445288329_flixnet_theme.jpg

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

          @fluffypillow That's great! But I still don't know how to get my pictures to show again-_-;
          They do show up in ES.

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

            @Darksavior ah I might've forgot to handle ~ in the ES2 <image> paths, so they'll probably fail, yes. I'll double check that tomorrow.

            Other than that, images in [romdir]/media should load fine.

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

              @fluffypillow Thank you, that works, but it still uses the old supported -boxFront,etc and not -image. I'll wait for your corrections instead. I also won't need to rename after using selph's scraper, heh.

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

                @fluffypillow So the images we scraped with ES won't work with Pegasus?

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

                Backlog: http://backloggery.com/lilbud

                TMNTturtlguyT DarksaviorD 2 Replies Last reply Reply Quote 0
                • TMNTturtlguyT
                  TMNTturtlguy @lilbud
                  last edited by

                  @lilbud they should, he explains this in the change log just above.

                  PokeEngineerP 1 Reply Last reply Reply Quote 0
                  • PokeEngineerP
                    PokeEngineer @TMNTturtlguy
                    last edited by

                    @tmntturtlguy

                    Then after that, @fluffypillow said in Announcing Pegasus Frontend:

                    @Darksavior ah I might've forgot to handle ~ in the ES2 <image> paths, so they'll probably fail, yes. I'll double check that tomorrow.

                    Other than that, images in [romdir]/media should load fine.

                    That is what @lilbud is referring to.

                    Don't sweat it.
                    When in doubt, take a BYTE out of life.

                    😎

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

                      @lilbud said in Announcing Pegasus Frontend:

                      @fluffypillow So the images we scraped with ES won't work with Pegasus?

                      As I said THREE posts above, they don't work for me. The old naming scheme does as I pointed it out ONE post above yours. He will check for the problem which he said TWO posts above yours.

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

                        Ok, fixed the ES2 asset path handling, it should work now.

                        @Darksavior you've also mentioned dpad/analog problems, what kind of controller is that exactly? Does it happen only with that controller?

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

                          So I downloaded the new build of pegasus and ran it. the settings and control menus work, but everything else is black.
                          0_1501525850497_snapshot.png

                          I even tried the flixnet theme and the screen was still black. Just with the white selector square showing and nothing else.

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

                          Backlog: http://backloggery.com/lilbud

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

                            @lilbud this happens when no games have been found, that is, there was a problem with loading some of ES2's XML files. Try checking the log file (~/.config/pegasus-frontend/lastrun.log) for any errors.

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

                              @fluffypillow That file doesn't exist, I even had to create the theme folder

                              Never mind, I got everything to work

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

                              Backlog: http://backloggery.com/lilbud

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

                                @fluffypillow said in Announcing Pegasus Frontend:

                                @Darksavior you've also mentioned dpad/analog problems, what kind of controller is that exactly? Does it happen only with that controller?

                                My dpad is recognized as Left analog left/right and Right analog up/down. I don't think the pegasus controller configurator works correctly because I can't change it to dpad. The buttons work. I'm using original snes controllers connected directly to gpio using the gamecon driver/schematic. It only happens on the snes pad. My usb controller and 360 arcade stick work fine.

                                These are the controls ES configured on my snes pad:
                                input_up_axis = "-1"
                                input_down_axis = "+1"

                                My usb 360 stick and usb controller:
                                input_up_btn = "h0up"
                                input_down_btn = "h0down"
                                input_right_btn = "h0right"
                                input_left_btn = "h0left"

                                And thank you for the new update. -image pictures work again. -marquee -logo -screenshot are not. I've tried to use sselph's scraper on pc again to get both boxart and marquees and the same time, but marquees just won't show up. Probably has to do with the gamelist.xml not having a marquee section. Update: I couldn't find an automated way to get marquee's into the gamelist so I'll have to use boxart only.

                                Another request: For the games that don't have video (none of mine do at the moment because it crashes pegasus), to replace that small section with a screenshot of the game if possible. If it's not easy then it's no big deal.

                                Also, if you can look into why usb keyboards don't work in Retropie-Setup/runcommand/alsamixer, etc if ran FROM pegasus. If they are ran from ES, the usb keyboard works. As I said in a previous post, the alsamixer requires the keyboard, and it's impossible to use it if it's loaded from pegasus. The keyboard works fine IN pegasus.

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

                                  @Darksavior I can confirm that keyboard support is indeed broken. It does work in game though, hm... I'll see if I can debug it.

                                  original snes controllers connected directly to gpio using the gamecon driver/schematic

                                  Ah, I guess that's not something I can just pick up one for testing, then :) Pegasus primarily uses the evdev input event interface for gamepad input, so if a button is reported as axis, I'd suggest taking a look around the driver and evdev. You can see some information and test the controller with evtest. Qt makes a difference between buttons and axes, which is why you can't mix them.

                                  Alternatively there's a secondary, SDL2-based input handling you can use by export QT_GAMEPAD=sdl2 before starting Pegasus, but I think we tried that and it didn't work. Its compatibility can be improved though, so I plan to add a patch which may fix the problem.

                                  -marquee -logo -screenshot are not

                                  You mean assets in romdir/media/with those suffixes don't load for you? They should work fine, unless there were some problems loading the pictures (eg. when a file has PNG extension, but actually it is a JPG file). Such errors should be logged in the log file.
                                  Or you mean ES2 asset tags eg. <logo>? Only <image>, <marquee> and <video> is supported at the moment (though it seems I should support only <image>). I've generated them using UXS.

                                  Another request

                                  Sure, it can be done.

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

                                    I've just did a new speed test, apparently now I load 1505 games in 1590±35 ms (except the first start).

                                    And I've also noticed that now the RetroPie menu icons appear as well, since they too use the <image> tags :)

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

                                      @fluffypillow
                                      I did manage to change the controls for up,down,left,right to the Left Analog. Well, the whole reason I'm trying to assign my dpad to pegasus's dpad was so I can control pegasus. No way to make analog controls control pegasus as well?

                                      I was trying to see if selph's scraper threw in marquee's inside the gamelist.xmlbut I couldn't figure it out. Thanks, throwing the -logofiles in /media work just fine and I'll do that instead. I'm spending more time sorting pictures than playing games:)

                                      HurricaneFanH 1 Reply Last reply Reply Quote 0
                                      • HurricaneFanH
                                        HurricaneFan @Darksavior
                                        last edited by

                                        @darksavior I believe it can add marquee images, if you run this at command prompt, you should see a couple marquee options.

                                        /opt/retropie/supplementary/scraper/scraper -help

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

                                          @fluffypillow Pegasus is also loading much slower when I added all the marquees to /media. Tried the latest version now and it still does it. Pegasus says Data files loaded in 99783ms for 2234 games found. Removing the media folders lower it to 6968ms. I'm nowhere near finished deleting games, though.

                                          @HurricaneFan Thanks, I tried that, but after many heachaches I'm fine with throwing files in a folder and calling it a day without messing with scrapers.

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

                                            @Darksavior

                                            99783ms

                                            Yikes! That's a bit too high for a Pi 2/3... Then again, I've measured it only on my Pi 3 config yet, so it's not a 100% accurate number.

                                            No way to make analog controls control pegasus as well?

                                            I think I can add support for that.

                                            I'm spending more time sorting pictures than playing games:)

                                            Just throw everything to media that isn't supported by ES :) I also plan to add subdirectory support eventually to organize it.

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