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.1m 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.
    • 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
                  • fluffypillowF
                    fluffypillow
                    last edited by

                    @Meldrak @nemo93 I accidentally broke absolute launch commands yesterday, but they should work now (alpha11-24). Please try again whether it fixes the issue for you too.

                    @nemo93 There are some changes in this week's update that might help you, I'll post a changelog and try to help with the rest tomorrow (it's late here at the moment, sorry).

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

                      @fluffypillow I can now successfully launch games no problem after upgrading to alpha11-24. I don't have to input the absolute path now for every file property. Thank you.

                      1 Reply Last reply Reply Quote 0
                      • 5schatten5
                        5schatten
                        last edited by 5schatten

                        @fluffypillow
                        Is it intentional that every line of the log ends with  (nano shows [i] Program settings loaded^[[0m)
                        Does this serve some special purpose? https://github.com/mmatyas/pegasus-frontend/blob/master/src/backend/Log.cpp#L63 so probably some colored terminal output like listed here? https://gist.github.com/vratiu/9780109#file-bash_aliases-L9 I start pegasus this way https://github.com/5schatten/LibreELEC.tv/blob/libreelec-9.x-rr/packages/5schatten/emulation-frontends/pegasus-frontend/scripts/Generic/pegasus-fe.start#L25 I guess this should not end up in the logs?

                        Log file:
                        http://ix.io/1DNW

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

                          Weekly update! This time there have been several fixes related to portable and global metadata files:

                          • Portable launch command improvements
                            • Relative launch commands and relative working directories are now consistent on all platforms (ie. always relative to the metadata file).
                            • Note: like on most *nix systems, standalone executable names (eg. myemulator in launch: myemulator {file.path}) refer to globally installed programs (something in $PATH), while those starting with dot-slash (eg. ./myemulator in launch: ./myemulator {file.path}, or .\myemulator.exe on Windows) refer to executables in the same directory as the metadata file.
                            • There are still some possible improvements there, but should work fine now for the most common cases.
                          • Added support for multiple metadata files in [configdir]/metafiles. Any files whose name ends with .metadata.txt or .metadata.pegasus.txt there will be read (eg. snes.metadata.txt, etc.).
                          • Added support for asset searching by game title. Game assets can now also be stored under [gamedir]/media/[gametitle]/. Just make sure there are no two games with the same name in the same collection.
                          • Fixed collectionless and duplicate game entries remaining in memory.
                          • Fixed some possible threading issues on Windows.
                          • Fixed assets.videos and assets.screenshots not recognized in metadata files.
                          • Fixed incorrect list of publishers for Steam games.
                          • Fixed the Settings screen still referring to collection files.
                          • Improved the asset support of the metadata converter site. Added support for ES2's video and marquee tag.
                          • Themers: the loading-spinner.png is no longer a globally available image. Please ship all files you use with your theme.
                          • Various small fixes and optimizations.

                          @msheehan79 These changes should fix the relative launch path issues (tested on Windows 7).

                          @nemo93 Sorry I couldn't write a longer reply yesterday!

                          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.

                          Ok, both of these should be fixed now, thanks!

                          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.

                          directory will make the collection look for files with matching extensions in that place too, in addition to the metadata file directory. The file: entries still have to be either absolute or relative to the metadata file. If file finding still seems to be incorrect, feel free to post your file and I'll take a look.

                          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.

                          Could you post an example (screenshot/XML)? It seemed to be correct for me (though I don't use ES much these days).

                          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.

                          The problem with that is when there are games/files with the same name in different collections, it can't be decided which one does an asset belong to. Maybe a custom asset directory option could be added in the future instead.

                          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.

                          Just added support for that recently, should work now (in a different filename order).

                          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?

                          Yes, you can just create a new collection with whatever name and short-name you wish. There's no custom logo support in the main theme yet, but you can download it from here and add a matching SVG under assets/logos/.

                          @5schatten Yes, the standard output is colored as it's intended to show on the screen. However, the log is also saved to ~/.config/pegasus-frontend/lastrun.log, without colors (maybe you might want to link it under /var/log/). If you wish you can also disable the console output with the --silent option.

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

                            @fluffypillow Is internal scraping coming at least in the way for logos/screenshots? Pegasus can use ES's scraped art which is really great but I had to scrape logos/screenshots on pc then get a renamer app to rename them accordingly which was very time consuming. I doubt new users will go through it.

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

                              @fluffypillow said in Announcing Pegasus Frontend:

                              @Meldrak @nemo93 I accidentally broke absolute launch commands yesterday, but they should work now (alpha11-24). Please try again whether it fixes the issue for you too.

                              Thanks it works now, but now I have a issue with Cemu
                              cemu always crash just after showing the loading screen of the rom

                              2019-03-18T22:56:24 [i] Executing command: [`E:\games\wiiu\cemu\cemu.exe`,`-g`,`E:\games\wiiu\[ARPP0101]\code\red-pro2.rpx`,`-f`]
                              2019-03-18T22:56:24 [i] Process 11544 started
                              2019-03-18T22:56:24 [i] ----------------------------------------
                              2019-03-18T22:56:29 [w] The external program `E:\games\wiiu\cemu\cemu.exe` has crashed
                              2019-03-18T22:56:29 [i] ----------------------------------------
                              2019-03-18T22:56:29 [i] The external program has crashed on exit, with exit code -1073741676
                              

                              the strange thing is that cemu doesn't generate any log file
                              and executing the command from a bat file works well

                              is anyone manage to run wiiu games from Pegasus?

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

                                @Darksavior if talking about completely new users, wouldn't it be more common to assume they will just use eg. Skraper and copy its output, rather than downloading a different frontend to use its built-in scraper (if it still works) to get half the assets in one format, then use a different standalone skraper to get the rest in another, then manually copy/move/rename the files into a third kind of asset structure? :)

                                But yes, in the long term a cross-platform built-in scraper would be nice. I'll likely make it as a separate app first for testing though, but if it ends up working fine it could be integrated too.

                                @Meldrak the E:\games\wiiu[ARPP0101]\code\red-pro2.rpx looks suspicious to me, isn't a \ missing there or is that intentional? If that turns out to be the problem, could you post your metafile?

                                DarksaviorD M 2 Replies Last reply Reply Quote 0
                                • sergioadS
                                  sergioad
                                  last edited by sergioad

                                  I love this front end, the only issue I found in small 8 game collections arround 4 to 8 games after changing one single page back and forward the images now appear bigger needing to do so two pages to avoid the bug, other than that I LOVE this frontend and I hope it matures into a beutyfull frontend capable of rivaling ES as the default RetroPie frontend

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

                                    @fluffypillow I don't believe any scraper uses Pegasus's naming scheme for logos/screenshots. I had to use a renaming utility which was very inconvenient.

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

                                      @fluffypillow sorry I didn't see that, but I Don't know why it was not working, as my metadata is correct
                                      file: ./[ARPP0101]/code/red-pro2.rpx
                                      I tested again today and it works rom path is correct, I just rebooted Windows….

                                      could you add icons for wiiu, ps2 and n3ds in your default theme?

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

                                        @fluffypillow Should the following launch all GB and GBC games as Game Boy Color in terms of RetroArch settings if placed in the GBC folder?

                                        collection: Game Boy Color
                                        shortname: gbc
                                        extensions: gbc, zip, GBC, ZIP
                                        command: /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ gbc "{file.path}"
                                        
                                        collection: Game Boy
                                        shortname: gb
                                        extensions: gb, zip, GB, ZIP
                                        command: /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ gbc "{file.path}"
                                        
                                        

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

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

                                          @fluffypillow great to hear the relative path is working now!

                                          When I have a chance I'll update my metadata files back to the relative paths to give it another shot and confirm all is working with the latest builds. Thanks!

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

                                            @sergioad yes that's a very old bug in the main theme, I really should fix it some of these days.

                                            @Darksavior yes, no scraper supports Pegasus yet, but that's also why there's support for ES's and Skraper's output, that most of them do. Hopefully the situation will get better in the future :)

                                            As for renaming the files, perhaps that could scripted in some way to save time?

                                            @Meldrak I've just pushed some updates, could you check the launching with the latest version (alpha11-34)?

                                            Yes, could be added, some of them were also requested by others so will take a look on them.

                                            @hooperre both collections have same launch command, so they should (unless RetroArch itself does some additional logic).

                                            sergioadS M 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.