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

      Weekly update! Had to do some unexpected errands this week, so there's only a small set of LaunchBox related updates:

      • LaunchBox: Added multiple files per game ("additional apps") support
      • LaunchBox: Improved video file detection
      1 Reply Last reply Reply Quote 1
      • C
        clamcho
        last edited by

        @fluffypillow i am trying what you say it works but just open the emulator not start the game .

        And i want to ask something , how can i start the pegasus after boot on android ? likes launcher . i have been searching and i just found auto boot on rasph berry if my eyes not wrong . i want to use it on my android tv box . thanks for your answer.

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

          @clamcho yeah then it seem ePSXe doesn't support opening external files :( As an alternative you could try a different emulator, eg. RetroArch, which does support launching with files.

          how can i start the pegasus after boot on android ?

          While it is technically possible, it's not enabled yet because I fear it's too easy to accidentally set it as the default launcher (especially on phones). It was asked by others as well, so I think I'll add some documentation first about how to reset it to the default, then add support for it.

          1 Reply Last reply Reply Quote 0
          • C
            clamcho
            last edited by clamcho

            @fluffypillow as for now iam using retroarch for psx , as for each other platform iam using different kind emulator that more lightly than retroarch .

            maybe they want it to be the default launcher on their android tv box machine than android phone likes me, in android tv box a bit little complicated to open app because you must use remote to navigate . i hope you can give the documentation how to make default app after boot likes a launcher without using third app because i find it delay if using third app . thanks for your support .

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

              @fluffypillow I managed to get pegasus running on my pi4 using retropie's fkms_rpi4 branch and raspbian lite. Games loads to a black screen. ES works. I'm not a developer so I wouldn't know what to tell you to fix. I had to remove "!kms" from the script to get it to show up in retropie-setup.

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

                @Darksavior yeah I see that branch is quite active, I might need to do some updates as well. Pegasus seemed to work fine for me last week on Raspbian Lite (without RetroPie), but someone reported report of launching issues. Do you see something similar? Or you mean when you select a game, Pegasus closes but doesn't launch the game?

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

                  @fluffypillow
                  I am using a fully updated raspbian lite. No, it's nothing like what you linked. Pegasus boots fine. Launching a game loads to a black screen. It stays that way forever.
                  I forgot I could check the runcommand log. Here we go:

                  Executing: /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-snes9x/snes9x_libretro.so --config /opt/retropie/configs/snes/retroarch.cfg "/home/pi/RetroPie/roms/snes/7th Saga, The (USA).zip" --appendconfig /dev/shm/retroarch.cfg
                  failed to export dumb buffer: Permission denied
                  Failed to create scanout resource
                  failed to export dumb buffer: Permission denied
                  Failed to create scanout resource
                  /opt/retropie/supplementary/runcommand/runcommand.sh: line 1012:   748 Segmentation fault      /opt/retropie/emulators/retroarch/bin/retroarch -L /opt/retropie/libretrocores/lr-snes9x/snes9x_libretro.so --config /opt/retropie/configs/snes/retroarch.cfg "/home/pi/RetroPie/roms/snes/7th Saga, The (USA).zip" --appendconfig /dev/shm/retroarch.cfg
                  fluffypillowF 1 Reply Last reply Reply Quote 0
                  • fluffypillowF
                    fluffypillow @Darksavior
                    last edited by

                    @Darksavior hmm it seems as if RetroArch crashed, maybe it couldn't access the framebuffer for some reason? If you have some other emulators around, could you try whether the same happens for them too?

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

                      @fluffypillow It happens on all libretro and non-libretro emulators. So it looks like it might be related to the report you posted. I tried going to one of the options from the retropie tab I got a black screen again, ctrl+c and got this:
                      [e] Could not queue DRM page flips on screen HDMI1 (Device or resource busy)
                      Pi4 is on stable kernel 4.19.66-v71+

                      Side note, I also transferred all of my scraped art to pegasus. It's amazing. Very smooth. No lag. I can scroll fast and I don't see random game art loading while doing it.

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

                        Weekly update! A large set of changes has just landed, so careful with the updating. Last week I've started working on improving the gamepad support, now the initial implementation is complete, and replaces the whole gamepad handling on many platforms. It's now based on SDL2, which is also used by eg. PPSSPP, some of the ports and other emulators. These changes should make many gamepads work out of the box and improve compatibility with others. However some platforms may have driver issues or quirks, so the new implementation should be tried with as many devices as possible. Feel free to open issues on GitHub of mention here if you run into troubles.

                        At the moment, these changes are available for Linux (desktop) and Raspberry Pi 0/1/2/3. I'm working on the Windows support at the moment, then will continue with porting to macOS and the Pi 4 (and also the video problems). These and Android use the same code as before.

                        BREAKING CHANGES

                        • Linux: installing SDL2 is now required. If you're using any RetroPie version, it's very very likely to be already installed. For other devices, you can install it using eg. sudo apt install libsdl2-2.0-0 (or libsdl2-dev if you prefer -dev packages). At least version 2.0.4 is required (which is what you have at least, unless you're still on Ubuntu 14/Debian Jessie).

                        For Windows/Mac, it will likely be built into Pegasus, so no steps would be necessary there.

                        KNOWN ISSUES

                        • Remapping the accept button on the gamepad screen is troublesome. Checking older versions, I think it didn't work in the first place. Will fix it.

                        MAINTAINER INFORMATION

                        This section is for people who build or package Pegasus. There are a few new qmake options you can use to choose between the Qt (qtgamepad) and the SDL based backend, and to configure the build flags.

                        • USE_SDL_GAMEPAD: if set, the SDL based backend will be in use
                        • SDL_LIBS: a space-separated list of linker flags (-L, -l)
                        • SDL_INCLUDES: a space-separated list of include directories, where one of them contains the file SDL.h

                        If only USE_SDL_GAMEPAD is set (ie. SDL_LIBS and SDL_INCLUDES are both empty), pkg-config will be used on platforms where it is available.

                        Example configuration (simple): qmake path/to/sources USE_SDL_GAMEPAD=1

                        Example configuration (complex):

                        qmake path/to/sources
                          USE_SDL_GAMEPAD=1
                          SDL_LIBS="-L/path/to/sdl/lib/ -lSDL2 -Wl,--no-undefined"
                          SDL_INCLUDES=/path/to/sdl/include/SDL2/
                        

                        Note that only the gamepad module is used from SDL, so if you're also building your own SDL, you can turn off many of its features during configuration. In most cases, it's also not necessary to link to SDLmain.

                        1 Reply Last reply Reply Quote 5
                        • M
                          msheehan79
                          last edited by

                          @fluffypillow I've started looking at implementing a couple of custom collection files but I seem to be a bit stuck with getting it to work - any chance you could take a look at the below and let me know what seems to be missing?

                          I've got several collections working for "Systems" i.e. all the roms in one folder. What I am trying to do now is to add a few custom collections that may span multiple directories. All of my metadata files are in the pegasus/config/metafiles directory and not in the rom folders.

                          What I have found is if I do not include the "extension" in the collection it doesn't find any files. The problem is if "extension" is included I end up pulling in ALL the games from each folder and not just the few specific games I want to include in a given collection. I'm not sure if I am missing a setting to have it just target the specific files and not everything in the folder.

                          Here is a simple example I was using to test, just trying pull in 2 games from each of the directories below:

                          collection: Custom Collection
                          shortname: custom
                          directory: ..\..\..\roms\virtualboy
                          directory: ..\..\..\roms\sgfx
                          files: ..\..\..\roms\sgfx\Dai-Makaimura (Japan).7z
                          files: ..\..\..\roms\sgfx\1941 - Counter Attack (Japan).7z
                          files: ..\..\..\roms\virtualboy\3-D Tetris (USA).7z
                          files: ..\..\..\roms\virtualboy\Galactic Pinball (Japan, USA).7z
                          
                          

                          And it finds no files, with the log below:

                          2019-08-28T00:24:53 [i] Program settings loaded
                          2019-08-28T00:24:53 [i] Pegasus alpha12-81-geb4f8ff (2019-08-27)
                          2019-08-28T00:24:53 [i] Running on Windows 10 (10.0) (x86_64, windows)
                          2019-08-28T00:24:53 [i] Found locale `de`
                          2019-08-28T00:24:53 [i] Found locale `en`
                          2019-08-28T00:24:53 [i] Found locale `es`
                          2019-08-28T00:24:53 [i] Found locale `fr`
                          2019-08-28T00:24:53 [i] Found locale `hu`
                          2019-08-28T00:24:53 [i] Found locale `pt-BR`
                          2019-08-28T00:24:53 [i] Found locale `ru`
                          2019-08-28T00:24:53 [i] Locale set to `en`
                          2019-08-28T00:24:53 [i] Found theme 'Pegasus Grid' (`:/themes/pegasus-theme-grid/`)
                          2019-08-28T00:24:53 [i] Theme set to 'Pegasus Grid' (`:/themes/pegasus-theme-grid/`)
                          2019-08-28T00:24:54 [i] Metafiles: found `C:/Emulation/pegasus/config/metafiles/custom.metadata.txt`
                          2019-08-28T00:24:54 [i] Metafiles: finished game searching in 27ms
                          2019-08-28T00:24:54 [i] Steam: no installation found
                          2019-08-28T00:24:54 [i] Steam: finished game searching in 0ms
                          2019-08-28T00:24:54 [w] EmulationStation: system config file not found
                          2019-08-28T00:24:54 [i] EmulationStation: finished game searching in 0ms
                          2019-08-28T00:24:54 [w] No games found for collection 'Custom Collection', ignored
                          2019-08-28T00:24:54 [w] Game 'Galactic Pinball' does not belong to any collections, ignored
                          2019-08-28T00:24:54 [w] Game '3-D Tetris' does not belong to any collections, ignored
                          2019-08-28T00:24:54 [w] Game '1941: Counter Attack' does not belong to any collections, ignored
                          2019-08-28T00:24:54 [w] Game 'Ghouls'n Ghosts' does not belong to any collections, ignored
                          
                          fluffypillowF 1 Reply Last reply Reply Quote 0
                          • fluffypillowF
                            fluffypillow @msheehan79
                            last edited by

                            @msheehan79 It was actually a bug, thanks for the report! Should be fixed now in the latest version.

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

                              In other news, someone asked me (from outside the forum) if I could create a Discord server. Well I just made one, so if you're interested in that, here you go: discord.gg/KTtzP6y

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

                                @fluffypillow just downloaded the latest build and it works great now. Thanks!

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

                                  @fluffypillow When you add additional custom metadata properties to a game or collection using the "x-" prefix, are these additional settings read into Pegasus?

                                  My thought was to add some additional metadata info on the controller type used for specific games - I thought this would be a nice feature to note with with a simple icon showing if, for example, a game could be played with an SNES-style controller or if it needs the extra buttons/analog sticks of an XBox 360/PS4 style control etc.

                                  However as I have been playing about with modifying the theme a little to see if I can read in this info I am not sure if these custom metadata properties would be available to the theme or if it only reads the standard ones.

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

                                    @msheehan79 coincidentally, I was also thinking about extending these extra properties :) Currently they are ignored, but I'd like to make them available for the themes, and perhaps also support using them in launch commands.

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

                                      Hello @fluffypillow
                                      quick message just to let you know that the current "continuous builds" are broken for PI1/2/3 - and probably for X11 as well. There's no binary inside the zip archive. This has the side effect of removing Pegasus should you update via the Retropie Setup script.

                                      Thanks!

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

                                        @nemo93 whoa, how did that even happen... will fix it in a minute.

                                        EDIT: fixed, thanks!

                                        1 Reply Last reply Reply Quote 1
                                        • M
                                          msheehan79
                                          last edited by

                                          @fluffypillow OK no worries, just wanted to confirm they aren't currently available. If you do incorporate this as a feature later on down the line, I will be sure to try it out!

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

                                            Weekly update! Had a busy week again, but managed to land a few updates:

                                            • The new gamepad handling is now in use on Windows too. Should work out of the box, no additional installation is necessary. Please report if you run into issues.
                                            • Fixed a bug where the files field in metadata files was not handled correctly (thanks @msheehan79)
                                            • Fixed the Linux release packaging (thanks @nemo93) and updated the .deb package
                                            • Fixed some incorrect log messages and other minor things
                                            1 Reply Last reply Reply Quote 1
                                            • 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.