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.0m 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 @Darksavior
      last edited by

      @Darksavior hm what exactly happens? Pegasus shouldn't change the current resolution, just use whatever currently is active. Does it happen on Pi 4 and non-4 too? Will see if I can try it the afternoon.

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

        @fluffypillow So if I set the resolution on my pi4 to 1080p in the config.txt, boot and emulators are 1080p, Pegasus will change to 4k on my 4k TV.

        I haven't tried it on a pi3.

        mituM 1 Reply Last reply Reply Quote 0
        • mituM
          mitu Global Moderator @Darksavior
          last edited by mitu

          @Darksavior Does tvservice -s still lists the 4k video modes ?
          Try adding to config.txt:

          hdmi_max_pixel_freq:0=200000000
          hdmi_max_pixel_freq:1=200000000
          

          This should exclude the 4k video modes from being included
          (from https://www.raspberrypi.org/forums/viewtopic.php?f=29&t=255970&p=1579140&hilit=4k+disable#p1579140)

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

            @mitu I'll try that, but the point that I'm trying to make is, ES will change what res is in config.txt. Pegasus does not. I bet if I try it on my 1440p monitor that Pegasus will change to that res as well. It's ignoring it.

            mituM 1 Reply Last reply Reply Quote 0
            • mituM
              mitu Global Moderator @Darksavior
              last edited by

              My guess is that QT picks the first video mode (as detected by KMSDRM, which gets it via EDID from the display) instead of using the current video mode - while SDL2 (which EmulationStation uses underneath) will keep the current video mode.

              Try running with QT_QPA_EGLFS_DEBUG=1 from the command line and see if you get some information on how QT picks the current video mode.

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

                @mitu

                [i] EGL_BUFFER_SIZE: 24
                [i] EGL_ALPHA_SIZE: 0
                [i] EGL_BLUE_SIZE: 8
                [i] EGL_GREEN_SIZE: 8
                [i] EGL_RED_SIZE: 8
                [i] EGL_DEPTH_SIZE: 24
                [i] EGL_STENCIL_SIZE: 8
                [i] EGL_CONFIG_CAVEAT: 12344
                [i] EGL_CONFIG_ID: 20
                [i] EGL_LEVEL: 0
                [i] EGL_MAX_PBUFFER_HEIGHT: 4096
                [i] EGL_MAX_PBUFFER_PIXELS: 0
                [i] EGL_MAX_PBUFFER_WIDTH: 4096
                [i] EGL_NATIVE_RENDERABLE: 1
                [i] EGL_NATIVE_VISUAL_ID: 875713112
                [i] EGL_NATIVE_VISUAL_TYPE: 12344
                [i] EGL_SAMPLES: 0
                [i] EGL_SAMPLE_BUFFERS: 0
                [i] EGL_SURFACE_TYPE: 4
                [i] EGL_TRANSPARENT_TYPE: 12344
                [i] EGL_TRANSPARENT_BLUE_VALUE: 0
                [i] EGL_TRANSPARENT_GREEN_VALUE: 0
                [i] EGL_TRANSPARENT_RED_VALUE: 0
                [i] EGL_BIND_TO_TEXTURE_RGB: 0
                [i] EGL_BIND_TO_TEXTURE_RGBA: 0
                [i] EGL_MIN_SWAP_INTERVAL: 1
                [i] EGL_MAX_SWAP_INTERVAL: 1

                I also tried tvservice-s with hdmi_group=1 and hdmi_mode=16 (1080p60) and it lists state 0xa [HDMI CUSTOM RGB lim 16:9], 1920x1080 @ 60.00Hz, progressive

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

                  @Darksavior tried out the image you linked, for my 1080p TV I've set the resolution to 720p through raspi-config for the testing. For me this makes the image appear only at the upper left corner of the screen (ie. no resolution change), ES displays a black screen and Pegasus' UI doesn't appear (log says Failed to commit atomic request (code=-22)). Terminal works fine though.

                  As for logging, you can get even more details if you run it with QT_LOGGING_RULES="qt.qpa.eglfs.kms=true". This prints out the HDMI info and KMS details too for me.

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

                    @fluffypillow Odd. No issues here. I add the resolution manually from config.txt I do tend to update the retropie-setup script to latest before testing anything. I also tend to update core packages from source too.

                    Here's the log. This is with forcing raspbian to 1080p. I tested beforehand and boot,emulators, and ES boot to 1080p (or 720p, whatever res I choose it's used)
                    https://pastebin.com/P8r0QsSK

                    mituM 1 Reply Last reply Reply Quote 0
                    • mituM
                      mitu Global Moderator @Darksavior
                      last edited by

                      @Darksavior If you're up-to-date, you should have a new package used by runcommand installed - mesa-drm. This provides a cli utility that prints the video resolutions supported and the current one - /opt/retropie/supplementary/mesa-drm/modetest. Can you run it and post also the output on pastebin.com ?

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

                        @mitu
                        https://pastebin.com/YYVLzQYk
                        This is using the res of 1080p set in config.txt.

                        1 Reply Last reply Reply Quote 0
                        • mituM
                          mitu Global Moderator
                          last edited by mitu

                          @Darksavior yes, it looks like QT is picking the first preferred video mode (which is 4k@30). Looks similar to https://www.raspberrypi.org/forums/viewtopic.php?t=250677 (minus the EDID part probably).

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

                            @Darksavior you can affect the mode selection like this:

                            Create a JSON file somewhere with the following content:

                            {
                              "outputs": [
                                {
                                  "name": "HDMI1",
                                  "mode": "1280x720"
                                }
                              ]
                            }
                            

                            Then set QT_QPA_EGLFS_KMS_CONFIG to the path of this file, eg . QT_QPA_EGLFS_KMS_CONFIG=/home/pi/egl.json.

                            With this Pegasus actually changes my TVs resolution to 720p and does show the UI. According to the Qt docs, "When mode is not defined, the system's preferred mode is chosen. The accepted values for mode are: off, current, preferred, skip, widthxheight, widthxheight@vrefresh, or a modeline string."

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

                              @fluffypillow So it can't be made to read the boot's config.txt. I mean, I can always use mitu's suggestion or what I've been using hdmi_ignore_edid=0xa5000080

                              mituM 1 Reply Last reply Reply Quote 0
                              • mituM
                                mitu Global Moderator @Darksavior
                                last edited by

                                @Darksavior if you don't have anything configured in config.txt, then there's no indication (in the config) of the current resolution - so you can't rely on that file to have the information about the current video mode.
                                Maybe using mode: current in the config file would use your current resolution instead of switching to preferred ?

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

                                  @mitu I'm setting it to 1080p in config.txt with all of these tests. I thought it was something that could be fixed in pegasus so it could read it as well. I guess only sdl2 stuff can read it.

                                  mituM 1 Reply Last reply Reply Quote 0
                                  • mituM
                                    mitu Global Moderator @Darksavior
                                    last edited by

                                    @Darksavior said in Announcing Pegasus Frontend:

                                    I guess only sdl2 stuff can read it.

                                    SDL2 doesn't read anything, it's just not doing any mode settting to another video mode (by default) when initializing the KMSDRM video backend.

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

                                      It's been a while, about time to have a weekly update! So during the holidays I've started experimenting with a new tool, and I think it might be usable enought for a release.

                                      In short, the script can convert all ES themes into Pegasus themes.

                                      Now this thread is quite large already, so for more details look into this thread.

                                      In other news, this week I've fixed a possible crash caused by having too many themes :)

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

                                        Weekly update!

                                        • Added Chinese translation (thanks @MephistoSatanDevil)
                                        • Updated the Portuguese translation (should have done this sooner)
                                        • Fixed a bug where in certain cases if the theme path was manually edited in settings file, Pegasus couldn't find a theme there
                                        • Minor logging improvements
                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          Rakoda
                                          last edited by

                                          Hello I really like this front end and I'm experimenting with it. Currently I have set it up all portable on Windows and it works fine. The only problem i found was that a favorite game will saved full path including drive so that doesn't work if you used portable liked me.

                                          I hope I have explained good English is not my native language.

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

                                            @Rakoda Ok, this should be fixed now in the latest release. Thanks for the report!

                                            R 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.