RetroPie forum home
    • 最新
    • 標籤
    • 熱門
    • Home
    • Docs
    • 註冊
    • 登入

    Announcing Pegasus Frontend

    已排程 已置頂 已鎖定 已移動 Ideas and Development
    frontendpegasusc++developmentqml
    1.7k 貼文 145 Posters 6.3m 瀏覽
    正在載入更多貼文
    • 從舊到新
    • 從新到舊
    • 最多點贊
    回覆
    • 在新貼文中回覆
    登入後回覆
    此主題已被刪除。只有擁有主題管理權限的使用者可以查看。
    • lilbudL
      lilbud @Darksavior
      最後由 lilbud 編輯

      @Darksavior I'm actually on PC, and Genesis plus Gx didn't play audio the last time I tried.

      It will either play static or no sound at all

      Update: My save doesn't work with a CHD file and Genesis Plus GX

      Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

      Backlog: http://backloggery.com/lilbud

      1 條回覆 最後回覆 回覆 引用 0
      • lilbudL
        lilbud
        最後由 編輯

        Figured it out, I have to have a metadata txt file and a media folder in every subfolder for every sega cd game I want to add.

        There probably is a better way, but this works for now

        Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

        Backlog: http://backloggery.com/lilbud

        1 條回覆 最後回覆 回覆 引用 0
        • PlayingKarrdeP
          PlayingKarrde
          最後由 PlayingKarrde 編輯

          @lilbud Have you tried referencing the rom file (in this case the .cue) including the subfolder name in the path? The metadata.txt does support folder paths.

          So instead of

          file: Popful Mail.cue
          

          it would be:

          file: ./<folder name>/Popful Mail.cue
          

          I can't remember if it's forward slash or backslash so try both.

          lilbudL 1 條回覆 最後回覆 回覆 引用 0
          • lilbudL
            lilbud @PlayingKarrde
            最後由 編輯

            @PlayingKarrde I've tried that, but that causes the art and metadata to disappear. The only way to show the art and metadata is the move the both into the "Popful Mail" subfolder. Then add each folder as a rom path within pegasus.

            Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

            Backlog: http://backloggery.com/lilbud

            1 條回覆 最後回覆 回覆 引用 0
            • fluffypillowF
              fluffypillow
              最後由 編輯

              @lilbud so you have the following structure, right?

              roms
              +-- metadata.pegasus.txt
              +-- popful
                  +-- game.cue
                  +-- game.iso
                  +-- track01.wav
                  +-- track02.wav
                  ...
              

              In this case, the metadata file would look something like this:

              collection: Sega CD
              files:
                popful/game.cue
                ...
              
              game: Popful Mail
              file: popful/game.cue
              description: Some details here
              

              And, because popful/game.cue is under the sudirectory popful, the media files would be looked under media/popful/Popful Mail/, eg. like this:

              roms
              +-- metadata.pegasus.txt
              +-- media
              |   +-- popful
              |       +-- Popful Mail
              |           +-- box_front.png
              |           +-- logo.png
              |           +-- video.mp4
              +-- popful
                  +-- game.cue
                  +-- game.iso
                  +-- track01.wav
                  +-- track02.wav
              

              This setup should work fine, but feel free to report it if you run into any troubles.

              1 條回覆 最後回覆 回覆 引用 0
              • lilbudL
                lilbud
                最後由 lilbud 編輯

                I may have brought it up before (can't really remember), but would it be possible to add support for the how long to beat website as a metadata tag? The site shows how long each game takes to beat, normally and completing everything.

                I found this searching around, it is an api wrapper for the site, not sure if it'd be of any help though.

                https://github.com/ckatzorke/howlongtobeat

                The Python one is a little more up to date: https://github.com/ScrappyCocco/HowLongToBeat-PythonAPI

                Creator of the Radiocade: https://retropie.org.uk/forum/topic/6077/radiocade

                Backlog: http://backloggery.com/lilbud

                fluffypillowF 1 條回覆 最後回覆 回覆 引用 1
                • fluffypillowF
                  fluffypillow @lilbud
                  最後由 編輯

                  @lilbud that's a good idea, I could imagine seeing that at the game details. However getting the metadata for a particular game would have to be handled by a scraper, as that can't be done in Pegasus without guesswork (as games can be present in multiple collections, can have multiple files, etc.). [I wonder if there's someone who'd like to write a modular scraper?]

                  DarksaviorD 1 條回覆 最後回覆 回覆 引用 0
                  • DarksaviorD
                    Darksavior @fluffypillow
                    最後由 Darksavior 編輯

                    @fluffypillow Have you tried the latest dev image? https://files.retropie.org.uk/images/weekly/retropie-buster-4.5.8-rpi4.img.gz

                    It now supports hdmi modes/groups where it previously didn't. So the boot process, emulators, and ES now use the resolution that's set in config.txt.
                    Well, pegasus doesn't :). It ignores those settings and will still display at 4k30hz.
                    I've been using hdmi_ignore_edid=0xa5000080 for a few months now to force it all to 1080p.

                    fluffypillowF 1 條回覆 最後回覆 回覆 引用 0
                    • fluffypillowF
                      fluffypillow @Darksavior
                      最後由 編輯

                      @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 條回覆 最後回覆 回覆 引用 0
                      • DarksaviorD
                        Darksavior @fluffypillow
                        最後由 編輯

                        @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 條回覆 最後回覆 回覆 引用 0
                        • mituM
                          mitu Global Moderator @Darksavior
                          最後由 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 條回覆 最後回覆 回覆 引用 0
                          • DarksaviorD
                            Darksavior @mitu
                            最後由 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 條回覆 最後回覆 回覆 引用 0
                            • mituM
                              mitu Global Moderator @Darksavior
                              最後由 編輯

                              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 條回覆 最後回覆 回覆 引用 0
                              • DarksaviorD
                                Darksavior @mitu
                                最後由 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 條回覆 最後回覆 回覆 引用 0
                                • fluffypillowF
                                  fluffypillow
                                  最後由 編輯

                                  @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 條回覆 最後回覆 回覆 引用 1
                                  • DarksaviorD
                                    Darksavior @fluffypillow
                                    最後由 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 條回覆 最後回覆 回覆 引用 0
                                    • mituM
                                      mitu Global Moderator @Darksavior
                                      最後由 編輯

                                      @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 條回覆 最後回覆 回覆 引用 0
                                      • DarksaviorD
                                        Darksavior @mitu
                                        最後由 Darksavior 編輯

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

                                        1 條回覆 最後回覆 回覆 引用 0
                                        • mituM
                                          mitu Global Moderator
                                          最後由 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 條回覆 最後回覆 回覆 引用 1
                                          • fluffypillowF
                                            fluffypillow
                                            最後由 編輯

                                            @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 條回覆 最後回覆 回覆 引用 0
                                            • 第一個貼文
                                              最後的貼文

                                            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.