RetroPie forum home
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Home
    • Docs

    Announcing Pegasus Frontend

    Ideas and Development
    frontend pegasus c++ development qml
    145
    1704
    580008
    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.
    • fluffypillow
      fluffypillow last edited by

      @meleu as soon as it's generally in a usable state, I'll open source it. There are some basic features I'd still like to work on before, like gamepad navigation, but I can make an alpha release this week or the next probably.

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

        I've made a new video:

        (I did cheat a bit, I've turned off displaying the videos, but that doesn't affect the loading speed anyway. Also it's "just" 750 games this time.)

        For some reason starting right after boot, like ES2, takes 1 second longer... interesting. Anyway, according to the logs, game data loading took 1991ms even with this delay.

        cafarellidigital itskryode 2 Replies Last reply Reply Quote 10
        • cafarellidigital
          cafarellidigital @fluffypillow last edited by

          @fluffypillow goddamn that's some smooth scrolling and loading.

          Console Stripe Video Splashscreen | Mushberry Splatter Splashscreen

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

            @fluffypillow said in Announcing Pegasus Frontend:

            "just" 750 games this time

            JUST?
            ARE YOU CRAZY?
            THIS WILL (and I mean will) EXCEED THE PERFORMANCE OF RETROPIE

            1 Reply Last reply Reply Quote 0
            • TMNTturtlguy
              TMNTturtlguy last edited by

              @fluffypillow will we be able to use current themes from ES on this front end or will we need to rebuild them in a different format? Looks like some cool modifications could be done to my themes! Have you thought about a screensaver like @fieldofcows and @pjft have built for their ES fork? The screensaver is the coolest feature and would be a great addition to what you are working on. Looking forward to testing this one out soon......this might mean I need a 4th SD card so I can keep running all the different builds I am working on!

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

                @TMNTturtlguy It uses a different format, but I think it would be possible to write a converter script. Haven't thought about the screensaver before, but yeah, that's a good idea!

                1 Reply Last reply Reply Quote 1
                • InsecureSpike
                  InsecureSpike last edited by

                  wow, looking awesome!
                  great work!

                  RPi 3 - RetroPie + 500gb HDD [consoles] + Razer Onza Tournament
                  RPi 3 - RetroPie + 32gb USB [computers] + Keyboard
                  both with AttractMode + FuzzBoxx Layout

                  1 Reply Last reply Reply Quote 0
                  • teknomusik
                    teknomusik last edited by

                    Any chance this front end could have a menu for loading / previewing save states similar to the NES Classic menu?
                    nes classic menu

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

                      @teknomusik well that depends on the emulators; if the frontend can read the states, displaying them is not a problem. Most emulators use their own save state formats, so we'd either need some common file format, some information about the individual saves, or some kind of plugin system for the individual emulators/formats.

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

                        This week's progress:

                        • improved screen resolution / aspect ratio support
                        • added different box size support
                        • added basic gamepad support
                        • improved game list loading speed by about 30%
                        • some style changes
                        • polished the source code, made the project structure cleaner, internal changes
                        lilbud 1 Reply Last reply Reply Quote 6
                        • fluffypillow
                          fluffypillow last edited by fluffypillow

                          Screenshot:

                          sreenshot

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

                            @fluffypillow Is there a limit on systems you can add?

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

                            Backlog: http://backloggery.com/lilbud

                            Feel like buying me a coffee? Throw a few bucks my way here: paypal.me/Lilbudw

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

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

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

                                  mattrixk meleu 3 Replies Last reply Reply Quote 8
                                  • mattrixk
                                    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
                                    • meleu
                                      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
                                      • meleu
                                        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
                                        • fluffypillow
                                          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
                                          • fluffypillow
                                            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
                                            • 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.