Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Announcing Pegasus Frontend



  • @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.



  • @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.



  • @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!



  • @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.



  • @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?



  • Is it normal for so many libraries to be missing? Because Pegasus tries to run but say libinput is missing, but libinput can't be install because it's not found.



  • @fluffypillow Thanks, installing policykit-1 fixed the shutdown/reboot problem.

    If I download pegasus from windows and then transfer it to the pi via ssh, the permissions it has are 644 -rw-r--r-- and yes, it seems to be the same problem from the issues thread on github. The problem (or minor annoyance, really) can be reproduced. I just change it to 777 each time.

    export QT_GAMEPAD=sdl2 makes my pad not work anymore. It seems inconvenient to run it each time too. Somehow one of my other pads dpad's works, so I can use that.

    About the sloppyness..it's just that arcade games have no box art, so I'm trying to find the best way to be easy to read. Inconsistent sizes of marquees or flyers make it look sloppy. Flyers are hard to read too. Might have to go with title screen screenshots since I can scrape most of those. Just a vanity issue.

    @lilbud You'll need to install libinput10. scroll up to 19days ago for the full requirements of Pegasus.



  • I just tested that Alien 3 video, but I had no trouble under RetroFE. I don't use omx though; that may be of impact here.



  • Which gstreamer packages did you install so far?



  • Week 15:

    • Qt 5.7 is now supported; in theory Pegasus can be build on Debian 9/Ubuntu 17.04 with the Qt version available from the official repos, except I haven't found the gamepad module yet in any of the Qt packages...
    • Scripting support (in progress): you can add scripts that will run on quit, before reboot, or before shutdown; on-config-change event is also planned

    @phulshof I'm using the good/bad/ugly sets, the plugin-base-dev and omx packages. Apparently building the latest gstreamer and using its ffmpeg plugin improves the quality, at least on Odroid. I wonder if it'd work on the Pi as well.

    As for the videos, all of them in the es-matrix-videos repo have issues ("stripes", mostly). Their format is MPEG4 H.263/Simple@L1 profile. However, the videos I've downloaded from ScreenScraper (and haven't touched with Handbrake) use AVC/High@L3.1 profile, and they work perfectly well. So I guess this might be a problem with the plugin that handles H.263-encoded videos.



  • @fluffypillow will the final Pegasus version support favourites?

    It's cool to have every game ever developed for a certain system, but these infinitely long lists are not very inspiring - you'd have to remember which games you love and actively search for them.

    I don't understand why EmulationStation doesn't already support favourites, a switch between "favourites mode" and "explore catalog mode" with a buttonclick, as well as a button dedicated for starring and un-starring games for the favourites list, would be fantastic to have. Is this something that can be implemented? I would donate good cash for this functionality.



  • @fluffypillow said in Announcing Pegasus Frontend:

    As for the videos, all of them in the es-matrix-videos repo have issues ("stripes", mostly). Their format is MPEG4 H.263/Simple@L1 profile. However, the videos I've downloaded from ScreenScraper (and haven't touched with Handbrake) use AVC/High@L3.1 profile, and they work perfectly well. So I guess this might be a problem with the plugin that handles H.263-encoded videos.

    All of them? Could you give me a specific example to test? I'll run it on both my Linux PC and my Pi to see if it works for me. I used to have similar display problems with RetroFE, but one of the other programmers fixed it. If it works on RetroFE we could have a look to see what the problem might be.



  • @AndersHP Yes! Favourites is a planned feature, and the starring button can be done as well. I'd also like to add text search eventually, which would also support a limit-to-favourites kind of option.

    @phulshof I've used the es-tolkit-videos for GB and N64, and ScreenScraper videos for NES and SNES. All GB and N64 videos have the same H263 format, and have display problems, and all NES/SNES videos use AVC, but don't have any problems. If I remember correctly, AVC (alias H264) is the format that can be hardware accelerated on the Raspberry Pi (with gst-omx), which is why it has no issues, I guess.



  • PS. I'll be away for a few days, excuse me for late replies.



  • @fluffypillow Faaantastic! I can't wait. Enjoy the time off (if that's the case, anyways).



  • @fluffypillow said in Announcing Pegasus Frontend:

    @phulshof I've used the es-tolkit-videos for GB and N64, and ScreenScraper videos for NES and SNES. All GB and N64 videos have the same H263 format, and have display problems, and all NES/SNES videos use AVC, but don't have any problems. If I remember correctly, AVC (alias H264) is the format that can be hardware accelerated on the Raspberry Pi (with gst-omx), which is why it has no issues, I guess.

    I just tried AeroFighters Assault (USA) for the N64 on my Linux PC; that part works fine. I'll try to find some time tonight to set up my pi, and test it there as well. I'll keep you posted.



  • I just checked on my pi as well: no issues there either (though the videos are far from great quality to be honest; the ones from EmuMovies are miles ahead). So, we're down to two possibilities:

    1. I installed a gstreamer (codec?) library that you did not.
    2. RetroFE uses gstreamer differently from your code.
      Could you give me the output of the following command?
      apt list --installed | egrep "gstreamer|libav"


  • @phulshof Yeah the videos work fine on desktop, I've only noticed problems on the Raspberry so far. The Qt framework isn't perfect either, so yes, there could be a bug in the Multimedia module as well. Here's the output of the command on my Pi 3: https://pastebin.com/71tQiQ0y.

    ( By the way, those are test videos for ES theme development, which is why their quality is so low. )



  • @fluffypillow Thanks for your work !

    Alas, the windows builds you provided don't seem to work on my W10 (neither does anything)
    Will try building with latest sources tomorrow.
    (we need this on windows as a successor to ES)



  • If anyone was wondering, you can scrape the wheel (logo) pictures with universal xml scraper. Make sure it keeps them as png or they won't be transparent. For some reason it won't scrape some game's logos despite there being one on the ss site.

    The names aren't the same, of course. In a windows command prompt you can just do rename *-image.png *-logo.png


 

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.