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



  • Happy New Year! And also an update:

    • implemented the new config file format, but currently only for the theme config file so I could start writing the documentation
    • changed the config format a bit
      • : is also accepted as the separator between an option's name and value (previously only = was accepted)
      • [] is no longer needed at the end of an option's name to indicate it to be a list: it's handled automatically when an option occurs more than once
    • the loading screen will likely be themeable in the future -- I've added some light animations to show activity, which seems to work fine on Pi 3 but might be demanding on other platforms (due to the loading in the background); this needs some more testing
    • fixed a bug that caused Pegasus to miss assets in symlinked directories in some cases
    • fixed a bug when reading the <rating> field from ES2 files
    • changed some variables around in the theme system while I was writing the documentation -- updated the Flixnet theme for this
    • better support for games with multiple developers, publishers or genres

    Documentation is in progress; I think I can finish/polish them by this week (or the next), and I'll upload them all then. Current status:

    • set up a pretty website for the documentation and moved the wiki articles there
    • fixed some typos
    • updated the Qt installation guide with images and notes (for C++ devs)
    • added theme creation overview (QML, theme structure, stuff Pegasus provides)
    • added a page with links to QML tutorials
    • added detailed API documentation
    • added a step-by-step guide for making the Flixnet theme (60% done)
    • will add at least one more simpler tutorial too (eg. something like a stripped-down PS3 menu, or a remake of ES2 or HyperSpin's default)


  • @fluffypillow Your work is awesome. Do you have an ETA on these features:

    • Favorite add/remove by buttonclick
    • Page up/down function

    Not at all to stress you, just a friendly query. These two functions would get Pegasus up on the side of EmulationStation, when it comes to functionality (in my humble point of view).



  • Great news, look forward to the theme guide :)

    Quesiton on the below:

    • the loading screen will likely be themeable in the future

    Can we also theme/modify the settings menu/panel?



  • @andershp no problem; my top priority now to bring the documentation to a usable state so people could start learning theming, after that I'll add the support for the new metadata files (which shouldn't take more than a few days). With these two major updates down, I can start working on all these usability tweaks and issues I keep collecting. As for an ETA, I think I can complete these two still in this month.

    @halfmanhalfcake my only problem with theming the main menu is that since a theme can completely customize the UI, if there's a bug in it or someone forgets to eg. add the Settings button, then you might not be able to change the theme back without editing the config files. Technically there's no difference between the parts of the user interface, the whole graphical part is written in QML and so can be customized; it's not impossible that there will be support for menu themes too.



  • I'm trying to make some dummyroms with system images and descriptions.
    Cannot delete my post now, but if someone wants to do the same, or suddenly realizes nothing's working for them, check if there's an "&" sign in the description. This messes up everything..



  • @andershp said in Announcing Pegasus Frontend:

    check if there's an "&" sign in the description

    & is a reserved character in an XML document, you should escape it with &amp;.



  • Hi guys, happy New year!!!

    I give a shoot on Pegasus, and it's beautiful!!! It's exactly what I was looking for on emulationstation!!! But there's a way to do some input config? I've a custom made arcade Bartop with just a dpad, start, select and six action buttons, but this doesn't work on Pegasus, that requires an analog input to browse through the games.



  • @danielmewhouse you have to be more specific, hardwarewise. What controller do you have to translate your inputs and to what? Is it a xinmo, iPac or something else?

    You can get Pegasus working perfectly without analog sticks. I have almost the same buttons as you do.

    If It translates into keyboard inputs, I don't know if @fluffypillow integrated custom inputs mapping yet?
    What I did with my iPac, is that I changed all inputs to match the standard of Pegasus (see here) and afterwards I mapped the controls again in Emulationstation (just to get both systems working, for a transitional period).

    As you can see on the above link, it's fairly easy. I made my joystick work as directional buttons (up, down, etc.), my first two buttons work as Enter and Esc (which also is very handy in random GUI's), and my upper left is lctrl. The last two needed buttons I just assigned A and E, to switch between systems.



  • Yes, Pegasus supports navigating by the keyboard arrow keys and the gamepad left analog stick and dpad (it uses evdev input events on Linux, if that helps). Custom keyboard mapping is not implemented yet, but might come later. It's also not in sync yet with the emulators and other frontends, so you might want to set the mapping in ES too for now.



  • Documentation is still ongoing, though with the Flixnet tutorial slowly going over 30 printed pages long, I'm starting to think I'm making it a bit too detailed :)
    (mind you, I've included a bunch of screenshots, code snippets, animations and figures)



  • @fluffypillow Thats AWESOME. Ive been taking a look to QML from time to time and I hope to start my theme with this tutorial youre doing. By the way, do hoy think its posible to use qt3d with Pegasus? I tried some things but couldnt make It work inside Pegasus..., although video and many other things work pretty well!!!



  • @tronkyfran Yeah it's entirely possible, you can use pretty much every QML types (except Quick Controls and the web browser). I think I might've disabled some parts of the 3D module previously to reduce the program size, but I'll double check the next time I do a full build.
    Also feel free to open an issue if you find any bugs, and/or share the error here :)



  • @fluffypillow I would open an issue if I was enterely sure that its a bug and not my fault because of lacking programming skills. Ill wait until next build and theme tutorial ;). Again, thanks!!!!



  • I'm still writing the documentation, sorry for it taking so long. Writing a guide makes you realize how to make things simpler to use, so I keep tweaking things around, which then require changes in the already written parts of the docs. But it'll be done eventually.



  • @fluffypillow Take your time, we're talking about 20 years old games so I think we're not in a hurry ;)



  • @fluffypillow Understand that completely. Although I will admit i have been checking here daily for the documentation updates :(

    Either way, take your time :)



  • A little bit of benchmarking:
    After I moved all my art to the USB, Pegasus boots in 1 minut 27 seconds (5030 games with logo, image and video).

    If I quit Pegasus and immediately start it again, same operation takes 7 seconds!!

    How come there's such a big difference? Does a lot of the data get copied to the RPi RAM, so the second time it reads from this instead of USB?

    "Looking for games" part takes 15 seconds, the rest is "looking for artwork".

    I don't think my USB is very fast (it's a Maxwell 64GB USB 2.0), and I wanna test a 3.1, but haven't had the opportunity yet.

    Pegasus is version alpha5-63.



  • @andershp said in Announcing Pegasus Frontend:

    How come there's such a big difference? Does a lot of the data get copied to the RPi RAM, so the second time it reads from this instead of USB?

    Most likely yes, it caches some of the filesystem info in the memory, so subsequent access for the same folder is faster. USB 3.1 won't make a big difference, since the PI is not capable of using more than USB 2 speeds.



  • @mitu Is there any way of "prepping" the system for Pegasus?
    The 1,5 minute bootup is extremely slow.

    When it comes to USB2 vs USB 3.1 I have seen tests that even on USB2 readers there can be a significant speedboost.



  • @andershp said in Announcing Pegasus Frontend:

    @mitu Is there any way of "prepping" the system for Pegasus?
    The 1,5 minute bootup is extremely slow.

    I don't know, I'm just a forum user - but didn't have a chance to try Pegasus.


 

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.