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.6m 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.
    • fabio78F
      fabio78 @fluffypillow
      last edited by

      @fluffypillow Beautiful, clean, fantastic usability, all made even more impressive by the fact of it being a one man project. Well done, mate, I'll be watching this closely now.

      1 Reply Last reply Reply Quote 1
      • HexH
        Hex
        last edited by Hex

        Built and Installed nicely. Question: artwork missing? Game lists are all scrapped properly in ES

        Sent from 20,000 leagues under the sea.

        Powersaver Emulation station : https://github.com/hex007/EmulationStation
        ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

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

          @Hex the documentation is still work in progress, sorry about that! Right now the XML is used for the metadata only; instead of reading the files from a gamelist, for a given asset type Pegasus tries to find an image file that matches certain name patterns. For example, if your rom file is Contra (U).nes, and you want a box front art, it will check (at the moment) the following directories:

          • [directory of the rom]/media/
          • $HOME/.emulationstation/downloaded_images/

          for the following files:

          • Contra (U)-boxFront.jpg
          • Contra (U)-boxFront.png
          • Contra (U)-box_front.jpg
          • Contra (U)-box_front.png
          • Contra (U)-boxart2D.jpg
          • Contra (U)-boxart2D.png
          • Contra (U).jpg
          • Contra (U).png

          and use the first one it finds as the box art. Similarly for the other assets too. If you can read the code, you can find the full list of the currently supported suffixes in src/backend/Assets.cpp, but of course this is something I intend to document properly.

          AlturisA 1 Reply Last reply Reply Quote 2
          • HexH
            Hex
            last edited by

            @fluffypillow Need any help with Pegasus? I am currently working on some features for ES so I am in good shape to contribute here too.

            Also I would recommend putting the GitHub repo url in the first post. This prevents users from having to go fishing in the comments

            Sent from 20,000 leagues under the sea.

            Powersaver Emulation station : https://github.com/hex007/EmulationStation
            ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

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

              @Hex, thanks; it's still quite early in the development, I can't guarantee that even the project structure won't change while you work on a feature :) I'd like to complete the basic features first and release a beta, then there'll probably be enough feature requests to work on. If you've found some bugs or had any issues though, feel free to ping me!

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

                As for the weekly changelog,

                • Gamepad layout editor is in the works; I've also spent the some time learning Inkscape to make it fancy (screenshots next week)
                • Added OSX build testing
                • Deployment improvements (this means I can make release packages with one command, and such a package will contain all the DLLs/SOs needed by the program)
                1 Reply Last reply Reply Quote 1
                • fluffypillowF
                  fluffypillow
                  last edited by

                  Here's how the vector looks so far: https://snag.gy/53KQGi.jpg (sorry for the misalignments, this was a test/work file)

                  1 Reply Last reply Reply Quote 0
                  • A
                    Allanbuzzy
                    last edited by

                    Considering the work of Pegasus is going well, I wonder if it's possible for us to switch from either ES or Pegasus via a setting on RetroPie. That'd make users not be mad when they can just switch frontends.

                    "What do you play games on?"
                    "A LEGO brick."
                    "LEGO What?

                    cafarellidigitalC 1 Reply Last reply Reply Quote 0
                    • cafarellidigitalC
                      cafarellidigital @Allanbuzzy
                      last edited by

                      @Allanbuzzy I'm very excited about Pegasus, but I think it's too early to add it to the RetroPie script. Right now the only people who should be installing it are developers and testers, not the general public.

                      Console Stripe Video Splashscreen | Mushberry Splatter Splashscreen

                      1 Reply Last reply Reply Quote 1
                      • S
                        shantigilbert
                        last edited by

                        @fluffypillow Pegasus looks great! thanks for sharing.

                        I am trying to compile it for Libreelec, but I ran into a problem, I get this error:

                        Project ERROR: Unknown module(s) in QT: qml

                        I am not sure this forum is the best place to discuss this, as its not related to RetroPie, but I didn't want to open an issue on Github as I am sure it is not a bug, but do you think you could help me figure out the error?

                        Thanks!

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

                          @shantigilbert I'm not familiar with LibreELEC, but I can try it this afternoon. It seems some Qt modules are missing; on many distros you have to install them as separate packages. You'll need these parts:

                          • Qt 5.8 core
                          • QML
                          • Qt Quick 2 (may be a QML package with different name scheme on some distros)
                          • Multimedia (might be called as MultimediaQuick)
                          • Svg module
                          • Gamepad module
                          • Multimedia libs depending on the platform (eg. gstreamer1.0-omx on the Pi)

                          If these are not available, you might need to build Qt manually (which I did for the Pis). I'm not sure about the name of the packages, as it seems every distro calls them differently, or uses some complicated naming scheme.

                          Of course, I'll add these details to the build guide (which I actually started writing last night).

                          lilbudL S 2 Replies Last reply Reply Quote 0
                          • lilbudL
                            lilbud @fluffypillow
                            last edited by

                            @fluffypillow said

                            Of course, I'll add these details to the build guide (which I actually started writing last night).

                            Is this what the build guide will look like?
                            0_1495625451403_e225b986-03af-40a1-a1b2-b8c3ae7e17f3-image.png

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

                            Backlog: http://backloggery.com/lilbud

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

                              Yeah, and here's me writing it:

                              alt text

                              lilbudL 1 Reply Last reply Reply Quote 2
                              • S
                                shantigilbert @fluffypillow
                                last edited by

                                @fluffypillow Thank you.
                                I am building QT 5.8.0 from source, but I guess those modules don't get build. I am a newbie on compiling stuff from scratch on Linux so I will have to do some research as to how to compile them.

                                Thanks for the reply!

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

                                  @fluffypillow And someone reading how to build Pegasus
                                  0_1495641018871_555f995e-9667-4075-b962-9313cf691f99-image.png

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

                                  Backlog: http://backloggery.com/lilbud

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

                                    Actually, if you're building from source, by default the build system will try to build all Qt modules if possible. The output of the configure step shows it in detail what will Qt try to build. Make sure everything under QML and Qt Quick is selected ("yes"), except DirectX 12. You'll also need EGLFS under QPA backends, and at least one of the EGLFS details, that matches your device (eg. EGLFS Rasberry Pi). You'll probably want the X11 options off too.

                                    Yeah, building Qt is not really trivial.

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      shantigilbert
                                      last edited by shantigilbert

                                      @fluffypillow could it be that I am compiling qtbase? (in my defense, it was the only thing I could find instructions for)

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

                                        Ok, I've wrote a Qt cross compilation guide, and you can also find all the config options I used here: https://github.com/mmatyas/pegasus-frontend/wiki/Qt-cross-compilation

                                        PS: The first note is for the future users

                                        S 1 Reply Last reply Reply Quote 1
                                        • S
                                          shantigilbert @fluffypillow
                                          last edited by

                                          @fluffypillow Thank you! this will be of great help! I will let you know how it goes after I try it.

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

                                            And I guess this will do as a build guide for now: https://github.com/mmatyas/pegasus-frontend/wiki/Building.

                                            S 1 Reply Last reply Reply Quote 1
                                            • 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.