Announcing Pegasus Frontend
-
@AndersHP by overlay, you mean a global GUI overlay that would pop up when you press a key/button combination? Like with Steam, Kodi, and on consoles? I'm not sure if it'd be possible on the Pi, (as far as I know) when you're running an emulator, it owns the graphical context of the device ("has the right to draw on the screen"), and I don't know if it's allowed for other programs to draw at the same time. It probably could be done on desktop/X11 though.
In non-coder terms, what's the current status of this project?
What counts as a non-coder term? :) It's currently in Alpha, meaning some functions are usable, but many are missing, there could be lots of bugs, and the documentation is lacking. In short, it's incomplete but testable.
Danish translation
Sure, translations are welcome! I'll write up a localization guide (there's even a nice GUI program for it), and translation context comments; meanwhile you can find the Hungarian files here. The changes and new files will be automatically picked up by the build system (well, as soon as I finish translation support). It's not necessary to translate every text, eg. console debug output messages, it'll fall back to English. Also since it's still in alpha, the text may change often, eg. when new features added and such.
-
@fluffypillow said in Announcing Pegasus Frontend:
@AndersHP by overlay, you mean a global GUI overlay that would pop up when you press a key/button combination? Like with Steam, Kodi, and on consoles?
No I think that would stress the Pi unnecessarily? I meant MAME overlays like bezels for vertical shooters etc. But maybe that's too early when the basic functionality is not 100% yet.
-
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"" -
@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 -
@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-omx
should 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
-
This week the translation support has landed:
- implemented the settings menu
- implemented dynamic translation reload on language change
- build system integration
- translation guide
-
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.
-
@phulshof thanks, personally I had some problems (eg. "stripes") with the videos from here: https://github.com/mattrixk/es-toolkit-videos
-
@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?
-
@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.
-
@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.
-
@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.
-
@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. -
@phulshof Yes, using
scraper.exe -download_videos -convert_videos -console_src ss
withhandbrakecli.exe
in the same folder asscraper.exe
. -
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
-
@Darksavior said in Announcing Pegasus Frontend:
@phulshof Yes, using
scraper.exe -download_videos -convert_videos -console_src ss
withhandbrakecli.exe
in the same folder asscraper.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?
-
@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.
-
@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 commandsreboot
andpoweroff
; do you have the permission to run them on their own?Also thanks for actively testing!
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.