Announcing Pegasus Frontend
-
@fluffypillow I'm trying different file systems but I can't seem to get a decent speed from usb. Can you re-add the option to load pictures from
~/.emulationstation/downloaded_images
on microsd ? -
Wow looking forward for this awesome frontend !
-
@Darksavior hm okay, though it might slow down the loading a bit. I should start implementing some kind of plugin system, so you could enable/disable/fine tune ES compatibility.
-
Had some technical difficulties this week, so there are mostly just small changes:
- assets are searched in
~/.emulationstation/downloaded_images
again - fixed a bug on Windows, where sometimes assets weren't found
- minor bugfixes
- started writing some automated tests to make sure things won't accidentally break
Also as there have been over 100 commits since alpha 2, I've marked today's release as alpha 3.
- assets are searched in
-
PS. I've also removed the SDL2 dependency
PPS: @Darksavior it seems analog controls isn't as trivial as I've expected, might take some more time -
@fluffypillow Yay. I appreciate it. Analog controls are detected and responding in the controller settings so pegasus sees something..
Also, loading times went down again when I moved pics back to the microsd. :D
-
I've played around with the GStreamer packages:
- if
gstreamer1.0-omx
is installed (which enables hardware acceleration), h264 videos play fine, but others get corrupted picture - updating GStreamer to the latest stable (1.10) doesn't fix the issue
gstreamer1.0-libav
(which is the FFMPEG wrapper/plugin) withgstreamer1.0-plugins-good
plays all tested video files (h264 from screenscraper, handbrake-ified mp4 files from es-toolkit)gstreamer1.0-libav
orgstreamer1.0-plugins-good
alone doesn't produce good result (black picture/decoder errors), but together they work nicely, I didn't need other plugin packs
So it seems something's broken in the Qt Multimedia module's hardware acceleration support; I'll probably have to write a custom plugin or see if I can patch it. Until then, you can get the best results with the
gstreamer1.0-alsa gstreamer1.0-libav gstreamer1.0-plugins-good
packages. - if
-
On the previous week I was mostly testing things, like the GStreamer packages, and writing an automatic test suite.
This week, however:
- added support for the
<favorite>
ES2 tag- has no visible effect yet, I'll probably add a heart or something
- added filter panel
- you can filter by name (or name parts), to favorites or to multiplayer games
- others might come later (eg. custom tags)
- video
The filter panel is work in progress, will be available in a few days.
- added support for the
-
@fluffypillow I hadn't thought about filtering based on number of players. I ran into that the other day when trying to figure out which games were 2 player with a friend. Thanks for your work, I've been using the alpha builds and they keep getting better.
-
Ok, the filter panel is now available in the latest alpha, you can press Ctrl to toggle it.
It's also something that a theme can change, so currently it's only in the main theme. I wonder how does a search panel look in Netflix?
-
Oh and Pegasus is now available from the RetroPie menu (experimental section)!
-
I have installed Pegasus on my Pi 2 from the RetroPie setup script. I am using a wired PS3 controller so have also installed xboxdrv.
In the file
/opt/retropie/configs/all/autostart/sh
, I have replaced the line to launch ES with the following:sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --detach-kernel-driver --mimic-xpad -s >/dev/null & /opt/retropie/supplementary/pegasus-fe/pegasus-fe; sudo killall >/dev/null xboxdrv #auto
The PS3 controller now works fine in Pegasus but when I launch a rom in lr-mame2003, RetroArch tells me that it's using a Microsoft Xbox 360 pad, which is not configured.
How do I kill xboxdrv after I launch a game so that I can use the RetroArch config for PS3 controller?
I use xboxdrv for FPS ports and adding the line
sudo killall >/dev/null xboxdrv
kills xboxdrv after I exit the port so that I can use the PS3 controller in ES as configured. -
@dudleydes I think I can add support for running a custom script before launching/after finishing a game. I'm actually surprised I haven't done that yet.
-
@fluffypillow assuming people are launching via runcommand, it can launch a bash script before/after launching a game - https://retropie.org.uk/docs/Runcommand/#runcommand-onstart-and-runcommand-onend-scripts
-
I've ended up implementing it (for cross platform support and because why not), it's now available in the alpha. The relevant directories are
game-start
andgame-end
; you can add scripts just like for the other events.Note that unlike the runcommand method, the scripts Pegasus calls do not receive any additional information (at least, not at the moment).
-
This post is deleted! -
@fluffypillow Thanks for implementing this so quickly.
I have updated Pegasus and I am now running version
pegasus-frontend alpha3-36-ge792314
. I have removed; sudo killall >/dev/null xboxdrv
fromautostart.sh
and restarted my Pi.I created a script
kill-xboxdrv.sh
in thegame-start
folder with the following contents:#!/bin/bash sudo killall >/dev/null xboxdrv
Then I created a script
start-xboxdrv.sh
in thegame-end
folder with the following contents:#!/bin/bash sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --detach-kernel-driver --mimic-xpad -s >/dev/null
I have made both scripts executable.
Now when I launch a rom in lr-mame2003, no text appears informing which controller is configured. Checking the processes running using
top
, xboxdrv is being killed and retroarch is running without it but it doesn't seem to be picking up the PS3 controller config. -
@dudleydes so the scripting part works correctly (kills xboxdrv before the game, restarts on end), but RetroArch does not recognize the PS controller? And everything works fine using ES2?
Hm, Pegasus should not "own" the devices or deny access to them... I wonder how RetroArch detects controllers... -
@fluffypillow I've had a further look at this and I believe the issue is with configuring xboxdrv rather the Pegasus frontend.
If I run
cat /proc/bus/input/devices
with the setup above, then the virtual Xbox 360 pad appears asjs0
with no sign of the PS3 controller.In my xboxdrv configurations for the Doom ports, I include the following flag
--evdev /dev/input/by-id/usb-Sony_PLAYSTATION_R_3_Controller-event-joystick
If I include this in
autostart.sh
, then the PS3 controller appears when I runcat /proc/bus/input/devices
asjs0
while the virtual Xbox 360 pad isjs1
. Of course, this means I can't use my PS3 controller in Pegasus though the controller is fine in lr-mame2003.I'll take a further look at the xboxdrv documentation to see if there is a way of making the virtual Xbox 360 pad
js0
while Pegasus is running and reverting tojs1
when a emulator is launched. -
@fluffypillow I have managed to get the PS3 controller working in Pegasus and in emulators using the Linux Joystick Mapper. I have used this utility previously to map the mouse to the left analogue stick and face buttons for use in DOSBox. It doesn't use jsX assignments but creates extra events for each mapping in
/dev/input/
.I will write up some documentation in the wiki on how I set this up but I would like to do some more testing before I do so.
I have mapped the arrow keys, Enter and Esc. Are there any other keystrokes in Pegasus I should be aware of?
While I am here, I am impressed with the flixnet theme. In the built-in theme, I get icons appearing in the RetroPie menu but when I switch to flixnet theme, they don't appear. Could you advise how I can get images to appear in this theme?
Also, if I add roms or add images/metadata, what is the best way for these to appear in Pegasus without rebooting? In ES2, I have the option to restart ES.
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.