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

    Announcing Pegasus Frontend

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

      Let me know too.

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

        Thanks, actually, I was thinking about collecting the different asset types in separate GitHub repos: there could be a repo for colored system logos, one for white-only logos, or another for platform controller icons (like you can see on lakka.tv's front page; I wonder where are those from?). So kind of like themes, but without the ES-specific XML files. I think assets like system logos are usually not customized as often as eg. backgrounds, so with this method you could create separate asset packs, and when you start working on a new theme, you can just pull the one that feels right for your project. I could also imagine a theme and separate icon/logo set mixing feature in the program itself too (in the far future).

        As for the views, there is no such settings yet. Since the simple and detailed views look completely different, instead of forcing one theme to support all kinds of user configurations, and keeping the theme updated when a new type of view is added (like video mode), I think creating separate themes would be more maintainable.

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

          @fluffypillow said in Announcing Pegasus Frontend:

          I wonder where are those from?

          https://github.com/libretro/retroarch-assets/tree/master/xmb/systematic/png

          How will theme creation work? Would it be done with the Qt Creator?

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

          Backlog: http://backloggery.com/lilbud

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

            @lilbud oh nice, thanks. There's a drag-and-drop kind of layout designer in Qt Creator, but it's so slow on my PC I can't use it. It can help learning the basic layout and item types at the beginning though. I've found the regular text editor in Qt Creator comfortable enough (auto complete, jump to definition, debug tools, ...), but as with XML, you can use any other editor if you want.

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

              @fluffypillow sorry to keep bothering you about this, I think I am very close to getting this to work on my Amlogic S905 using Libreelec but I ran into a problem I am not sure why its happening:

              qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory

              do you have any udea why its trying to use qt4 instead of qt5 to compile ?

              I am sure it has to be something on my system but I cannot figure it out :(

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

                @shantigilbert There's probably a different qmake in your $PATH (eg. under /usr/bin/), or you have an old package called qtchooser installed, which tends to set up some weird symlinks (but x64 on an ARM? Wow).

                It's not really a problem though, you can have more than one Qt setup. Just call your own qmake directly (/path/to/my/qmake [params]). Make sure the libs are installed to the location you've set during the Qt build.

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

                  @fluffypillow I am cross compiling so x64 is not running on ARM, but I compile and installed QT5, I don't think I ever installed QT4 at all, so not sure why its trying to call it in that path.

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

                    @shantigilbert for some reasonqtchooser is a dependency of some Qt4-based programs on Debian, it might've been installed with your system. But as long as you either you directly call your own qmake or make it so it's the first qmake in your $PATH, compilation should work fine.

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

                      @fluffypillow Well I finally got it to work someway or the other, now unfortunately when I try to run the FE itself I get this error:

                      This application failed to start because it could not find or load the Qt platform plugin "xcb"
                      in "".

                      Available platform plugins are: linuxfb, minimal, offscreen, vnc.

                      Reinstalling the application may fix this problem.
                      Aborted (core dumped)

                      QT was compiled without xcb (as per your instructions) is there a way to tell pegasus not tu use xcb?

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

                        @shantigilbert hm it sounds like the embedded graphics plugin (eglfs) is not available; either it has some missing library dependencies, or it was not build. Here's what you can do:

                        • Check that [QTDIR]/plugins/platforms/libqeglfs.so does exist
                        • If it's there, it was built correctly, but it might have some separate dependencies (I think if it found touchscreen libs during the build, it tries to access them on the device too). Post the output of ldd /path/to/libqeglfs.so, which will tell what it needs exactly.
                        • If it's not there, it was not build for some reason -- make sure that sou see EGL detected on the output of the Qt configure script (there should be a backup of that in config.summary). You should see EGL: yes, OpenGL ES 2.0: yes, EGLFS: yes and and EGLFS Mali: yes on the output.
                        1 條回覆 最後回覆 回覆 引用 0
                        • S
                          shantigilbert
                          最後由 編輯

                          I did a recompile making sure eglfs was there, and now this is the error:

                          This application failed to start because it could not find or load the Qt platform plugin "xcb"
                          in "".

                          Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc.

                          Reinstalling the application may fix this problem.
                          Aborted (core dumped)

                          when I do ldd libqeglfs.so this is the result:

                          /usr/lib/libarmmem.so (0xf74a2000)
                          libQt5EglFSDeviceIntegration.so.5 => /usr/local/qt5/lib/libQt5EglFSDeviceIntegration.so.5 (0xf746b000)
                          libQt5Gui.so.5 => /usr/local/qt5/lib/libQt5Gui.so.5 (0xf7097000)
                          libQt5Core.so.5 => /usr/local/qt5/lib/libQt5Core.so.5 (0xf6bfc000)
                          libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0xf6ab7000)
                          libc.so.6 => /usr/lib/libc.so.6 (0xf6982000)
                          libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xf68fb000)
                          libEGL.so => /usr/lib/libEGL.so (0xf67e2000)
                          libpthread.so.0 => /usr/lib/libpthread.so.0 (0xf67ba000)
                          libdl.so.2 => /usr/lib/libdl.so.2 (0xf67a5000)
                          libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0xf6779000)
                          libz.so.1 => /usr/lib/libz.so.1 (0xf6766000)
                          libm.so.6 => /usr/lib/libm.so.6 (0xf66e8000)
                          librt.so.1 => /usr/lib/librt.so.1 (0xf66d1000)
                          /usr/lib/ld-linux-armhf.so.3 (0xab243000)
                          libbz2.so.1.0 => /usr/lib/libbz2.so.1.0 (0xf66b2000)
                          

                          I made a pastebin of config.sumary

                          https://pastebin.com/gXqJZ9Gh

                          Thanks for the help!

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

                            Progress of week 11 (I think?):

                            • The gamepad config screen is now functional: https://webmshare.com/QPnKL It's not 100% complete, but it works, so I think I'll check some other features now. The gamepad image is a bit meh, I'll redraw it later.
                            • Qt 5.9 is now out, it has performance and memory consumption improvements. I'm experimenting with its build system, trying to find the best build parameters I'd use for a release.
                            lilbudL 1 條回覆 最後回覆 回覆 引用 0
                            • fluffypillowF
                              fluffypillow
                              最後由 編輯

                              @shantigilbert the config seems fine (though I think you'll need GStreamer 1.0 if you want video support), and the EGL plugin has all the dependencies too. Now that it's available, running Pegasus like this: pegasus-fe -platform eglfs should work. Alternatively, seting the QT_QPA_PLATFORM=eglfs env var should work too.

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

                                @fluffypillow said in Announcing Pegasus Frontend:

                                gamepad image is a bit meh

                                What happened to the gamepad image that @Rookervik drew?

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

                                Backlog: http://backloggery.com/lilbud

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

                                  I still have it, but I'd like to avoid looking too close to one specific device (though, per-device images would be possible too).

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

                                    @fluffypillow Hi, I haven't been paying much attention to the forums but someone mentioned your project and it looks nice. I wanted to let you know that it you want to add the ability to scrape from within your app, let me know. I can and have played around with compiling my scraper as a C shared library.

                                    At one point I had it working in ES but never followed up and got it pushed out. It was also not great since it was hacking around ES's UI, since I didn't know enough to change it.

                                    I know you probably have higher priority issues to solve but when you get to something like that feel free to reach out to me on github.

                                    Auto-scraper: https://github.com/sselph/scraper
                                    Donate to Extra-Life 2018 and help save lives: https://goo.gl/diu5oU

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

                                      @sselph Thanks! At the moment Pegasus is still in alpha, so scraper/external program integration is still in the planning stage.

                                      Ideally, I'd expect a scraper plugin to work and communicate with the frontend asynchronously, using a well defined API for reporting the current state and progress, or to allow cancelling the scraping. This would allow me to create a nice progress bar / scraping progress interface, or send the scraping it to the background while the user can continue playing, etc.

                                      This would probably require significant changes in most scrapers, so I'd also add a regular "start this program and wait for it to end" kind of launching too.

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

                                        @fluffypillow THANK YOU! after a week of strugglin it FINALLY WORKS!!! it does not have video yet, but thats because I need gstreamer, but at least I can see the FE :D

                                        there is one small problem, not sure if its related to gstreamer, or if I should update my gamelist.xml. but no images show, I can see all the logos for the systems and names and information of all the games, but no images :( (btw the svg for famicom is missing)

                                        But I really love how fast it loaded!

                                        Edit: I should REALLY start reading all of the posts in this thread before asking questions xD

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

                                          Does the alpha actually launch games?

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

                                          Backlog: http://backloggery.com/lilbud

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

                                            @lilbud it does for me, I am using the gamelist.xml from ES and other than what I said about the images, it works perfectly fine.

                                            edit: but it crashes after a bit.

                                            Executing command: /usr/bin/retroarch -L /tmp/cores/fbalpha_libretro.so /storage/roms/neogeo/aof.zip
                                            Process 3145 started
                                            QProcess: Destroyed while process ("/usr/bin/retroarch") is still running.
                                            The external program /usr/bin/retroarch has crashed
                                            The external program has crashed on exit, with exit code 9

                                            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.