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.3m 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 @fluffypillow
      last edited by Darksavior

      When I browse with videos from screenscraper.fr's, pegasus eventually crashes. Bit of lag when browsing but when I downgrade them to 320x240 with sselph's scraper + handbrakecli.exe, some videos appear garbled for some reason. They play fine in ES.

      Error message(I tried the original 640x480 videos)
      Gstreamer-WARNING **: gstpad.c:4661:store_sticky_event:h264parse54:src (and capsfilter54:sink) Sticky event misordering, got 'segment' before 'caps'
      and a lot of "warning: "no volume control found""

      B 1 Reply Last reply Reply Quote 0
      • B
        backstander @Darksavior
        last edited by backstander

        @fluffypillow
        (You may have already said this before but) what video player does Pegasus use? I think ES was using the VLC player but I believe they've moved over to the OMX Player with hardware decoding? That might be why @Darksavior's videos "appear garbled".
        https://retropie.org.uk/forum/topic/7979/please-test-using-omxplayer-as-video-renderer

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

          @AndersHP ah ok, but isn't that a libretro setting?

          @Darksavior @backstander Pegasus uses the Qt Multimedia module, which in turn uses GStreamer (1.0) on Unix. Video format support depends on the quality of the GStreamer plugins, but most of them seem to be in a bad shape...

          In theory, installing gstreamer1.0-omxshould enable hardware acceleration, but that's probably not enough to fix the video output. I have some ideas that could be tried out:

          • I've heard there's a plugin that enables GStreamer to use FFMPEG, might worth looking into it
          • I wonder if using a freshly built GStreamer using the latest version would improve things; this would also require rebuilding Qt and Pegasus
          • There's someone who used OMX directly in Qt, without Multimedia; maybe we could too
          P 1 Reply Last reply Reply Quote 1
          • fluffypillowF
            fluffypillow
            last edited by

            This week the translation support has landed:

            • implemented the settings menu
            • implemented dynamic translation reload on language change
            • build system integration
            • translation guide
            1 Reply Last reply Reply Quote 2
            • P
              phulshof @fluffypillow
              last edited by

              RetroFE also uses gstreamer. If you can link me a garbled video I can check if it plays on there. If it does, it's either a plugin issue or you might be able to find an answer in the RetroFE code.

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

                @phulshof thanks, personally I had some problems (eg. "stripes") with the videos from here: https://github.com/mattrixk/es-toolkit-videos

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

                  @fluffypillow said in Announcing Pegasus Frontend:

                  @phulshof thanks, personally I had some problems (eg. "stripes") with the videos from here: https://github.com/mattrixk/es-toolkit-videos

                  I'll have a look. Do you have a screenshot of what garbled looks like?

                  DarksaviorD 1 Reply Last reply Reply Quote 0
                  • pjftP
                    pjft
                    last edited by

                    @phulshof @fluffypillow I'd love to learn more about gstreamer, why you chose it, advantages and disadvantages, as well as how it's actually used in the code to render videos.

                    I don't want to sidetrack this thread, though. Would you mind if I start a new thread and tag the two of you about it tomorrow or Thursday?

                    Thanks.

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

                      @phulshof This is mine made from sselph's scraper and handbrakecli.exe
                      I'm not sure what settings he's using but it doesn't happen with every video converted, but it 100% happens with the same games.
                      0_1498597180012_20170627_135532[1].jpg

                      P 1 Reply Last reply Reply Quote 0
                      • P
                        phulshof @pjft
                        last edited by

                        @pjft said in Announcing Pegasus Frontend:

                        @phulshof @fluffypillow I'd love to learn more about gstreamer, why you chose it, advantages and disadvantages, as well as how it's actually used in the code to render videos.

                        I don't want to sidetrack this thread, though. Would you mind if I start a new thread and tag the two of you about it tomorrow or Thursday?

                        That's fine. 😀 I can tell you how it's used, but I have no idea why Emb chose this library over other ones to be honest.

                        1 Reply Last reply Reply Quote 0
                        • P
                          phulshof @Darksavior
                          last edited by

                          @Darksavior said in Announcing Pegasus Frontend:

                          @phulshof This is mine made from sselph's scraper and handbrakecli.exe
                          I'm not sure what settings he's using but it doesn't happen with every video converted, but it 100% happens with the same games.

                          Alien 3 for the SNES?
                          I'll give it a try tomorrow, and let you know.

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

                            @phulshof Yes, using
                            scraper.exe -download_videos -convert_videos -console_src ss with handbrakecli.exe in the same folder as scraper.exe.

                            P 1 Reply Last reply Reply Quote 0
                            • S
                              sselph
                              last edited by

                              FYI This is how my code is transcoding the video. I didn't write this so not sure exactly what it does but here is a rough equivalent command
                              HandBrakeCLI -i <input> -o <output> -e x264 -w 320 -l 240 -r 30 --keep-display-aspect --decomb --audio 1 -B 80 -E av_aac

                              Auto-scraper: https://github.com/sselph/scraper
                              Donate to Extra-Life 2018 and help save lives: https://goo.gl/diu5oU

                              1 Reply Last reply Reply Quote 0
                              • P
                                phulshof @Darksavior
                                last edited by

                                @Darksavior said in Announcing Pegasus Frontend:

                                @phulshof Yes, using
                                scraper.exe -download_videos -convert_videos -console_src ss with handbrakecli.exe in the same folder as scraper.exe.

                                I'll need some more input here; this doesn't look like a command for the pi, and if it is then I don't know where to find scraper.exe (sounds like Windows) nor handbrakecli.exe. The ES videos you linked to don't contain Alien 3 for the SNES, so I cannot test it from there either. :( Any chance you could simply put the result video on dropbox or something similar for me to download?

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

                                  @phulshof Sorry, it is in windows. I also didn't link any videos, but I will now.
                                  Alien 3 (USA)-video.mp4

                                  @fluffypillow Not sure if this bug's known. Can't reboot/shutdown. Using latest build. 0_1498713721085_20170628_193811[1].jpg

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

                                    @pjft If I understand correctly, ffmpeg/libav is a set of libraries and codecs for the various media formats, while gstreamer is a multimedia framework above such plugins, and provides a common interface for playing, recording, editing, etc. them. It can use ffmpeg as a plugin, and it should have hardware acceleration support on the Pi too.
                                    Pegasus uses the Qt Multimedia library as a cross platform interface, which uses gstreamer on Linux. Additional plugins can be developed hovewer, and I also plan to try out a few things to fix the video issues.

                                    @phulshof most of the videos in the es-toolkit-videos repo have problems; if I remember correctly, the gameboy videos have stripes, the snes ones have audio only, etc. I'll double check this afternoon.

                                    @Darksavior looks like your user has no permission to shutdown/reboot the device. It's usually allowed on Debian distros for regular users, I guess it's disabled on RetroPie? Will check this too.

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

                                      @fluffypillow It's odd because on earlier builds, it would refuse to shutdown/reboot if I was logged in through ssh on pc, but on a later build it wouldn't care. Now I get that "must be root". I also changed the pegasus permissions to 777. At least I can use pegasus now, so yay for that.

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

                                        @Darksavior by earlier build, you mean alpha2 or a previous continuous build? I don't remember changing the shutdown code, so such difference is interesting... Pegasus runs until the Shutting down... message, then calls the system commands reboot and poweroff; do you have the permission to run them on their own?

                                        Also thanks for actively testing!

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

                                          @fluffypillow Well, from what I can remember, with alpha2 it wouldn't shutdown if i had an ssh session opened. Closing it would then fix that. Later, I tried one of the continuous builds from a few days ago and that seemed to ignore the ssh session and shutdown.

                                          I tried to re-create the problem now but I can't. Same error message with alpha2.. Not sure what I did to change that. I've just updated the retropie script/emulators and not the kernel. I can reboot/shutdown by typing it in with sudo, yea. I can shutdown/reboot fine with ES too.

                                          I do need to fix permissions on every build otherwise I can't run it. Maybe it's related to that.

                                          Yea, pegasus is my daily driver. I'm just waiting on being able to remap controls so I won't need my kb..or just have the ability to use the analog stick to be used in the menu(my dpad is seen by pegasus as an analog stick for some reason).I can live without scraping the logos, no videos, and no icon pictures for the retropie section.

                                          One request: The arcade sections look sloppy with using the flyer pictures, maybe someday I can have the ability to resize the layout so it looks neater with marquee pictures.

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

                                            @Darksavior I've confirmed and fixed the restart/shutdown problem: a tool called PolicyKit is used to allow regular users/programs to restart/halt/power off the device, which is not (no longer?) installed by default on the Pi (it certainly is on desktop, as I've accidentally rebooted my PC several times before). You have to install policykit-1, then reboot the Pi (technically, reload all sessions). It will ask for the root password on SSH, but works without it on the board.

                                            Of course, this is only required for running as a regular user. If I remember correctly, RetroPie runs ES and the shutdown/reboot commands with sudo, so the issue doesn't appear there.

                                            I do need to fix permissions on every build otherwise I can't run it. Maybe it's related to that.

                                            I've never had any permission issues. I'm usually wgeting then extracting the latest zip, and the permissions are 775/rwxrwxr-x, uid: 1000/pi, gid: 1000/pi. Do you get something like in this issue?

                                            my dpad is seen by pegasus as an analog stick for some reason

                                            Try export QT_GAMEPAD=sdl2 before launching Pegasus.

                                            The arcade sections look sloppy

                                            Can you show me a screenshot?

                                            DarksaviorD 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.