Announcing Pegasus Frontend
-
@Darksavior It's done on the RetroPie side: after updating RetroPie, a launcher script will be created when installing Pegasus, like with ES. It can be launched as
/usr/bin/pegasus-fe
(or simplypegasus-fe
).EDIT: script location
-
@fluffypillow Ah ok. I was using the one from supplementary. Didn't know pegasus got updated to just use "pegasus-fe" from the autostart menu. Works now.
-
@Darksavior I have a possible fix but I couldn't properly test it yet; could you try out this as a theme, whether it fixes the resizing issue?
-
@fluffypillow Yep, that fixed the resizing. Thanks. The overlapping issue still exists but that's been around for a long time. If I go back and forth from systems then it fixes itself.
-
@fluffypillow Oh yea, thanks for finally providing a theme I can fool around with. I can now add custom system logos, yay. Though, I do need to resize them a bit. The system logos from ES really slows down Pegasus when scrolling. I'm still testing out what resampling method works best but so far I can't get them to look as good as the Pegasus logos.
-
@fluffypillow Hey I just wanted to say thanks for making your frontend natively compatible with shield/Android TV. I greatly appreciate it. It eliminated having to launch with sideload launcher but unfortunately I'm still plagued by the other two issues I had which were the app not seeing external storage as an option for ROM collections which I can live without but the other being that I'm sent back to my home screen when exiting an emulator as opposed to returning to frontend. Not sure if I can add a parimeter to the collection text file to make it return to frontend or if it's crashing on return due to memory limitations? Other than that through all the changes while in the frontend navigation is fluid and it works very seamlessly with all collections and assets showing and I the revamped grid theme looks really nice and clean. I just wish I could figure out how to return to the front end when I'm done a game. Anyway sorry for the burden and lack of knowledge but keep up the great work imo even in alpha astetica it's my favorite frontend for shield TV aesthetically.
-
@jerzeeloon Thanks!
app not seeing external storage
Yeah someone mentioned that with the Shield TV, but not sure I can fix/reproduce that without an actual device :(
I'm sent back to my home screen when exiting an emulator as opposed to returning to frontend
That seems to be a bug on Android in general, I do plan fixing it.
-
@fluffypillow thank you very much I'm leaning more towards it being a memory crash because for some reason even though the shield has three gigs of RAM it seems like 2 are constantly in use by the system and it does seem to go back to the front end for a split second and shows it loading the games and I think it crashes when it tries to load the assets I've had the same issue with other frontends like retroarch when trying to use custom artwork or launching a memory intensive game. But it seems to initially run the a frontend fine it just seems to be a crash when leaving a emulator game. Maybe if there was a way to cache the assets during the intial load so it has them in memory when returning to frontend as opposed to loading them again. I'm not sure if thats even feasible I'm just pissing in the wind here like I said I'm not dev savvy at all I probably like retro gaming and I really like your frontend.
-
@fluffypillow Not sure if these error messages mean anything to performance, but with the grid theme, the terminal/commandline is getting flooded with :
[w] file:///home/pi/.config/pegasus-frontend/themes/pegasus-theme-grid-bigart_fix/layer_grid/GameGridItem.qml:61:5: QML Image: Cannot open: file:///common/loading-spinner.png
-
@Darksavior not a performance issue fortunately, just the spinner image was not bundled with the theme (it was built-in to Pegasus). Fixed it, you can find the sources here.
-
Weekly update! This time there are only minor bugfixes in the main theme; meanwhile I was also working on handling metadata cases like duplicate or collectionless games, but that's still in progress. I've also started looking into some Windows issues, but development there is way slower so they will take some time.
I've also marked this release as Alpha 11, and updated the changelog in the first post.
-
@fluffypillow Getting an error when updating:
Error running 'wget -q -0/tmp/tmp.55uPykkZGi/pegasus-fe_alpha11_rp3-static.zip https://github.com/mmatyas/pegasus-frontend/releases/download/continuous/pegasus-fe_alpha10-150-gd40b0b6_rpi3-static.zip https://github.com/mmatyas/pegasus-frontend/releases/download/continuous/pegasus-fe_alpha11_rpi3-static.zip' returned 0
Error running 'unzip -o /tmp/tmp.55uPykkZGi/pegasus-fe_alpha11_rpi3-static.zip -d /opt/retropie/supplementary/pegasus-fe' - returned 9
-
@hooperre ah sorry, should be fixed now (there were more than one file
wget
tried to download). -
@fluffypillow said in Announcing Pegasus Frontend:
Yes, those are Android-specific, on Windows and Linux it looks like this:
launch: path/to/retroarch.exe -L path/to/somecore.dll "{file.path}"
example:
C:\retroarch\retroarch.exe -L C:\retroarch\cores\fceumm_libretro.dll "{file.path}"
Hi, I'm a new user to Pegasus and didn't manage to launch my emu with this config
launch: "E:\OneDrive - MyCorp\Jeux\Emulateurs\retroarch\retroarch.exe" -L "E:\OneDrive - MyCorp\Jeux\Emulateurs\retroarch\cores\citra_libretro.dll" "{file.path}"
in log I saw
2019-03-16T14:28:33 [i] Executing command: `E:\games\n3ds\"E:\OneDrive - MyCorp\Jeux\Emulateurs\retroarch\retroarch.exe" -L "E:\OneDrive - MyCorp\Jeux\Emulateurs\retroarch\cores\citra_libretro.dll" "E:\games\n3ds\MyGame.3ds"` 2019-03-16T14:28:33 [w] Could not run the command `E:\games\n3ds\E:\OneDrive - MyCorp\Jeux\Emulateurs\retroarch\retroarch.exe`; either the invoked program is missing, or you don't have the permission to run it.
Why execute command add "E:\games\n3ds" in front of my launch command??
-
Hi! It's been a while since my last update of this fantastic frontend. Everything is still running smooth and great! I'm using Retropie and coming from ES2, all my metadata/collections were still using ES2 formats. Now I got the crazy plan to get rid completely of ES2. I gave a look and converted my various ES2 files into the new "alpha11" Pegasus format. I still need assistance to get things working properly. See below.
- I want to keep my roms separate from my metadata+assets files (by assets I mean box covers, logo and video).
- my roms remain in the Retropie roms folder and I've created a specific "metafiles" folder under the config folder of Pegasus.
- in "metafiles" I've created one directory per system and put a
metadata.txt
file in each system directory (by system I mean "amiga", "snes", "mame", etc). - as per "alpha11" I understood there has to be just one
metadata.txt
file to describe both collection itself and games metadata for that collection. - I've added the
metadata.txt
for each system thanks to the Settings menu → Set game directories option in Pegasus. - I could see that each directory has been added to the
game_dirs.txt
file in the config dir.
For the sake of completeness and to be clear here's what I have today for my Amiga collection:
roms →/home/pi/RetroPie/roms/amiga/
metadata.txt →/opt/retropie/configs/all/pegasus-fe/metafiles/amiga/
assets (covers, logo, video) →/opt/retropie/configs/all/pegasus-fe/metafiles/amiga/
Also here's what I've put in
metadata.txt
for this Amiga collection:collection: Amiga shortname: amiga directory: /home/pi/RetroPie/roms/amiga launch: /opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ amiga "{file.path}" extensions: lha game: After the War file: /home/pi/RetroPie/roms/amiga/AfterTheWar_v1.3_1084.lha developer: Dinamic Software publisher: Dinamic Software genre: Beat-'Em-Up assets.boxFront: /opt/retropie/configs/all/pegasus-fe/metafiles/amiga/After the War-image.jpg assets.logo: /opt/retropie/configs/all/pegasus-fe/metafiles/amiga/After the War-marquee.png assets.video: /opt/retropie/configs/all/pegasus-fe/metafiles/amiga/After the War-video.mp4 description: <blah> . . <blah> release: 1989-12-31 players: 1 rating: 60% ... <other games>
@fluffypillow: the first topic I've been struggling with was the
assets.video
property. By reading the Pegasus doc I've found the objectassets
could have thevideos
property to be set. Yet if you go with assets.videos then it won't work you have to rely onassets.video
(without an "s") instead. Also the<marquee>
and<video>
tags from ES2gamelist.xml
are not converted using the online converter.My issues are:
- looks like the
directory
property does nothing as if I don't add the full path+roms or full path+asset in the value then nothing happens (and I got a msg about "missing file <game file>" in thelastrun.log
. - after using the online converter I realize I have to double the dot as the example above to add another new line to get the same I have with ES2.
I can't launch any game at all. Whenever I press the "A" button on my controller as usual nothing happens. It works on the other systems. It's like the "launch" command is not evaluated (a bit like the "directory" parameter above).
=> it's worth noting that except for Amiga all other systems are still being managed via the ES2 files (es_systems.cfg and gamelist.xml).- any way to define also a "global" assets directory for Pegasus to look into? so that I don't have to add absolute path for each asset.
- I tried to create a "metadata.amiga.txt" file so that I could store all metadata files under the "metafiles" directory instead of inside the "metafiles/<system>/" directory. This doesn't work.
- how easy would it be to add a new "system"? I mean I'd like to add my own "sfc" and "PC Engine CD rom rom" systems to Pegasus default theme. Should I just create a specific collection in a metadata.txt file? If so how should I set the logo for that system?
That's all for now :) Thanks for everything. I do really like this frontend.
-
@Meldrak @nemo93 I accidentally broke absolute launch commands yesterday, but they should work now (
alpha11-24
). Please try again whether it fixes the issue for you too.@nemo93 There are some changes in this week's update that might help you, I'll post a changelog and try to help with the rest tomorrow (it's late here at the moment, sorry).
-
@fluffypillow I can now successfully launch games no problem after upgrading to
alpha11-24
. I don't have to input the absolute path now for everyfile
property. Thank you. -
@fluffypillow
Is it intentional that every line of the log ends with[0m
(nano shows[i] Program settings loaded^[[0m
)
Does this serve some special purpose? https://github.com/mmatyas/pegasus-frontend/blob/master/src/backend/Log.cpp#L63 so probably some colored terminal output like listed here? https://gist.github.com/vratiu/9780109#file-bash_aliases-L9 I start pegasus this way https://github.com/5schatten/LibreELEC.tv/blob/libreelec-9.x-rr/packages/5schatten/emulation-frontends/pegasus-frontend/scripts/Generic/pegasus-fe.start#L25 I guess this should not end up in the logs?Log file:
http://ix.io/1DNW -
Weekly update! This time there have been several fixes related to portable and global metadata files:
- Portable launch command improvements
- Relative launch commands and relative working directories are now consistent on all platforms (ie. always relative to the metadata file).
- Note: like on most *nix systems, standalone executable names (eg.
myemulator
inlaunch: myemulator {file.path}
) refer to globally installed programs (something in$PATH
), while those starting with dot-slash (eg../myemulator
inlaunch: ./myemulator {file.path}
, or.\myemulator.exe
on Windows) refer to executables in the same directory as the metadata file. - There are still some possible improvements there, but should work fine now for the most common cases.
- Added support for multiple metadata files in
[configdir]/metafiles
. Any files whose name ends with.metadata.txt
or.metadata.pegasus.txt
there will be read (eg.snes.metadata.txt
, etc.). - Added support for asset searching by game title. Game assets can now also be stored under
[gamedir]/media/[gametitle]/
. Just make sure there are no two games with the same name in the same collection. - Fixed collectionless and duplicate game entries remaining in memory.
- Fixed some possible threading issues on Windows.
- Fixed
assets.videos
andassets.screenshots
not recognized in metadata files. - Fixed incorrect list of publishers for Steam games.
- Fixed the Settings screen still referring to collection files.
- Improved the asset support of the metadata converter site. Added support for ES2's
video
andmarquee
tag. - Themers: the
loading-spinner.png
is no longer a globally available image. Please ship all files you use with your theme. - Various small fixes and optimizations.
@msheehan79 These changes should fix the relative launch path issues (tested on Windows 7).
@nemo93 Sorry I couldn't write a longer reply yesterday!
By reading the Pegasus doc I've found the object assets could have the videos property to be set. Yet if you go with
assets.videos
then it won't work you have to rely onassets.video
(without an "s") instead.Also the <marquee> and
<video>
tags from ES2gamelist.xml
are not converted using the online converter.Ok, both of these should be fixed now, thanks!
looks like the directory property does nothing as if I don't add the full path+roms or full path+asset in the value then nothing happens (and I got a msg about "missing file <game file>" in the lastrun.log.
directory
will make the collection look for files with matching extensions in that place too, in addition to the metadata file directory. Thefile:
entries still have to be either absolute or relative to the metadata file. If file finding still seems to be incorrect, feel free to post your file and I'll take a look.after using the online converter I realize I have to double the dot as the example above to add another new line to get the same I have with ES2.
Could you post an example (screenshot/XML)? It seemed to be correct for me (though I don't use ES much these days).
any way to define also a "global" assets directory for Pegasus to look into? so that I don't have to add absolute path for each asset.
The problem with that is when there are games/files with the same name in different collections, it can't be decided which one does an asset belong to. Maybe a custom asset directory option could be added in the future instead.
I tried to create a "metadata.amiga.txt" file so that I could store all metadata files under the "metafiles" directory instead of inside the "metafiles/<system>/" directory. This doesn't work.
Just added support for that recently, should work now (in a different filename order).
how easy would it be to add a new "system"? I mean I'd like to add my own "sfc" and "PC Engine CD rom rom" systems to Pegasus default theme. Should I just create a specific collection in a metadata.txt file? If so how should I set the logo for that system?
Yes, you can just create a new collection with whatever name and short-name you wish. There's no custom logo support in the main theme yet, but you can download it from here and add a matching SVG under
assets/logos/
.@5schatten Yes, the standard output is colored as it's intended to show on the screen. However, the log is also saved to
~/.config/pegasus-frontend/lastrun.log
, without colors (maybe you might want to link it under/var/log/
). If you wish you can also disable the console output with the--silent
option. - Portable launch command improvements
-
@fluffypillow Is internal scraping coming at least in the way for logos/screenshots? Pegasus can use ES's scraped art which is really great but I had to scrape logos/screenshots on pc then get a renamer app to rename them accordingly which was very time consuming. I doubt new users will go through it.
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.