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

    Announcing Pegasus Frontend

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

      @AndersHP @Newellj79 Yeah someone (me?) should really make a frontend chooser dialog. I've just updated the first post with the launching info, thanks.

      @Darksavior still on my to do list, sorry -- I'd like to add it by implementing theme specific options, which could then be changed in a settings menu.

      @meaning I tend to hang out in the #retropie channel on afternoons (GMT+2).

      PS. We're over 500 posts now, wow!

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

        So, testing this I realized that we can make a system selection screen with video backgrounds, at least on Windows ( performance hit on Pi could be Big, suppose). OMG.

        herb_fargusH 1 條回覆 最後回覆 回覆 引用 0
        • herb_fargusH
          herb_fargus administrators @tronkyfran
          最後由 編輯

          @tronkyfran I imagine it could replicate most of launchbox's functionality eg coverflow etc.

          If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

          Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

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

            @herb_fargus As far as I know, the limit is the computer performance, really really excited about this, I'm testing this since fluffypillow released the tutorials and will probably make a tronkyfran's theme adaptation for this to train a bit myself on qml before going to my oldroom-like theme.

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

              @fluffypillow I tried daphne today and the games won't show in pegasus. I don't even see the daphne gamelist xml being processed when pegasus is loading. Daphne is viewable in ES. Any ideas?

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

                @fluffypillow said in Announcing Pegasus Frontend:

                [directory of the rom]/media/

                Could it also check [directory of the rom]/images/ for those of us who have been using Steven Selphs scraper with the option to put media in the roms folder under "images" ?

                RP 4.7.1 • Pi4 4Gig • CanaKit Aluminum • 64GB microSD • 1920x1080 BarTop [2 Sanwa sticks]

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

                  @darksavior Interesting, could you check the es_systems.cfg that the Daphne rom directory is indeed there, and the gamelist.xml is either in that folder, or under ~/.emulationstation/gamelists/daphne/gamelist.xml? If everything seems to be in place, please upload the systems and gamelist file somewhere and I'll check them. Did this work in earlier versions?

                  @Alturis You can create a symlink (an "alias" for the folder) with the name media, pointing to your images directory. Here's how:

                  cd ROM_DIRECTORY
                  ln -s images media
                  

                  If you now open the media dir, you'll see the contents of images, and Pegasus should be able to access them too.

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

                    @fluffypillow
                    Everything's in~/.emulationstation/gamelists/ . ES has no issues with daphne. I never tried daphne before so I can't say if it worked in pegasus in the past. I'm using stretch if it matters. https://www.dropbox.com/s/f2yval4afi79rfp/gamelist.xml?dl=0
                    https://www.dropbox.com/s/yajohaz7homa118/es_systems.cfg?dl=0

                    Pegasus doesn't even see daphne's gamelist.xml :

                    0_1518491145174_20180212_184106_preview.jpeg

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

                      @Darksavior Ah I see, Daphne is that emulator that stores games in directories, right? Pegasus probably didn't find any files with .daphne extension, so it skipped processing the gamelist XML. I can add directory search support, in case this caused the issue.

                      1 條回覆 最後回覆 回覆 引用 0
                      • AlturisA
                        Alturis @Darksavior
                        最後由 Alturis 編輯

                        @fluffypillow said in Announcing Pegasus Frontend:

                        You can create a symlink (an "alias" for the folder) with the name media, pointing to your images directory.

                        Ah. Good tip. Linux/Unix is not my first language. ;)

                        Will have to think in those terms moving forward.

                        RP 4.7.1 • Pi4 4Gig • CanaKit Aluminum • 64GB microSD • 1920x1080 BarTop [2 Sanwa sticks]

                        1 條回覆 最後回覆 回覆 引用 0
                        • S
                          shantigilbert
                          最後由 shantigilbert 編輯

                          @fluffypillow amazing work, been following since the beginning and I managed to compile it for the Amlogic S905 using LibreElec, had some problems with QT but finally got 5.9.1 to compile. I am trying to switch from ES to Pegasus, I know its still in early development but I am amazed and how fast it loads vs ES (ES takes about 5 or more minutes with all my roms, vs less than 1 minute for Pegasus) and how well it runs on the s905, besides other bugs that ES seems to have on my build, but that's not for this thread.

                          Anyways I have 3 small questions I could not really find the answer to (or maybe I didn't search that well), hope I won't bother you to much with them.

                          1. I see you can run scripts after events, like quit or so, are these scripts regular .sh scripts? yes they are :) but there is no option to run them at start?
                          2. I currently have a lot of ROMS with all the meta data and images for ES, Pegasus loads them up correctly, but it shows the box art as the thumbnail and the video as preview, Is there a way without changing/deleting other images to select what is shown instead of the box art? or does it depend on the theme?
                          3. I see there is a way to select "Favorites" but I could not find how to mark a game as favorite, is this still not implemented?

                          Edit: I see the mark as favorite is not yet implemented, but can be added manually.

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

                            @shantigilbert Thanks, good to hear it works for you too! Feel free to report if you get any issues on the S905. As for the questions,

                            1. Pegasus will try to run any executable files it finds, be it shell script, a program or eg. python code (just mark them executable with chmod +x filename). There's no on-start script, as you usually want such startup script to fully finish before a program starts (eg. preparing the file system, setting up network sockets, etc.). You can always just write a launch/wrapper script for this task.
                            2. Yes, that depends on the theme (but theme makers can add support for changing what's displayed).
                            3. Yeah, marking as favorite is not yet implemented, but if it's marked as one in ES2's gamelist, it will be recognized.
                            S 1 條回覆 最後回覆 回覆 引用 0
                            • S
                              shantigilbert @fluffypillow
                              最後由 編輯

                              @fluffypillow said in Announcing Pegasus Frontend:

                              @shantigilbert Thanks, good to hear it works for you too! Feel free to report if you get any issues on the S905.

                              Thank you! I actually did ran into a problem, Since you are extremely good at QT maybe you can shed some light on this subject? not really with Pegasus itself but I can't seem to run it as a service, I know it sounds stupid, why would I need to run it as a service? but since I run it from an add-on in Kodi I need to run it as a service so I can kill kodi after launch, if I just run it directly Pegasus gets killed with kodi :(

                              I've read a few things about QT and running them as a service and all I have found is that it needs the QTservice plugin, but unfortunately I have no idea how to implement that.

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

                                @shantigilbert Hm I'm not really familiar with Kodi addons, how does it launch programs exactly? What exactly is a "service" in this context (not a systemd module or a daemon, I suppose)? Naively thinking, I'd solve this by writing an addon that calls a shell script which kills Kodi and launches Pegasus. Would that be feasible?

                                S 1 條回覆 最後回覆 回覆 引用 0
                                • S
                                  shantigilbert @fluffypillow
                                  最後由 編輯

                                  @fluffypillow said in Announcing Pegasus Frontend:

                                  @shantigilbert Hm I'm not really familiar with Kodi addons, how does it launch programs exactly? What exactly is a "service" in this context (not a systemd module or a daemon, I suppose)? Naively thinking, I'd solve this by writing an addon that calls a shell script which kills Kodi and launches Pegasus. Would that be feasible?

                                  Running it as a service with systemd (systemctl start pegasus, in this case)

                                  Kodi seems to kill any program or shell script that was called from within when it closes, so lest say I call Pegasus and after that I kill Kodi, Pegasus starts loading but as soon as Kodi is killed, so is Pegasus. I honestly don't know if that is how Linux works, but maybe I am missing something very dumb.

                                  running them is very straight forward

                                  xbmc.executebuiltin('System.Exec("/usr/bin/pegasus-fe.sh")')

                                  Anyways if you try to run Pegasus as a systemd service it complains it can't find the libraries required, even if they are in the LD_LIBRARY_PATH which is what I've found on google from people trying to run QT apps as services.

                                  in comparison running ES,Retroarch, advmame, PPSSPP as services works fine.

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

                                    @shantigilbert I see, when Kodi launches Pegasus, Kodi likely becomes its "parent", so when you kill it, all the programs it launched will also die.

                                    As for the libraries, could you post the full error log? If it's missing Qt libs, you could also solve that by creating a static build.

                                    S 1 條回覆 最後回覆 回覆 引用 0
                                    • S
                                      shantigilbert @fluffypillow
                                      最後由 shantigilbert 編輯

                                      @fluffypillow said in Announcing Pegasus Frontend:

                                      @shantigilbert I see, when Kodi launches Pegasus, Kodi likely becomes its "parent", so when you kill it, all the programs it launched will also die.

                                      As for the libraries, could you post the full error log? If it's missing Qt libs, you could also solve that by creating a static build.

                                      Yeah, that is the problem with Kodi, I am figuring out if I can run a process that is not attached to it and that will solve my problem, but so far no luck.
                                      I can't seem to be able to create a static build on the S905 unfortunately :(
                                      I will get the full error when I get home, but its just a generic "can't find shared library QT5Gamepad"

                                      I appreciate the help even tho its not directly Pegasus at fault here.

                                      edit: this is the error /usr/bin/pegasus-fe: error while loading shared libraries: libQt5Gamepad.so.5: cannot open shared object file: No such file or directory but if I run it normally pegasus-fe works fine

                                      1 條回覆 最後回覆 回覆 引用 0
                                      • halfmanhalfcakeH
                                        halfmanhalfcake
                                        最後由 編輯

                                        So using the documentation, I’ve managed to put together a working grid view. I want to try and creates different screens (states). Would states be the best way to implement (system list view > game so grid view > game details)

                                        Also I’ve noticed the controls page is not working :(
                                        http://pegasus-frontend.org/user-guide/controls

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

                                          @halfmanhalfcake Nice! Yes, states could be useful for such cases. If you theme has separate, individual "screens", like in ES2, and you want to change between them, you could implement each screen in a screen-sized Item, then change their position or anchor in the states. Or you could realign or change the shape and positions of the items if that's better for the theme, though that can end up a bit complicated.

                                          Also the controls page link is http://pegasus-frontend.org/docs/user-guide/controls/; did you find a broken link somewhere?

                                          @shantigilbert yeah that looks like a lib path issue. How are you launching Pegasus? I think In your case it should be like LD_LIBRARY_PATH=/directory/of/libQt5Gamepad /path/to/pegasus-fe. You can also set lib paths globally in ld.conf.

                                          halfmanhalfcakeH S 2 條回覆 最後回覆 回覆 引用 0
                                          • halfmanhalfcakeH
                                            halfmanhalfcake @fluffypillow
                                            最後由 halfmanhalfcake 編輯

                                            @fluffypillow Yep on the simple theme tutorial > changing collections > tip :)

                                            In terms of the screen, It might be too complicated for me at the moment, as getting a gridview working was hard enough.

                                            fluffypillowF 1 條回覆 最後回覆 回覆 引用 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.