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.2m 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

      @lilbud yes, 2147483647      ( ͡° ͜ʖ ͡°)

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

        As for the "system bar" on the top of the current theme, it loops like the carousel, and shows as many as it can while the name of the platforms remains visible.

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

          This week Pegasus got open sourced, and is available here. There are no proper releases yet, since it's still in alpha, but you can already build it from source. Automatic build testing has been set up for desktop Linux, Pi1, Pi2 and Windows. It is also confirmed working on Windows 10.

          mattrixkM meleuM 3 Replies Last reply Reply Quote 8
          • mattrixkM
            mattrixk @fluffypillow
            last edited by

            @fluffypillow You're doing some great work mate. I'd love to try this out for windows, but have no idea how to get it from your github to a usable program on my PC.

            My ES themes: MetaPixel | Spare | Io | Indent

            1 Reply Last reply Reply Quote 0
            • meleuM
              meleu @fluffypillow
              last edited by

              @fluffypillow can you be more specific about the dependencies on the README? I mean, which debian packages do I have to install to build the pegasus-frontend?

              • Useful topics
              • joystick-selection tool
              • rpie-art tool
              • achievements I made
              1 Reply Last reply Reply Quote 0
              • meleuM
                meleu @fluffypillow
                last edited by

                @fluffypillow Well, I kinda figured out the dependencies. I'm trying first on my Linux Mint x86. I installed qtdeclarative5-dev and qtbase5-dev and it brought a lot of other packages.

                And then I've got this:

                $ make
                cd src/ && ( test -e Makefile || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /home/meleu/src/pegasus-frontend/src/src.pro INSTALLDIR=/opt/retropie/supplementary/pegasus-frontend/ -o Makefile ) && make -f Makefile 
                make[1]: Entrando no diretório `/home/meleu/src/pegasus-frontend/src'
                cd backend/ && ( test -e Makefile || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake /home/meleu/src/pegasus-frontend/src/backend/backend.pro INSTALLDIR=/opt/retropie/supplementary/pegasus-frontend/ -o Makefile ) && make -f Makefile 
                make[2]: Entrando no diretório `/home/meleu/src/pegasus-frontend/src/backend'
                g++ -c -m64 -pipe -O2 -fPIC -fno-exceptions -Wall -W -std=c++0x -D_REENTRANT -DQT_DEPRECATED_WARNINGS -DQT_RESTRICTED_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtQml -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -o Api.o Api.cpp
                Api.cpp: In member function ‘void ApiObject::onLoadingFinished()’:
                Api.cpp:54:11: error: ‘qInfo’ was not declared in this scope
                     qInfo().noquote() << tr("Data files loaded in %1ms").arg(m_loading_time_ms);
                           ^
                make[2]: ** [Api.o] Erro 1
                make[2]: Saindo do diretório `/home/meleu/src/pegasus-frontend/src/backend'
                make[1]: ** [sub-backend-make_first] Erro 2
                make[1]: Saindo do diretório `/home/meleu/src/pegasus-frontend/src'
                make: ** [sub-src-make_first] Erro 2
                

                It seems that we have some problem in Api.cpp file.

                • Useful topics
                • joystick-selection tool
                • rpie-art tool
                • achievements I made
                1 Reply Last reply Reply Quote 0
                • fluffypillowF
                  fluffypillow
                  last edited by

                  Yeah, the documentation is a bit lacking, I plan to add proper guides/wiki eventually.

                  The Qt version is important (and I've just added a version check to the project file for checking), especially on embedded systems due to the optimizations in the later releases. Unfortunately the Qt packages are outdated on all Debians (including experimental), which is what you've just experienced too (qInfo was added in Qt 5.5, two years ago). For desktop only (X11/Windows), you can download the official development kit from here, and I'm also providing my own Qt builds for and RPi 1/2 and X11, which I've uploaded to the GitHub releases tab (eg. qt58-x11.tgz). These are used for build testing too, but they don't include the debug libs or Qt Creator (making them way smaller than the official release). If you want to use them, you have to extract them to /opt, and use /opt/qt58-xxx_hosttools/bin/qmake.

                  Cross compilation to Pi is a somewhat more difficult topic, and I could (and probably will) write a whole post about it. In short, you can find the required tools on GitHub, extract them to /opt, add the toolchains' bin directory to your $PATHand use theqmake from rpi1/rpi2_hosttools. You can set up remote deployment in Qt Creator as well.

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

                    Also a few additional notes:

                    • Gamepad support improvements will be added in Qt 5.9; it's going to be released at the end of this month, and I'll increase the required Qt version then
                    • There's no main menu yet, that's what I'm going to work on this week
                    • Please note that Pegasus is less than 2 months old, and is still in alpha
                    • If you do manage to run it, bug reports and suggestions are welcome!
                    1 Reply Last reply Reply Quote 4
                    • fluffypillowF
                      fluffypillow
                      last edited by fluffypillow

                      Had some errands to do this week, so I worked mostly on the main menu only (demo: http://webmshare.com/play/Prq5q).
                      Shutdown and reboot works too, and running custom scripts before them will be supported in the future.
                      You can also navigate using the mouse.

                      herb_fargusH fabio78F 2 Replies Last reply Reply Quote 4
                      • herb_fargusH
                        herb_fargus administrators @fluffypillow
                        last edited by

                        @fluffypillow glorious :) well done

                        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

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