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.
    • sergioadS
      sergioad @fluffypillow
      last edited by

      @fluffypillow I can not wait to see a possible future RetroPie release with Pegasus by default

      1 Reply Last reply Reply Quote 1
      • P
        Patientgamerfr @fluffypillow
        last edited by

        @fluffypillow Thank again for this wonderful frontend !

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

          Happy new year update! The winter holidays are over, and so I've also continued the development with some updates.

          Main changes:

          • Added support for WebP and animated PNG image formats: themes now have the ability to use, and optionally, to enable animation on them (Note: APNG images should have .apng file extension to work)
          • GOG support is now turned on by default again
          • Minor Android improvements

          Theme changes:

          • You can now use WebP and APNG images: similarly to GIFs, the QML AnimatedImage element (https://doc.qt.io/qt-5/qml-qtquick-animatedimage.html) can be used to display them animated, and the regular Image to display still images

          Tool changes:

          • Updated the RetroArch command on the Android metadata generator page

          Notes for maintainers:

          • WebP support requires Qt's imageformats module with WebP support
          • APNG support requires libpng with animation support (ie. the "APNG patch"). libpng might come from various sources (system/Qt/other library/custom), but this feature may not be enabled on them - to avoid breaking builds, APNG support in Pegasus is NOT enabled by default. You can define the ENABLE_APNG QMake variable to enable support. For the same reason, Pegasus also does NOT try to link to libpng automatically. Similarly to SDL2, you can use the PNG_LIBS and PNG_INCLUDES QMake variables to affect the build.
          1 Reply Last reply Reply Quote 2
          • P
            pootis spencer
            last edited by

            Is it possible to start Pegasus on a category such as Arcade?

            1 Reply Last reply Reply Quote 0
            • H
              h2805270
              last edited by

              https://pegasus-frontend.org/docs/user-guide/meta-files/

              It seems kind of "exhausting" to add all of the game lists manually to Pegasus.

              So I propose a few ideas:

              • A simple GUI program that let's you make metadata files much more easily on OSes. Instead of doing it the old fashioned way:
              # Selects all files with the provided extension, except two games
              collection: Super Nintendo Entertainment System
              shortname: snes
              extensions: 7z, bin, smc, sfc, fig, swc, mgd, zip, bin
              ignore-file: buggygame.bin
              ignore-file: duplicategame.bin
              launch: snes9x "{file.path}"
              
              # A collection of 3 games. They're also part of 'My Games'.
              collection: Platformer games
              files: mario1.bin
              files: mario2.bin
              files: mario3.bin
              
              # A regex example; includes games with '[number]-in-1' in their name.
              collection: Multi-game carts
              regex: \d+.in.1
              
              • An auto-detect program that you drop in where you want it to find the games based on very simple "[systemname].txt" files stored in the ROM folders themselves (and [emulatorname].txt for the emulators)

              • Better integration with RetroArch that converts everything you already set up in libretro, and uses Pegasus to open it.

              But those are just my suggestions, let the debate commence.

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

                @h2805270 There's actually a GUI tool for metafiles (even if it's a bit simple): https://github.com/mmatyas/pegasus-metadata-editor

                1 Reply Last reply Reply Quote 1
                • T
                  tronkyfran
                  last edited by

                  Hi!
                  It would be possible to install pegasus on a chromecast with google tv? in theory its just an android underneath, but Im not really sure. Well, anyway I bought one and will try this weekend, so ill tell you if I succeed, just wanted to know if anybody tried it beforehand. Thx for your work @fluffypillow !!!!

                  T 1 Reply Last reply Reply Quote 0
                  • T
                    tronkyfran @tronkyfran
                    last edited by

                    @tronkyfran Yep, it works!!!!!

                    1 Reply Last reply Reply Quote 0
                    • GrilaG
                      Grila @Grila
                      last edited by

                      @grila said in Announcing Pegasus Frontend:

                      Hi @fluffypillow . I recently received my Retroid Pocket 2 and am in the process of setting up with Pegasus. The RP2 comes with 2 versions of RetroArch, a up to date version and an older 1.5.0 version that is specifically for playing GBA.

                      My problem is that I can launch the up to date version thru Pegasus, but when I try to launch a GBA game with the 1.5.0 version of RetroArch it just exits immediately and returns me to Pegasus. (The 1.5.0 version works correctly if I load roms directly in RetroArch)

                      Here's my GBA metadata file and my lastrun.log

                      My guess is it has something to do with the launch parameters, but I've rooted the RP2 and double checked all the directories and they are correct.

                      If you have any suggestions it would be appreciated. Thanks!

                      I've found the solution for this for anyone in the future that needs it:

                      collection: Nintendo GameBoy Advance
                      shortname: gba
                      extensions: gba, zip
                      
                      #For the Retroid Pocket 2 special version of RetroArch for GBA
                      
                      launch: am start --user 0
                        -n com.gpsp/com.retroarch.browser.retroactivity.RetroActivityFuture
                        -e ROM {file.path}
                        -e LIBRETRO /data/user/0/com.gpsp/cores/gpsp_libretro_android.so
                        -e CONFIGFILE /storage/emulated/0/Android/data/com.gpsp/files/retroarch.cfg
                        --activity-clear-top
                      1 Reply Last reply Reply Quote 0
                      • T
                        tronkyfran
                        last edited by

                        I've got a beginners question.
                        Im surfing the pegasus wave on my new Chromecast right now, but I lost track on how to scrape and generate metadata files for a bunch of roms(roughly 3 systems and 100 roms per system). I know how to do it the "hard" way(via documentation) but dont want to get into it and realize one week later that there is an easier way. Im looking for something too easy?

                        Thanks in advance!!!

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

                          @tronkyfran Skyscraper has built-in Pegasus support, and the Generic Emulator output of Skraper can also be loaded (though that doesn't have the emulator launch informations).

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

                            Also a minor weekly update!

                            • Fixed storage access issues on Android 10
                            • Fixed games not present in metadata file collections
                            • Added Arabic translation (thanks phwright!)
                            • Updated the list of automatically recognized gamepads
                            • Linux: Fixed out of date APT repository packages
                            • Themes: Updated the Famicom Beach theme with authentic animated fire (thanks SecularSteve!)
                            1 Reply Last reply Reply Quote 0
                            • FlyingTomahawkF
                              FlyingTomahawk
                              last edited by FlyingTomahawk

                              I'm a bit at a loss here and require some help regarding ScummVM and game images and metadata.
                              I have setup Pegasus with Retroarch and a few standalone emulators on my old Win10 Laptop.
                              laptop specs are i5-2410M, 8GB RAM, Intel HD3000 on board graphics

                              I was able to setup NES, SNES, MegaDrive and so on with ease using Retroarch and Skraper.
                              Now I am trying for hours to get the images to show for my ScummVM games. Screenscraper is currently down so I thought I'll add the data for those 3-4 games myself inside the metadata.pegasus.txt file.
                              But for some reason that I can't seem to find or see it won't load any images nor any game info like description.
                              Usually Pegasus recognizes the folder structure by itself and loads the correct images and metadata. But right now I get this

                              alt text

                              The games run just fine using ScummVM as standalone, not as core from Retroarch. ScummVM starts and loads the game which I choose using the following launch command inside the metadata file

                              collection: ScummVM
                              extension: residualvm(residualvm), scummvm(scummvm), svm, zip
                              launch: C:\Users\***\Desktop\Pegasus\Emulators\scummvm\scummvm.exe -c C:\Users\***\AppData\Roaming\ScummVM\scummvm.ini {file.basename}
                              

                              Even if I remove anything else but the launch command code games will run. which is strange because I'm using the variable {file.basename} which would mean it takes the name without extension from file: monkey2.svm, right? Even if i remove monkey2.svm the game will launch and run just fine. So not sure where {file.basename} takes the name from. But removing {file.basename} will only launch ScummVM menu without any game loaded.

                              Anything else I add into that metadata file has no visual effect on the pegasus frontend. Even if I use the assets paths directly it won't show anything.

                              My file structure is like this (example with monkey island 2)

                              Pegases/Roms/scummvm/Monkey Island 2/monkey2.svm
                              Pegases/Roms/scummvm/Monkey Island 2/MONKEY2.000
                              Pegases/Roms/scummvm/Monkey Island 2/MONKEY2.001
                              Pegases/Roms/scummvm/Monkey Island 2/MT32_CONTROL.ROM
                              Pegases/Roms/scummvm/Monkey Island 2/MT32_PCM.ROM
                              Pegasus/Roms/scummvm/metadata.pegasus.txt
                              Pegasus/Roms/scummvm/media/box2dfront/monkey2.png
                              Pegasus/Roms/scummvm/media/screenshots/monkey2.jpg
                              Pegasus/Roms/scummvm/media/videos/monkey2.mp4
                              Pegasus/Roms/scummvm/media/wheels/monkey2.png

                              Any metadata info I add to the metadata.pegasus file doesn't seem to have any effect except for the launch code.
                              Adding metadata like this won't show at all in the front-end

                              game: Monkey Island 2: LeChuck's Revenge
                              file: monkey2.svm
                              developer: LucasArts
                              publisher: LucasArts
                              genre: Adventure
                              description:
                                Guybrush Threepwood, the mighty pirate who can hold his breath for ten minutes, could have lived quietly and happily with his sweetheart Elaine, the governor of Melee Island. But the restless pirate spirit won't let Guybrush in peace. Things don't go very well with Elaine, and Guybrush (now with a beard) embarks on a new adventure: searching for the legendary treasure of Big Whoop. However, the evil ghost pirate LeChuck hasn't left the stage yet. His subordinates are trying to bring him back from the dead one more time. Will Guybrush be able to defeat his archenemy again?
                              release: 1992-01-01
                              players: 1
                              

                              Is there something I missed regarding paths or setup for ScummVM? Any help is appreciated. Thanks

                              1 Reply Last reply Reply Quote 0
                              • FlyingTomahawkF
                                FlyingTomahawk
                                last edited by FlyingTomahawk

                                Sometimes a short break can do wonders.
                                With a fresh mindset I tackled this once more and I found the mistake. And what a small mistake it was, I could kick myself so hard now. To setup ScummVM for Pegasus I took the retropie ScummVM docs as reference and there it says the following...

                                /home/pi/RetroPie/roms/scummvm/Day of the Tentacle/Day of the Tentacle.svm
                                /home/pi/RetroPie/roms/scummvm/Day of the Tentacle/MONSTER.SOU
                                /home/pi/RetroPie/roms/scummvm/Day of the Tentacle/TENTACLE.000
                                /home/pi/RetroPie/roms/scummvm/Day of the Tentacle/TENTACLE.001
                                

                                Having the svm file within the same folder as the game files was the problem for me. I had to move the svm file outside the game folder. Taking that example from above the correct solution for my case is this folder structure

                                /home/pi/RetroPie/roms/scummvm/Day of the Tentacle.svm
                                /home/pi/RetroPie/roms/scummvm/Day of the Tentacle/MONSTER.SOU
                                /home/pi/RetroPie/roms/scummvm/Day of the Tentacle/TENTACLE.000
                                /home/pi/RetroPie/roms/scummvm/Day of the Tentacle/TENTACLE.001
                                

                                Now finally all images, screenshots and metadata is showing up correctly and the games still launch fine as they should. Meaning it recognizes the metadata.pegasus file. Thanks and sorry for the fuss.

                                1 Reply Last reply Reply Quote 0
                                • ExarKunIvE
                                  ExarKunIv
                                  last edited by ExarKunIv

                                  @fluffypillow love your work on this.

                                  UPDATE nevermind i got it going now.

                                  i have been looking, i do see awhile back that you took care of the logfile that runs when you start game, but mine is still doing it.

                                  is there something i need to add somewhere. i have looked all over and i cant find anything

                                  RPi3B+ / 200GB/ RetroPie v4.5.14, RPi4 Model B 4gb / 256gb / RetroPie 4.8.2
                                  RPi5 4gb / 512gb / RetroPie 4.8.9 -Basic
                                  Maintainer of RetroPie-Extra .

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

                                    March update, alpha14-133

                                    It's been a while! Lately I've been a bit busy with work, so there were a lots of small, irregular updates -- with time however these started piling up, so this might be a good time for a changelog:

                                    • Added support for accessing the battery information of the device: https://pegasus-frontend.org/docs/themes/api/#device
                                      • Note that this heavily depends on what the device support and reports -- some values may be simply not present on all platforms
                                    • Themes can now access all extra fields defined in metadata files
                                      • Theme devs: Games and collections now have an extra field, a regular JS object with the values under their their properties as a list of text
                                    • Added support for title screen assets
                                      • They can be added to games like the rest of the assets, with the name titlescreen
                                      • They are also imported automatically from Skraper and LaunchBox sources
                                    • Improved handling of symlinks and Windows shortcuts (.lnk files)
                                    • Steam: Added support for importing Steam game info from LaunchBox
                                    • LaunchBox: Added support for platform sort names
                                    • LaunchBox: Fixed support of certain asset file names
                                    • LaunchBox: Added support for more asset types
                                    • macOS: Fixed disappearing system menu bar in windowed mode
                                    • Fixed a possible crash caused by games with no files
                                    • Fixed nonexisting games still appearing in certain cases
                                    • Fixed favorites and play times not appearing correctly in certain cases
                                    • The default theme now tries to show the collection's default assets in case of missing game images
                                    • Minor optimizations
                                    • Documentation updates, especially the Getting started page
                                    DarksaviorD 1 Reply Last reply Reply Quote 0
                                    • DarksaviorD
                                      Darksavior @fluffypillow
                                      last edited by

                                      @fluffypillow Do you happen to know the ideal way to get pegasus working on a mac mini m1 (arm64)? Maybe the emulationstation content might be readable if I can alter the folder pegasus is looking for, but then there's the actual games to load from retroarch which requires retropie to do it.

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

                                        @darksavior I'm afraid I'm not familiar with the Mac, sorry :( If it helps, ES system files are expected to be at $HOME/.emulationstation or /etc/emulationstation/, though if I remember correctly, Mac support for ES was implemented in just one of the forks.

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

                                          @fluffypillow No worries, just thought you might know a way. I'll use the standalone retroarch for now.

                                          1 Reply Last reply Reply Quote 0
                                          • jacklongfordJ
                                            jacklongford
                                            last edited by jacklongford

                                            @fluffypillow

                                            I'm new to Pegasus and have been looking at videos of it on YouTube. It looks fantastic and great work so far :)

                                            At the moment, it seems too difficult for me to set up. I know other front ends allow you to just simply select your roms folder (without having to create a metadata.pegasus.txt) and then there's options to use an in-app scraper to download artwork.

                                            Will these options eventually be available in Pegasus? And if so, is there a road map of features you want to incorporate?

                                            Thanks!

                                            H fluffypillowF 2 Replies 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.