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

    Announcing Pegasus Frontend

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

      @fluffypillow In the hope that you may be able to replicate the issue of Pegasus reloading when I select to Exit Pegasus from the Quit menu, here is my set-up.

      I have a PS3 controller connected by USB and a Rii mini wireless keyboard plugged into the pi.

      I have built the Linux Joystick Mapper binary and placed it in the /home/pi/joymap/ folder for testing purposes. In the same folder, I have the mapper file, pegasus.map.

      In the folder home/pi/.config/pegasus-frontend/scripts, I have placed a kill-joymap.sh script in the game-start and quit folders and start-joymap.sh in the game-start folder.

      You can find copies of all of these files at my gist.

      To replicate the issue, I launch a rom and then exit back to Pegasus. From the Quit menu in Pegasus, I choose to Exit Pegasus. The console will briefly appear before Pegasus restarts. I have included a copy of lastrun.log when this happens in the gist.

      My thinking is that the line Gamepad: Could not read from input device (No such device) in the lastrun.log suggests that, for some reason, the PS3 controller is not available. Because of this, the Linux Joystick Mapper program fails to run and the PS3 controller can't be used in Pegasus after it has restarted.

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

        @AkiAfroo Pegasus looks for the ES2 directory .emulationstation in you home dir, C:/Documents and Settings/Username/ on Windows. You can override the home dir by defining the environmental variable PEGASUS_HOME before launching Pegasus (HOME is also supported). The easiest way to do that is to create a .bat file, eg. launch.bat with the following content:

        set PEGASUS_HOME=C:/some/directory
        pegasus-fe.exe
        
        

        and start Pegasus using this script. The directory you set PEGASUS_HOME to should contain the .emulationstation folder. You can use whatever editor you like for creating the file (Notepad should be fine too).

        @dudleydes Thanks for the detailed report! It seems the exit issue is caused by your start-joymap.sh, where you launch a new instance of Pegasus. When you exit from that, it is when your script actually ends, and thus the original Pegasus is restored.

        D 1 條回覆 最後回覆 回覆 引用 0
        • D
          dudleydes @fluffypillow
          最後由 編輯

          @fluffypillow Thanks for the reply. I can see the logic now and how the start-joymap.sh script would be starting a new instance of Pegasus each time I exited a rom. Not the most efficient way of doing things!

          I searched online how to run commands in the background and found that removing the command to launch Pegasus in start-joymap.sh but leaving the ampersand should work. I have tested this and it seems to work fine.

          AkiAfrooA 1 條回覆 最後回覆 回覆 引用 0
          • AkiAfrooA
            AkiAfroo @dudleydes
            最後由 編輯

            @fluffypillow thanks i will try as soon as..

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

              @dudleydes I was just playing around with multiple PS3 controllers, and noticed that you can run xboxdrv in daemon mode, which should solve the reconnection issues. I've launched it like this:

              sudo xboxdrv --detach-kernel-driver --mimic-xpad -s --next-controller -D --dbus disable
              

              There was a bug in xboxdrv where unplugged controllers didn't un-register themselves, but that was fixed in version 0.8.6. You might want to try that if you have troubles.
              Also you can see a bunch of debug information if you set the env var QT_LOGGING_RULES="qt.gamepad=true" before launching Pegasus.

              D 1 條回覆 最後回覆 回覆 引用 0
              • D
                dudleydes @fluffypillow
                最後由 編輯

                @fluffypillow Thanks for this. I shall take a look at it.

                The issue regards xboxdrv wasn't unplugging and replugging the PS3 controller. It was more that it couldn't be used in Pegasus and in emulators. A possibility would be to reconfigure the controller running with xboxdrv but I have spent a lot of time configuring my PS3 controller, often for individual games such as DOS games, so I'd rather not go through that again.

                I have the Linux Joystick Mapper program working as I would like now. I can exit Pegasus to the CLI without it restarting and I have placed a copy of my original start-joymap.sh script in the home folder, renaming it start-pegasus.shso that I can launch Pegasus with the mapper program from the command line, much in the way ES2 is launched by running the command emulationstation. I have done further testing in launching games that require xboxdrv or the Linux Joystick Mapper and everything is working fine with no conflicts.

                xboxdrv is probably the better solution as it can already be installed from the RetroPie script (incidently it's version 0.8.8 that is installed). It's just a case of being able to use the PS3 controller with xboxdrv in Pegasus and the default configurations in the emulators. If you find a solution then let me know. I'd be happy to test and, if successful, demonstrate to interested users how to set up the Pegasus frontend.

                1 條回覆 最後回覆 回覆 引用 0
                • T
                  tronkyfran
                  最後由 編輯

                  @fluffypillow Ive got a question about a possible functionality of this frontend:
                  Ive had to leave on standby one new theme because of the daunting task of converting so many scraped images(Game covers) into a different perspective. The fact is that if I had something like a "cornerpin" function and an add Mode for mixing images it would be really easy and people could use their scraped images. I know Im maybe asking for too much, thx for your work.

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

                    @tronkyfran you can rotate every UI element by all three axes ("3D-like"), around a custom point, and you can scale horizontally and vertically. You can also write custom OpenGL shaders, which would allow you to do pretty much anything with a picture.

                    1 條回覆 最後回覆 回覆 引用 1
                    • T
                      tronkyfran
                      最後由 編輯

                      Every UI element means vídeo preview box is included? If thats right them I just would need to test if the raspberry gives enough performance to run my theme, awesome!!!

                      fluffypillowF lilbudL 2 條回覆 最後回覆 回覆 引用 1
                      • fluffypillowF
                        fluffypillow @tronkyfran
                        最後由 編輯

                        @tronkyfran yup, including the video. You can also animate these properties, making things spinning or moving things around the screen. Or make people feel dizzy :)

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

                          @tronkyfran said in Announcing Pegasus Frontend:

                          enough performance to run my theme

                          Wait, are you making a theme for Pegasus? how?

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

                          Backlog: http://backloggery.com/lilbud

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

                            Got the analog navigation working, I'll clean up the code a bit tomorrow then merge it.

                            1 條回覆 最後回覆 回覆 引用 1
                            • T
                              tronkyfran
                              最後由 編輯

                              @lilbud Well, not exactly "making", I have a lot of assets for an emulationstation theme, but it implied to make a lot of custom game art for it and I simply dont have the time right now. But if I can reuse the scraped art somehow....thats a different thing. The fact is that I have now to take a look to the theming process here in pegasus and how to adapt the assets, so I have a long way to go yet, but at least there is a possibility for my idea to come true :D
                              This were some sketches of it: I would need to reproject cart art and video preview, and suppose I will have to let go the depth of field blur and some other things. Took a look to opengl shading and it should help a lot... :D
                              alt text

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

                                @tronkyfran Nice! Yes, it'd be possible to create such a theme, but yeah getting the cart art right might be slightly difficult (but not impossible). There's a bunch of built-in shaders as well, so for just blurring you won't need to write them manually. Here's a list of available graphical effects.

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

                                  Weekly changelog:

                                  • Pegasus can now be controlled with more than one gamepad (in case you had problems before; also this item would need some testing)
                                  • added gamepad analog stick navigation support
                                  • the list of languages is no longer hardcoded
                                  • minor changes due to cleaning up the code
                                  DarksaviorD 1 條回覆 最後回覆 回覆 引用 1
                                  • DarksaviorD
                                    Darksavior @fluffypillow
                                    最後由 Darksavior 編輯

                                    @fluffypillow Thanks for the analog controls. Seems to work fine.

                                    I just tried it now. Sad to see there's now spacing in between games. I really liked the way they were before. Hopefully you'll add choices in how it looks in the future. Have you thought on how to adjust the layout? I'd figure rows of 5, 4, 3, or 2 horizontal. 4 seemed really well for sfc and cd games. I'd like to see how well 3 looks for arcade games.

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

                                      @darksavior Pegasus should show 4 columns for platforms with wide box art (eg. SNES) and 5 for tall ones (eg. NES). Previously it was manually set to 5 for the NES, but a few weeks ago I've changed it to guess the columns from the actual images. It should look like this:
                                      https://snag.gy/35f7we.jpg
                                      https://snag.gy/cOAIy6.jpg

                                      If there are random spacings around, that's likely a bug (can't test with all possible box arts after all).

                                      AndersHPA 1 條回覆 最後回覆 回覆 引用 0
                                      • AndersHPA
                                        AndersHP @fluffypillow
                                        最後由 編輯

                                        @fluffypillow It looks so awesome!
                                        What's the status in regards to us non-coders, plain gamers?

                                        Does it make sense to install it now, or should we wait a couple of months?

                                        My "Bubble Bobble" Themed Bartop Arcade
                                        My Gameboy

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

                                          @andershp it should be fairly stable and work fine for general use. Its just that it's not too user friendly yet, lacks documentation and some features are not yet done (game entry editing, system informations, custom config files, a clock in the corner). You can give it a try, see how it works for you.
                                          Steam support and RetroArchivements integration is also planned, a theme repository and an update checker might be useful too, and we'd need a nice logo/icon in the future as well.

                                          lilbudL AndersHPA 2 條回覆 最後回覆 回覆 引用 0
                                          • lilbudL
                                            lilbud @fluffypillow
                                            最後由 編輯

                                            @fluffypillow said in Announcing Pegasus Frontend:

                                            we'd need a nice logo/icon in the future as well.

                                            I'll be here if you need help

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

                                            Backlog: http://backloggery.com/lilbud

                                            1 條回覆 最後回覆 回覆 引用 1
                                            • 第一個貼文
                                              最後的貼文

                                            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.