RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Announcing Pegasus Frontend

    Scheduled Pinned Locked Moved Ideas and Development
    frontendpegasusc++developmentqml
    1.7k Posts 145 Posters 5.4m Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • fluffypillowF
      fluffypillow
      last edited by

      @Darksavior I've made a thingy like this: img

      Here's how to:

      • In GameGrid.qml change import QtQuick 2.3 to import QtQuick 2.9 at the top
      • Still in GameGrid.qml, add the following element at the bottom of the file (ie. right before the very last }):
          Text {
              // position the text at the top right corner of its parent
              anchors.top: parent.top
              anchors.right: parent.right
      
              // displayed text, color and alignment
              text: currentGame.title
              horizontalAlignment: Text.AlignRight
              color: "#fff"
              
              // font settings
              font.pixelSize: vpx(22)
              font.family: globalFonts.sans
              font.bold: true
      
              // some padding to make in pretty
              padding: vpx(8)
              leftPadding: vpx(16)
              rightPadding: leftPadding
      
              // transparent black backround behind the text
              Rectangle {
                  anchors.fill: parent
                  color: "#000"
                  opacity: 0.75
                  z: -1
              }
          }
      

      In the end it looked fine like this to me, but you can play with positioning the box (anchors.margins: <some number> or anchors.topMargin to just vertically), or with padding and font size to make the box/text bigger.

      Yeah, I know, I should really update that theme documentation :)

      DarksaviorD 1 Reply Last reply Reply Quote 1
      • DarksaviorD
        Darksavior @fluffypillow
        last edited by Darksavior

        @fluffypillow Thank you for taking the time. Time to spend another day implementing this :D
        Update: Ok got it running with no problems. It's glorious. I'll test out different font sizes but the positioning is good. I don't have the skills to create something like the official Switch nes menu, but this is just as good.

        1 Reply Last reply Reply Quote 0
        • N
          nemo93
          last edited by

          Thank you also @fluffypillow ! In case some folks are interested here are the changes I've made based on @fluffypillow's feedback to include:

          1. a video loop after which playback stops (very good to prevent Pi from overheating/crashing after a while).
            Edit file PanelRight.qml under layer_gameinfo.
          Video {
                      id: videoPreview
                      visible: playlist.itemCount > 0
          			loops: 2
          			
                      anchors { fill: parent; margins: 1 }
                      fillMode: VideoOutput.PreserveAspectFit
                      // fillMode: VideoOutput.Stretch
          			
          			playlist: Playlist {
                          // playbackMode: Playlist.Loop
          				playbackMode: Playlist.Sequential
                      }
                  }
          
          1. Metadata for date, players, genre, dev/publisher.
            Edit file PanelRight.qml under layer_gameinfo.
          text: {
                      var text_tmp = "";
          
                      if (!game)
                          return text_tmp;
          
                      if (game.releaseYear  > 0) {
          				//text_tmp += game.releaseYear ;
          				if (game.releaseMonth == "5")
          					var dateTime = Qt.formatDate(game.release, "d MMM yyyy");
          				else
          					var dateTime = Qt.formatDate(game.release, "d MMM. yyyy");
          				text_tmp += dateTime ;
          			}	
                      if (game.developer) {
                          if (text_tmp)
                              text_tmp += " \u2014 ";
          
                          text_tmp += game.developer;
                          if (game.publisher && game.developer !== game.publisher)
                              text_tmp += " / " + game.publisher;
                      }
          			if (game.genre) {
                          if (text_tmp)
                              text_tmp += "\u000A";
          				
          				text_tmp += game.genre;
          			}
          			if (game.players) {
                          if (text_tmp)
                              text_tmp += "\u000A";
          				
          				if (game.players > 1)
          					text_tmp += game.players + " players";
          				else
          					text_tmp += game.players + " player";
          			}
                      return text_tmp;
                  }
          

          Next after discovering this fantastic gameOS theme I'm going to try to implement rating as well! This theme is absolutely brilliant yet too demanding for my little Pi ;(

          Also one issue I don't recall if it has been already reported back to @fluffypillow is as follows. It's a bit of annoying even if minor.
          Description: after exiting a game once returning to Pegasus, the list focus is not on the game you just played. It's on the top/beginning of the list even if the game you just played is still being selected. You have to move to another game to set focus on the game you actually are selecting.
          To reproduce: pick a system where you have many games available at least enough game to scroll down a few screens. Then scroll down by a few screens and start any game. Exit the game.

          Have a lovely day!

          fluffypillowF 1 Reply Last reply Reply Quote 0
          • fluffypillowF
            fluffypillow @nemo93
            last edited by

            @nemo93 thanks! Yeah the main theme collected a few issues during all the development, I'd like do some fixing on it eventually.

            1 Reply Last reply Reply Quote 0
            • fluffypillowF
              fluffypillow
              last edited by

              Also a light weekly update! Still haven't had too much time, only slightly more than last week.

              I've looked into the GOG crashes on Windows, but since it occurs with only specific games installed, I couldn't reproduce it yet. In case someone is interested, here's a list of games, apparently one of them crashes Pegasus, but I don't know which one yet.

              As I was on Windows anyway, I've looked a bit more into adding LaunchBox support, and luckily it seems the files and metadata can be easily used. The only issue is actually detecting LaunchBox: since it's portable by default, there'd be a need to some UI panel for selecting where it is installed. I think I'll add some settingsfile-only field first.

              I've also just added macOS releases for the Metadata Editor.

              DarksaviorD 1 Reply Last reply Reply Quote 0
              • DarksaviorD
                Darksavior @fluffypillow
                last edited by Darksavior

                @fluffypillow I just got a playstation classic to play around with since it goes for $30US here. I had a $20 credit from a cancelled amazon hdd order so it was $10 for me.
                I currently use the retroboot option which boots me directly to retroarch (after I installed the bleemsync bootloader). Is there any interest in the future of porting pegasus to it?

                fluffypillowF 1 Reply Last reply Reply Quote 0
                • fluffypillowF
                  fluffypillow @Darksavior
                  last edited by

                  @Darksavior hm no idea whether it'd work, never worked with a PS Classic before. If I understand correctly, it can be made to run Linux distros, right? If it can run something like Debian, that'd increase the possibilities. The hardware specs seem to be closer to phone parts to me though, I wonder how well they are supported on Linux. If it can use hardware accelerated EGL, there might be a chance for a working port.

                  DarksaviorD 1 Reply Last reply Reply Quote 0
                  • DarksaviorD
                    Darksavior @fluffypillow
                    last edited by

                    @fluffypillow I have no idea myself. I followed some instructions to install bleemsync, modified boot loader with drivers that support more pads and file systems. After backing up the files it modified, I installed the retroboot distro to my usb stick which direct boots to retroarch.

                    1 Reply Last reply Reply Quote 0
                    • A
                      asahendrix
                      last edited by asahendrix

                      Greetings all!

                      I've been lurking for awhile, but I haven't posted anything yet. I don't have much experience with coding (or any really) - I took 2 java classes in college and an HTML class so it doesn't just look like matrix code (binary) to me.

                      I've been envisioning a theme and I've tried looking at the qml files for the themes that are available but I'm getting nowhere fast. I thought I might put a wishlist on here to see what advice/code you all could give me:

                      Here goes,

                      -Consoles are a vertical list to the left (similar to the simple theme where the gamelist is on the left).

                      -The highlighted console is the center of the list and stays centered whilest scrolling.

                      -The right 70% of the screen shows info of the highlighted console, with maybe a retail box of the console, video previews, release year, and description (also similar to the gamelist in the simple theme).

                      -The highlighted console font is colored in unlike the default pegasus theme - this can be done using system wheels from EmuMovies. The other consoles have a faded one color font (also similar to the pegasus default theme) that use the same logos that pegasus uses (from ES I believe).

                      -Once a console is selected (highlighted first then selected), a new page (or layer?) appears that is similar to the pegasus default theme only there is no menu at the top. Instead, the respective console wheel art is at the top left of the screen with a dark grey layer that that covers the entire top border (like pegasus - maybe the top 10% of the page). Grid view with a video snap on the left under the selected game description (again… like pegasus).

                      -Selecting a game brings up a new page that is the game page. This page can have a partly faded screen shot of the gameplay that covers the entire screen as a faded background layer. A 3D Box and a cartridge image can be on this game page somewhere as well as the amount of time played and a game rating. With the game description as well.

                      -I’d like to have background music playing. I figured on just getting a 1-2 hour mp3.

                      I'm on a Pi 3B+

                      Here is a rendering from the user lomax2k - this is pretty close to the game page that I'd like so big props to him/her cause this looks incredible. alt text

                      Thank you guys for your amazing work on Pegasus and for any help you might could give me!!!

                      A fluffypillowF 2 Replies Last reply Reply Quote 1
                      • A
                        asahendrix @asahendrix
                        last edited by

                        @asahendrix AAB658A6-A1DD-4D74-BEA1-9C50AB478C45.jpeg

                        Mostly the formatting on the left is a good example of how I’d like the consoles menu to look

                        1 Reply Last reply Reply Quote 0
                        • J
                          jetbootjack
                          last edited by

                          Hi,

                          Probably not the right place to post this, but I can find no other discussion for Pegasus online - so here goes. This is not a RetroPie based question about the FE.

                          On MacOS (Mojave) no video plays - I am guessing there is some config I am not doing, but have no idea where to start to resolve the dependency.

                          On Windows 10 initial startup crashes out after about a minute - gets to 82 games (my installed steam games amount) - then pops back to desktop, I can see no error in the log, but suspect I am not looking for the right thing...

                          If there is a better place for me to ask these questions please let me know.

                           sTeVE
                          
                          1 Reply Last reply Reply Quote 0
                          • S
                            spektor56
                            last edited by spektor56

                            I have a launchbox importing program mostly working (metadata + assets). I will post the source code on github when it's in a state that's easily usable by other people. Also, for people that want to get 64-bit retroarch working in pegasus:

                            launch: am start
                             --user 0
                             -n com.retroarch.aarch64/com.retroarch.browser.retroactivity.RetroActivityFuture
                             -e ROM "{file.path}"
                             -e LIBRETRO /data/data/com.retroarch.aarch64/cores/mesen_libretro_android.so
                             -e CONFIGFILE /storage/emulated/0/Android/data/com.retroarch.aarch64/files/retroarch.cfg
                             -e IME com.android.inputmethod.latin/.LatinIME
                             -e DATADIR /data/data/com.retroarch.aarch64
                             -e APK /data/app/com.retroarch.aarch64-Lw-HOvybuHeHxQbE451e4g==/base.apk
                             -e SDCARD /storage/emulated/0
                             -e DOWNLOADS /storage/emulated/0/Download
                             -e SCREENSHOTS /storage/emulated/0/Pictures
                             -e EXTERNAL /storage/emulated/0/Android/data/com.retroarch.aarch64/files
                             --activity-clear-top
                            
                            1 Reply Last reply Reply Quote 2
                            • fluffypillowF
                              fluffypillow @asahendrix
                              last edited by

                              @asahendrix Looks nice! Yeah, it's perfectly doable, and probably wouldn't be that difficult -- I know, I should really update the documentation :) I can't promise I'll be able to work on this (I keep making way too many promises); in case you're interested in the code, there's still the QML documentation collection, which unfortunately while not outdated, isn't particularly a fun read either. Hope I'll have some time soon...

                              @jetbootjack perhaps @PlayingKarrde could comment on the Mac issue? I'm afraid I can only do a limit amount of testing there :(

                              As for Windows, certain GOG games seem to cause a crash at the moment. This issue keeps popping up so I think I'll make GOG support off by default for now. Could you tell whether you have any of these games installed?

                              PlayingKarrdeP A J 3 Replies Last reply Reply Quote 1
                              • fluffypillowF
                                fluffypillow
                                last edited by

                                Also as you've noticed there haven't been too many updates lately; I'm a bit low on development time at the moment, maybe for the next 1-2 weeks too, but after that I should have more time.

                                1 Reply Last reply Reply Quote 0
                                • PlayingKarrdeP
                                  PlayingKarrde @fluffypillow
                                  last edited by

                                  @fluffypillow said in Announcing Pegasus Frontend:

                                  @jetbootjack perhaps @PlayingKarrde could comment on the Mac issue? I'm afraid I can only do a limit amount of testing there :(

                                  Hmmm video works fine for me on MacOS (also Mojave) but I can't remember if I did anything special to get it working (it was so long ago). It's possible that I used Perian but I can't say for sure. Maybe try installing that and see if you have any success.

                                  J 1 Reply Last reply Reply Quote 0
                                  • A
                                    asahendrix @fluffypillow
                                    last edited by

                                    @fluffypillow thank you so much for the reply! I’m going to go through the documentation and this qml ebook. Say, the referenced ebook chapters in the documentation don’t have a working link. Is this the ebook I need to study? https://qmlbook.github.io/

                                    Thank you again!!!

                                    fluffypillowF 1 Reply Last reply Reply Quote 0
                                    • S
                                      spektor56
                                      last edited by spektor56

                                      I made a Plugin for Launchbox to help exporting to pegasus:

                                      https://github.com/spektor56/PegasusExportPlugin/releases

                                      This is a preview release. Right now it exports all games, no filters.

                                      to see where to put the files check the readme:

                                      https://github.com/spektor56/PegasusExportPlugin

                                      for assets it only exports:
                                      boxFront
                                      logo
                                      background
                                      video

                                      I will add the other types later

                                      1 Reply Last reply Reply Quote 0
                                      • fluffypillowF
                                        fluffypillow @asahendrix
                                        last edited by

                                        @asahendrix ah yes that's the one. Seem like the page urls changed recently.

                                        A 1 Reply Last reply Reply Quote 0
                                        • A
                                          asahendrix @fluffypillow
                                          last edited by

                                          @fluffypillow excellent thank you! I’ll start rolling my sleeves up - even though I should be studying for the A+ :/ lol

                                          1 Reply Last reply Reply Quote 0
                                          • J
                                            jetbootjack @PlayingKarrde
                                            last edited by

                                            @PlayingKarrde - unfortunately that does not work (I don't think Perian is Mojave compatible) ...

                                            With or without Perian when I select a game in the grid view or open one and select preview I get a brief flash of a static image before the video window turns black.

                                                  sTeVE
                                            
                                            asdfgasfhsnA 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            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.