• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
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.
  • F
    fluffypillow @jerzeeloon
    last edited by 9 May 2019, 19:38

    @jerzeeloon That's too bad :( Hope I can improve load times in the future!

    Also recently got an odroid n2. Would be awesome if I can get it to run on that as well.

    Yeah it would be nice to have Odroid releases eventually. It should be possible to build Pegasus for the N2 already, but might need to do some manual setup to make everything work.

    @Magma Yes, simply replacing emulationstation with pegasus-fe should work fine. You could also make it work for both the same time:

    os.system("sudo killall emulationstation pegasus-fe; sleep 5s && sudo reboot")
    
    1 Reply Last reply Reply Quote 0
    • K
      KryPtAlIvIaN
      last edited by 10 May 2019, 02:15

      Could you please explain how to launch retroarch and its core. I'm trying to configure the snes metadata.txt to launch the game, but I'm not having any luck. I would think the android example would be different since they're not the same OS.

      F 1 Reply Last reply 11 May 2019, 17:57 Reply Quote 0
      • A
        AndersHP @fluffypillow
        last edited by 10 May 2019, 09:37

        @fluffypillow
        Seems like a lot of work to change the code with scripts that way, and editing all videos will be a ton of work.

        Seems like the theme-based volume adjustment would be the best solution. Can a non-coder do this (fairly easy)?

        My "Bubble Bobble" Themed Bartop Arcade
        My Gameboy

        1 Reply Last reply Reply Quote 0
        • F
          fluffypillow @KryPtAlIvIaN
          last edited by 11 May 2019, 17:57

          @KryPtAlIvIaN Sure,

          • On RetroPie, using Runcommand the format is

            /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ <systemname> "{file.path}"
            

            eg. in the case of SNES, the launch command would be

            /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ snes "{file.path}"
            
          • On desktop Linux/Windows/macOS the format is

            "/path/to/retroarch" -L "/path/to/core" "{file.path}"
            

            for example,

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

            (cores are .so files on Linux/macOS)

          • On Android, it's documented here (just mentioning it in case someone is looking for it).

          @AndersHP It could be done I think. First download the main theme as a standalone theme, then at this location add the following line:

          volume: 0.5
          

          (the value should be between 0.0 and 1.0). Then select this downloaded and edited theme in Pegasus' settings menu, and the volume should change.

          1 Reply Last reply Reply Quote 0
          • A
            AndersHP
            last edited by 13 May 2019, 06:15

            Cool, thanks.
            I'm backing up my entire setup, so is it not possible to just edit the PanelRight.qml file directly from the pi?

            My "Bubble Bobble" Themed Bartop Arcade
            My Gameboy

            F 1 Reply Last reply 13 May 2019, 16:51 Reply Quote 0
            • F
              fluffypillow @AndersHP
              last edited by 13 May 2019, 16:51

              @AndersHP Sure, but you still have to download it first. You can

              cd ~/.config/pegasus-frontend/themes/
              wget https://github.com/mmatyas/pegasus-theme-grid/archive/master.zip
              unzip master.zip
              nano pegasus-theme-grid-master/layer_gameinfo/PanelRight.qml

              and edit the file there.

              A 1 Reply Last reply 4 Jun 2019, 20:55 Reply Quote 0
              • K
                KryPtAlIvIaN
                last edited by 13 May 2019, 17:26

                Quick question. If someone wanted to use an xbox one controller with pegasus, would it have native support or require you to do something like exit and launch emulationstation to program the controller and hotkey?

                Thanks!

                F 1 Reply Last reply 13 May 2019, 17:32 Reply Quote 0
                • F
                  fluffypillow @KryPtAlIvIaN
                  last edited by 13 May 2019, 17:32

                  @KryPtAlIvIaN While it should work out of the box in Pegasus, the emulators unfortunately won't pick up the gamepad configuration yet. At the moment it is still necessary to configure in EmulationStation too.

                  K 1 Reply Last reply 13 May 2019, 17:33 Reply Quote 0
                  • K
                    KryPtAlIvIaN @fluffypillow
                    last edited by 13 May 2019, 17:33

                    @fluffypillow Thanks!

                    K 1 Reply Last reply 13 May 2019, 17:36 Reply Quote 0
                    • K
                      KryPtAlIvIaN @KryPtAlIvIaN
                      last edited by 13 May 2019, 17:36

                      @KryPtAlIvIaN said in Announcing Pegasus Frontend:

                      @fluffypillow Thanks!

                      If someone used a wired switch controller, they could get it to work by configuring it with emulation station first, and then pegasus will read the same config file?

                      Some of these questions I ask, I don't mind making up a Q&A for your site since you already took the time to answer these.

                      F 1 Reply Last reply 13 May 2019, 17:45 Reply Quote 0
                      • F
                        fluffypillow @KryPtAlIvIaN
                        last edited by 13 May 2019, 17:45

                        @KryPtAlIvIaN No, Pegasus doesn't read ES's input config files, it would be necessary to configure it in both programs.

                        Generally gamepad support is not really perfect at the moment, I'd like to improve it in the future (it's just a bit complicated with so many platforms). Eventually support for sharing the button config with the emulators would be also possible (and maybe with ES too).

                        I'm fine with a Q&A, just note that Pegasus is still under development so things may change quickly :)

                        1 Reply Last reply Reply Quote 0
                        • B
                          bleuge
                          last edited by bleuge 13 May 2019, 19:40

                          New user here, I am trying to build a Pegasus portable+Retroarch in Windows10.
                          Sorry if this is too long :D

                          I currently launch Pegasus with --portable, this is my folder structure:

                          \config
                          p.bat
                          pegasus-fe.exe
                          \ra... retroarch unpacked here, updated, cores downloaded, etc
                          README.md
                          \roms
                          \roms... roms in subfolders
                          \skraper... skraper.net i am using here
                          \themes

                          My game_dirs.txt (works nice this way)

                          ./roms/zxspectrum
                          ./roms/snes
                          ...

                          The problem I am having is with paths in the launcher I think.
                          I use this for example for Snes

                          launch: "..\ ..\ra\retroarch.exe" "-L i:/00noah2/ra/cores/snes9x_libretro.dll" "{file.path}"

                          Retroarch is launched ok because when Pegasus launch it, it's ran from the rom folder where you have the roms are, (check cwd config option).

                          But it seems RA can't see the dll once launched.
                          I thought the default folder could be \ra instead of \roms\snes, but don't work

                          launch: "..\ ..\ra\retroarch.exe" "-L .\cores\snes9x_libretro.dll" "{file.path}"

                          And get the same error:

                          [ERROR] RetroArch is built for dynamic libretro cores, but libretro_path is not set. Cannot continue.
                          [ERROR] Fatal error received in: "init_libretro_sym()"

                          Now lets see variations in the launch line, the point here are the "s
                          This launchs RA ok
                          launch: "..\ ..\ra\retroarch.exe" "-L .\cores\snes9x_libretro.dll" "{file.path}"
                          log:

                          2019-05-13T20:24:17 [i] Executing command: [I:/pegasus/ra/retroarch.exe,-L ..\..\ra\cores\snes9x_libretro.dll,I:\pegasus\roms\snes\3x3 Eyes - Juuma Houkan (Japan)-english.zip]
                          2019-05-13T20:24:17 [i] Working directory: I:/00noah2/ra

                          But then RA only exits, cant' see the dll, I've tried ....\ra\cores instead of .\cores (thinking that RA changes default folder once it's ran), but the same problem.

                          This faults Pegasus (werfault is called in my machine and it exits)
                          launch: "..\ ..\ra\retroarch.exe -L .\cores\snes9x_libretro.dll" "{file.path}"
                          log:

                          2019-05-13T20:35:14 [i] Working directory: I:/pegasus/ra/retroarch.exe -L /cores
                          2019-05-13T20:35:14 [w] Could not launch I:/pegasus/ra/retroarch.exe -L /cores/snes9x_libretro.dll. Either the program is missing, or you don't have the permission to run it.

                          It messes completely folders and executable to launch?

                          Finally, this also exits pegasus
                          launch: "..\ ..\ra\retroarch.exe -L .\cores\snes9x_libretro.dll {file.path}"
                          log:

                          2019-05-13T20:36:57 [i] Working directory: I:/pegasus/ra/retroarch.exe -L /cores/snes9x_libretro.dll I:/pegasus/roms/snes2019-05-13T20:36:57 [w] Could not launchI:/pegasus/ra/retroarch.exe -L /cores/snes9x_libretro.dll I:/pegasus/roms/snes/3x3 Eyes - Juuma Houkan (Japan)-english.zip`. Either the program is missing, or you don't have the permission to run it.

                          Has anyone build a portable pegasus+ra installation? how did you make RA to work with non fixed paths?

                          edit: I've also used this in settings file
                          cwd: ..\ ..\ra
                          launch: "retroarch ..."
                          but paths got messed again

                          @fluffypillow some other things you may consider,

                          Pegasus it's eating 30% of my i5 4cores, just idling? Nothing I care, but ? Some debug stuff?

                          portable mode in settings.txt?

                          general.portable: true

                          Would be nice.

                          I got a lot of problems scraping, I finally used Skrape.net program with generic scraping. But for example videos didn't play with gameOS theme. After some digging in source code (providers code), I found how you expected some folder names, and then map them to your stuff. This solved my problem:

                          SkraperAssetsProvider::SkraperAssetsProvider(QObject* parent)
                          : Provider(QStringLiteral("Skraper"), PROVIDES_ASSETS, parent)
                          , m_asset_dirs {
                          // NOTE: The entries are ordered by priority
                          { AssetType::ARCADE_MARQUEE, QStringLiteral("screenmarquee") },
                          { AssetType::ARCADE_MARQUEE, QStringLiteral("screenmarqueesmall") },
                          { AssetType::BACKGROUND, QStringLiteral("fanart") },
                          ...etc

                          I think it could be useful for other users to put this in the documentation, as I spent a lot of time googling pegasus scraping and found many people having problems with folders. Also with others providers.

                          If a launch process lasts 1-2 seconds, obviously something went wrong.
                          Instead of showing again the list of games, maybe it's useful to report some error, and instead of just logging it to file, show last lines of log in a dialog or something like that. Maybe this is just too user friendly? But I think it could help a lot in complex installations.

                          F 1 Reply Last reply 13 May 2019, 21:29 Reply Quote 0
                          • F
                            fluffypillow @bleuge
                            last edited by 13 May 2019, 21:29

                            @bleuge Hi, "-marks in commands mean that things between the "s should be treated as a single argument to the launched program. They are often used to avoid issues when a path contains spaces. Now RetroArch's -L is a standalone parameter; instead of

                            launch: "..\..\ra\retroarch.exe" "-L i:/00noah2/ra/cores/snes9x_libretro.dll" "{file.path}"

                            it should be

                            launch: "..\..\ra\retroarch.exe" -L "i:/00noah2/ra/cores/snes9x_libretro.dll" "{file.path}"

                            Pegasus it's eating 30% of my i5 4cores, just idling? Nothing I care, but ? Some debug stuff?

                            Haven't experienced that personally, but I'd be interested whether it happens to other Windows users. Also different themes may have different system requirements as well.

                            portable mode in settings.txt?

                            Not possible to switch that during runtime due to platform file system differences :( I was thinking about either including a portable-mode .bat file though, or improving the documentation for this.

                            I got a lot of problems scraping

                            Pegasus supports these kinds of directory layouts:

                            • Per-game directories: assets for the games are looked at <romdir>/media/<gamename>/<assettype.ext>. You can find an example and list of accepted file names here. A visual example of the asset types is here.
                            • Per-asset-type directories (aka Skraper): assets for the games are stored at <romdir>/skraper (or media)/<assettype>/<gamename.ext>. The directory layout is automatically created by Skraper. Support for this layout can be turned off in the settings menu.

                            It is also possible to manually define assets in the metadata files. Also if enabled, the assets of other programs like EmulationStation or Steam are picked up automatically.

                            I think it could be useful for other users to put this in the documentation

                            I agree the documentation would need some work, hope I'll have some time eventually.

                            If a launch process lasts 1-2 seconds, obviously something went wrong

                            Nah some things just take time, especially if networking (eg. Steam) is involved or with a large number of games.

                            instead of just logging it to file, show last lines of log in a dialog or something like that

                            Yes, I'd like to do that eventually!

                            B 1 Reply Last reply 14 May 2019, 11:53 Reply Quote 0
                            • B
                              bleuge @fluffypillow
                              last edited by bleuge 14 May 2019, 11:53

                              @fluffypillow Thanks for all the information!
                              If I got to put a working portable pegasus+ra I'll put the info here for other users.

                              Edit: works! thanks for clarification.
                              These are my folders, you can change names etc...
                              .\pegasus : put here pegasus files, launch pegasus with --portable, or make a bat file
                              .\ra : unpack retroarch here, download cores, etc...
                              .\roms\ : roms in subfolders here, you can use a Retropie rom folders for example

                              Add roms subfolders this way in \config\gamedirs.txt file
                              .\roms\nes
                              .\roms\snes
                              etc...

                              Launch line in metadata.pegasus.txt files in each rom subfolder, this is for example from my Snes subfolder

                              collection: Super Nintendo Entertainment System
                              description: Super Nintendo Games
                              extension: zip
                              launch: "..\..\ra\retroarch.exe" -L ".\cores\snes9x_libretro.dll" "{file.path}"
                              

                              Of course you'll need to change the core for each rom platform.

                              I've also scraped with skraper.net app, @fluffypillow has a short guide about this, I only needed to change some folder names after skraper end. I am using gameOS theme working with videos, etc. I can make a short guide about this because required some skrape.net tweaking...

                              Now you can launch pegasus from a pendrive, an external hd, any folder, etc...
                              Happy gaming!

                              1 Reply Last reply Reply Quote 0
                              • F
                                fluffypillow
                                last edited by 14 May 2019, 22:58

                                As for the weekly update, no changes in Pegasus due to lack of proper time. However I've started planning and doing some initial work on a graphical metadata file editor, might get released soon.

                                1 Reply Last reply Reply Quote 2
                                • F
                                  fluffypillow
                                  last edited by 19 May 2019, 19:33

                                  Weekly update! I was working on the graphical metadata editor, might get it finished this week. Here's how it looks at the moment:

                                  screenshot

                                  K 1 Reply Last reply 20 May 2019, 01:36 Reply Quote 4
                                  • K
                                    KryPtAlIvIaN @fluffypillow
                                    last edited by 20 May 2019, 01:36

                                    @fluffypillow
                                    I'm having issues with your converter-Gameboy Color is taking a ES2 file with video tags and converting with just a jpeg file and no video.

                                    F 1 Reply Last reply 20 May 2019, 15:32 Reply Quote 0
                                    • F
                                      fluffypillow @KryPtAlIvIaN
                                      last edited by 20 May 2019, 15:32

                                      @KryPtAlIvIaN Could you upload the ES2 file that produces such problems?

                                      1 Reply Last reply Reply Quote 0
                                      • L
                                        luis0henrique
                                        last edited by luis0henrique 22 May 2019, 17:40

                                        Well, hello.. I've got a little problem: I can't run Pegasus in my Windows 7. I double-click the "pegasus-fe.exe" file, it shows the loading bar but it freezes and crashes. Do I need to do something before opening the app or something? This frontend looks so great man

                                        Btw, here's the log: https://pastebin.com/EuZJswDS
                                        I've also got 3 ".dmp" files at "AppData\Local\CrashDumps" if it is important:
                                        https://drive.google.com/drive/folders/1KovTQfF6ZSdWgzLtYEDQpuy57-oAM-De?usp=sharing

                                        F 1 Reply Last reply 22 May 2019, 19:21 Reply Quote 0
                                        • F
                                          fluffypillow @luis0henrique
                                          last edited by 22 May 2019, 19:21

                                          @luis0henrique Hi, someone also just reported a very similar bug, so maybe that's what happened to you too. It seems this is caused by certain GOG games, which make Pegasus crash on Windows. Unfortunately I don't know which ones yet (maybe some newer games?), but in case you'd be willing to share your list of installed GOG games, that'd greatly help with fixing this bug.

                                          In case someone else also runs into this, here's the GitHub issue, also with a workaround until it's fixed.

                                          1 Reply Last reply Reply Quote 0
                                          1265 out of 1711
                                          • First post
                                            1265/1711
                                            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.

                                            This community forum collects and processes your personal information.
                                            consent.not_received