Announcing Pegasus Frontend
@andershp (sorry for the late reply)
Really depends on the drives you use. Many 2.0 drives don't reach the maximum possible speed the Pi supports, while with a 3.x drive it's more likely. A good SD card may also reach the full speed, but to me they seem to be slower.
What about Emulationstation, will this still work and show art if it's placed in romsfolder/media?
Should work fine, as long as the paths to the rom directories are valid. Actually if you're just moving your games/assets to USB, you could just correct the paths in the ES2 systems config file, no need for a full scraping.
It got a bit delayed with the holidays, but the theme guide is in progress now.
@fluffypillow Great stuff, look forward to it :)
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
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)
AndersHP last edited by
@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.
AndersHP last edited by AndersHP
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..
danielmewhouse last edited by
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.
AndersHP last edited by
@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
evdevinput 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.
fluffypillow last edited by fluffypillow
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 :)
AndersHP last edited by AndersHP
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.