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

      Weekly update!

      • Documentation:
        • Updated the metadata format documentation and related pages
        • Updated the theme API documentation with accessing the game files and also previously missing bits
        • Added a breaking changes page and some help for updating from Alpha 10 to 11
      • General:
        • It is now possible to use environment variables in launch commands. The template is {env.MYVARNAME}, and documented here.
        • Fixed missing short names and logos for certain collections (eg. Steam)
        • There was an idea to support more than one metadata file in the global_collection directory in the future. Thus metafiles would be a more fitting name for this directory, and so this directory name is now also supported for storing a global metadata file.
        • Pegasus will now print a warning if the regular expression of regex or ignore-regex is incorrect in the metadata file
        • Minor performance improvements during loading
      • Default theme: It is now possible again to filter by title
      • ES2 theme: Fixed empty collection space in collection view when a collection has no short name. Also fixed some image loading warnings in such cases.
      • RetroPie
        • The installer will now download the Pi 3 optimized release on Pi 3
        • It is now possible to launch X11 applications
        • Update the Frontend Chooser to match these changes
      • Steam: "Steamworks Common Redistributables" will no longer appear among the games
      • Arch Linux: A community-maintaned package is now available in AUR (thanks @severinkaderli). See the installation instructions here.

      Special thanks to @iwubcode for a number of bug reports and testing.

      hooperreH DarksaviorD 2 Replies Last reply Reply Quote 3
      • hooperreH
        hooperre @fluffypillow
        last edited by hooperre

        @fluffypillow I may be stupid here, but I've always wanted my Gameboy and Gameboy Color collections to be merged and use the appropriate RetroArch settings from whichever menu they were selected from. Is there a simple way to do this?

        Also, thanks for adding the ability to ignore certain files. That's awesome! I'm going to make my full move over to Pegasus now! :)

        4B ~ RPi PSU 5.1V / 3.0A ~ 32GB SanDisk microSD ~ 128GB USB

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

          @fluffypillow I can't load any games with the new version. I used to press A to play a game. Not sure if Enter ever worked on a kb but it doesn't work either. I've tried to delete settings.txt and when that didn't fix anything, I tried to uninstall and reinstall Pegasus. No change. All other buttons work perfectly fine. The settings.txt seems to be fine too. keys.accept: Enter,GamepadA,GamepadStart . So A or start on my pad and enter on my kb doesn't work. I reverted to the last working version I had for now.

          Also, the art reverted to the old style where if even one of them is not the exact size, it resizes them all like art overlapping over each other or making the art really small.
          IMG_0116.JPG

          A new bug as well. Sometimes when scrolling through different systems, the side menu will display a game from another system.
          IMG_0115.JPG

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

            @hooperre You can create two collections with the same name but different extension filter and launch command, eg.:

            collection: Game Boy
            extension: gb
            launch: gbemu "{file.path}"
            
            collection: Game Boy
            extension: gba
            launch: gbaemu "{file.path}"
            

            @Darksavior thanks, fixed the launching issue and likely the game from different system too. Will take a look on the art size the afternoon.

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

              @fluffypillow Thanks. I can launch games again. The steamlink app still doesn't work, though.

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

                @Darksavior It's done on the RetroPie side: after updating RetroPie, a launcher script will be created when installing Pegasus, like with ES. It can be launched as /usr/bin/pegasus-fe (or simply pegasus-fe).

                EDIT: script location

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

                  @fluffypillow Ah ok. I was using the one from supplementary. Didn't know pegasus got updated to just use "pegasus-fe" from the autostart menu. Works now.

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

                    @Darksavior I have a possible fix but I couldn't properly test it yet; could you try out this as a theme, whether it fixes the resizing issue?

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

                      @fluffypillow Yep, that fixed the resizing. Thanks. The overlapping issue still exists but that's been around for a long time. If I go back and forth from systems then it fixes itself.

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

                        @fluffypillow Oh yea, thanks for finally providing a theme I can fool around with. I can now add custom system logos, yay. Though, I do need to resize them a bit. The system logos from ES really slows down Pegasus when scrolling. I'm still testing out what resampling method works best but so far I can't get them to look as good as the Pegasus logos.
                        IMG_0001(1).JPG

                        1 Reply Last reply Reply Quote 0
                        • J
                          jerzeeloon
                          last edited by

                          @fluffypillow Hey I just wanted to say thanks for making your frontend natively compatible with shield/Android TV. I greatly appreciate it. It eliminated having to launch with sideload launcher but unfortunately I'm still plagued by the other two issues I had which were the app not seeing external storage as an option for ROM collections which I can live without but the other being that I'm sent back to my home screen when exiting an emulator as opposed to returning to frontend. Not sure if I can add a parimeter to the collection text file to make it return to frontend or if it's crashing on return due to memory limitations? Other than that through all the changes while in the frontend navigation is fluid and it works very seamlessly with all collections and assets showing and I the revamped grid theme looks really nice and clean. I just wish I could figure out how to return to the front end when I'm done a game. Anyway sorry for the burden and lack of knowledge but keep up the great work imo even in alpha astetica it's my favorite frontend for shield TV aesthetically.

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

                            @jerzeeloon Thanks!

                            app not seeing external storage

                            Yeah someone mentioned that with the Shield TV, but not sure I can fix/reproduce that without an actual device :(

                            I'm sent back to my home screen when exiting an emulator as opposed to returning to frontend

                            That seems to be a bug on Android in general, I do plan fixing it.

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

                              @fluffypillow thank you very much I'm leaning more towards it being a memory crash because for some reason even though the shield has three gigs of RAM it seems like 2 are constantly in use by the system and it does seem to go back to the front end for a split second and shows it loading the games and I think it crashes when it tries to load the assets I've had the same issue with other frontends like retroarch when trying to use custom artwork or launching a memory intensive game. But it seems to initially run the a frontend fine it just seems to be a crash when leaving a emulator game. Maybe if there was a way to cache the assets during the intial load so it has them in memory when returning to frontend as opposed to loading them again. I'm not sure if thats even feasible I'm just pissing in the wind here like I said I'm not dev savvy at all I probably like retro gaming and I really like your frontend.

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

                                @fluffypillow Not sure if these error messages mean anything to performance, but with the grid theme, the terminal/commandline is getting flooded with :
                                [w] file:///home/pi/.config/pegasus-frontend/themes/pegasus-theme-grid-bigart_fix/layer_grid/GameGridItem.qml:61:5: QML Image: Cannot open: file:///common/loading-spinner.png

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

                                  @Darksavior not a performance issue fortunately, just the spinner image was not bundled with the theme (it was built-in to Pegasus). Fixed it, you can find the sources here.

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

                                    Weekly update! This time there are only minor bugfixes in the main theme; meanwhile I was also working on handling metadata cases like duplicate or collectionless games, but that's still in progress. I've also started looking into some Windows issues, but development there is way slower so they will take some time.

                                    I've also marked this release as Alpha 11, and updated the changelog in the first post.

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

                                      @fluffypillow Getting an error when updating:

                                      Error running 'wget -q -0/tmp/tmp.55uPykkZGi/pegasus-fe_alpha11_rp3-static.zip https://github.com/mmatyas/pegasus-frontend/releases/download/continuous/pegasus-fe_alpha10-150-gd40b0b6_rpi3-static.zip https://github.com/mmatyas/pegasus-frontend/releases/download/continuous/pegasus-fe_alpha11_rpi3-static.zip' returned 0

                                      Error running 'unzip -o /tmp/tmp.55uPykkZGi/pegasus-fe_alpha11_rpi3-static.zip -d /opt/retropie/supplementary/pegasus-fe' - returned 9

                                      4B ~ RPi PSU 5.1V / 3.0A ~ 32GB SanDisk microSD ~ 128GB USB

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

                                        @hooperre ah sorry, should be fixed now (there were more than one file wget tried to download).

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

                                          @fluffypillow said in Announcing Pegasus Frontend:

                                          Yes, those are Android-specific, on Windows and Linux it looks like this:

                                          launch: path/to/retroarch.exe -L path/to/somecore.dll "{file.path}"
                                          

                                          example: C:\retroarch\retroarch.exe -L C:\retroarch\cores\fceumm_libretro.dll "{file.path}"

                                          Hi, I'm a new user to Pegasus and didn't manage to launch my emu with this config

                                          launch: "E:\OneDrive - MyCorp\Jeux\Emulateurs\retroarch\retroarch.exe" -L "E:\OneDrive - MyCorp\Jeux\Emulateurs\retroarch\cores\citra_libretro.dll" "{file.path}"
                                          

                                          in log I saw

                                          2019-03-16T14:28:33 [i] Executing command: `E:\games\n3ds\"E:\OneDrive - MyCorp\Jeux\Emulateurs\retroarch\retroarch.exe" -L "E:\OneDrive - MyCorp\Jeux\Emulateurs\retroarch\cores\citra_libretro.dll" "E:\games\n3ds\MyGame.3ds"`
                                          2019-03-16T14:28:33 [w] Could not run the command `E:\games\n3ds\E:\OneDrive - MyCorp\Jeux\Emulateurs\retroarch\retroarch.exe`; either the invoked program is missing, or you don't have the permission to run it.
                                          

                                          Why execute command add "E:\games\n3ds" in front of my launch command??

                                          1 Reply Last reply Reply Quote 0
                                          • N
                                            nemo93
                                            last edited by nemo93

                                            Hi! It's been a while since my last update of this fantastic frontend. Everything is still running smooth and great! I'm using Retropie and coming from ES2, all my metadata/collections were still using ES2 formats. Now I got the crazy plan to get rid completely of ES2. I gave a look and converted my various ES2 files into the new "alpha11" Pegasus format. I still need assistance to get things working properly. See below.

                                            • I want to keep my roms separate from my metadata+assets files (by assets I mean box covers, logo and video).
                                            • my roms remain in the Retropie roms folder and I've created a specific "metafiles" folder under the config folder of Pegasus.
                                            • in "metafiles" I've created one directory per system and put a metadata.txt file in each system directory (by system I mean "amiga", "snes", "mame", etc).
                                            • as per "alpha11" I understood there has to be just one metadata.txt file to describe both collection itself and games metadata for that collection.
                                            • I've added the metadata.txt for each system thanks to the Settings menu → Set game directories option in Pegasus.
                                            • I could see that each directory has been added to the game_dirs.txt file in the config dir.

                                            For the sake of completeness and to be clear here's what I have today for my Amiga collection:
                                            roms → /home/pi/RetroPie/roms/amiga/
                                            metadata.txt → /opt/retropie/configs/all/pegasus-fe/metafiles/amiga/
                                            assets (covers, logo, video) → /opt/retropie/configs/all/pegasus-fe/metafiles/amiga/

                                            Also here's what I've put in metadata.txt for this Amiga collection:

                                            collection: Amiga
                                            shortname: amiga
                                            directory: /home/pi/RetroPie/roms/amiga
                                            launch: /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ amiga "{file.path}"
                                            extensions: lha
                                            
                                            
                                            game: After the War
                                            file: /home/pi/RetroPie/roms/amiga/AfterTheWar_v1.3_1084.lha
                                            developer: Dinamic Software
                                            publisher: Dinamic Software
                                            genre: Beat-'Em-Up
                                            assets.boxFront: /opt/retropie/configs/all/pegasus-fe/metafiles/amiga/After the War-image.jpg
                                            assets.logo: /opt/retropie/configs/all/pegasus-fe/metafiles/amiga/After the War-marquee.png
                                            assets.video: /opt/retropie/configs/all/pegasus-fe/metafiles/amiga/After the War-video.mp4
                                            description: <blah>
                                              .
                                              .
                                              <blah>
                                            release: 1989-12-31
                                            players: 1
                                            rating: 60%
                                            ...
                                            <other games>
                                            

                                            @fluffypillow: the first topic I've been struggling with was the assets.video property. By reading the Pegasus doc I've found the object assets could have the videos property to be set. Yet if you go with assets.videos then it won't work you have to rely on assets.video (without an "s") instead. Also the <marquee> and <video> tags from ES2 gamelist.xml are not converted using the online converter.

                                            My issues are:

                                            1. looks like the directory property does nothing as if I don't add the full path+roms or full path+asset in the value then nothing happens (and I got a msg about "missing file <game file>" in the lastrun.log.
                                            2. after using the online converter I realize I have to double the dot as the example above to add another new line to get the same I have with ES2.
                                            3. I can't launch any game at all. Whenever I press the "A" button on my controller as usual nothing happens. It works on the other systems. It's like the "launch" command is not evaluated (a bit like the "directory" parameter above).
                                              => it's worth noting that except for Amiga all other systems are still being managed via the ES2 files (es_systems.cfg and gamelist.xml).
                                            4. any way to define also a "global" assets directory for Pegasus to look into? so that I don't have to add absolute path for each asset.
                                            5. I tried to create a "metadata.amiga.txt" file so that I could store all metadata files under the "metafiles" directory instead of inside the "metafiles/<system>/" directory. This doesn't work.
                                            6. how easy would it be to add a new "system"? I mean I'd like to add my own "sfc" and "PC Engine CD rom rom" systems to Pegasus default theme. Should I just create a specific collection in a metadata.txt file? If so how should I set the logo for that system?

                                            That's all for now :) Thanks for everything. I do really like this frontend.

                                            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.