RetroPie forum home
    • 最近
    • タグ
    • 人気
    • Home
    • Docs
    • 登録
    • ログイン

    Getting Started with ES Development.

    Scheduled ピンされた ロック 移動しました Ideas and Development
    guidedevelopmenthow-toself-help
    37 投稿 12 Posters 18.0k 閲覧数
    もっと見る
    • 古いものから新しい順
    • 新しいものから古い順
    • 最高評価
    返信
    • スレッドとして返信する
    投稿するのにログインして下さい
    このスレッドが削除されました。スレッド管理権を持っているユーザーにしか読めません。
    • C
      Charononus
      最後に編集した時間

      So I followed the directions and set up a fork that I can access at https://github.com/korreckj328/EmulationStation

      However, I do have a question. Does the official Retropie fork have the ability to pull the code I changed at this point? Or would something more need to be done?

      I added some code so that it can compile on macOS fyi.

      mituM 1 件の返信 最後の返信 返信 引用 0
      • mituM
        mitu Global Moderator @Charononus
        最後に編集した時間mitu

        @Charononus said in Getting Started with ES Development.:

        However, I do have a question. Does the official Retropie fork have the ability to pull the code I changed at this point? Or would something more need to be done?

        That's not how collaborative development works - you need to create a Pull Request to the RetroPie's Emulationstation repository in order for the changes you've added to be incorporated upstream.

        Btw, your fork doesn't seem to compile on macOS, I tested it with macOS 10.13, Apple LLVM version 10.0.0 (clang-1000.11.45.5).

        C 1 件の返信 最後の返信 返信 引用 0
        • C
          Charononus @mitu
          最後に編集した時間

          @mitu
          10.14.3 here and compiled with
          cmake . -D CMAKE_CXX_COMPILER=g++-8

          (g++-8 from brew)

          mituM 1 件の返信 最後の返信 返信 引用 0
          • mituM
            mitu Global Moderator @Charononus
            最後に編集した時間

            @Charononus I don't have g++ installed and with the clang version included in Xcode it doesn't work.

            C 1 件の返信 最後の返信 返信 引用 0
            • C
              Charononus @mitu
              最後に編集した時間

              I'll have to take a look at clang. In theory I'm not sure why it wouldn't compile with clang and will with g++. Nothing I did was all that major. Just called some AppleScript to get and set the system volume in place of ALSA on linux.

              mituM 1 件の返信 最後の返信 返信 引用 0
              • mituM
                mitu Global Moderator @Charononus
                最後に編集した時間

                @Charononus Just FYI, you might want to test it out also with clang, since you might need it to generate an .app with Xcode.

                C 1 件の返信 最後の返信 返信 引用 0
                • C
                  Charononus @mitu
                  最後に編集した時間Charononus

                  @mitu
                  Yeah that getting that app bundle was the next step as it just compiles as a unix executable at the moment.

                  Actually wow, clang pops up a lot of errors from files I never touched. Very interesting.

                  C 1 件の返信 最後の返信 返信 引用 0
                  • C
                    Charononus @Charononus
                    最後に編集した時間

                    @mitu

                    Hey, quite a long time between my posts but I did get it working with Clang now. Still haven't packed the app into a bundle yet.

                    1 件の返信 最後の返信 返信 引用 0
                    • BenMcLeanB
                      BenMcLean
                      最後に編集した時間BenMcLean

                      I am trying it now using the Windows Subsystem for Linux but keep running into problems with missing dependencies, even to get past the cmake part. At the moment, I'm trying to figure out how to install freetype. Isn't there some big giant "sudo apt-get install thing1 thing2 thing3 thing4" command someone could write to grab all the dependencies at once instead of needing people to hunt around to find each one?

                      (later edit) Never mind, I found it.
                      sudo apt-get install libsdl2-dev libfreeimage-dev libfreetype6-dev libcurl4-openssl-dev rapidjson-dev libasound2-dev libgl1-mesa-dev build-essential cmake fonts-droid-fallback libvlc-dev libvlccore-dev vlc-bin

                      1 件の返信 最後の返信 返信 引用 0
                      • BenMcLeanB
                        BenMcLean
                        最後に編集した時間BenMcLean

                        Alright, now it builds but will it run?
                        I get this result:

                        Creating config directory "/home/ben/.emulationstation"
                        error: XDG_RUNTIME_DIR not set in the environment.
                        Apr 25 14:21:21 lvl0:   Error initializing SDL!
                                No available video device
                        Apr 25 14:21:21 lvl0:   Renderer failed to initialize!
                        Apr 25 14:21:21 lvl0:   Window failed to initialize!
                        

                        I'm not sure running graphical programs is even possible on Windows Subsystem for Linux. I assumed they would be but I guess that wasn't a safe assumption. I'll have to research this more to find out if that's even possible.

                        (later edit) Apparently, the thing I need is called an "X server" for Windows. I'm trying vcxsrv

                        1 件の返信 最後の返信 返信 引用 0
                        • BenMcLeanB
                          BenMcLean
                          最後に編集した時間BenMcLean

                          Yes! I got it to run!
                          EmulationStation first run

                          I got help from this page here. It explains how to set up VcXsrv and let you run your graphical Linux programs through it.

                          HexH 1 件の返信 最後の返信 返信 引用 2
                          • HexH
                            Hex @BenMcLean
                            最後に編集した時間

                            @BenMcLean Thats great, you might want to create a post detailing this

                            Sent from 20,000 leagues under the sea.

                            Powersaver Emulation station : https://github.com/hex007/EmulationStation
                            ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

                            BenMcLeanB 1 件の返信 最後の返信 返信 引用 0
                            • BenMcLeanB
                              BenMcLean @Hex
                              最後に編集した時間

                              @Hex said in Getting Started with ES Development.:

                              @BenMcLean Thats great, you might want to create a post detailing this

                              This page explains the only stuff you need to do different to build on WSL Ubuntu instead of regular Ubuntu.

                              However, I have been thinking that the features I want to add would make more sense being in the RetroPie setup menu rather than being in EmulationStation so I've been reading through the source code for that. I have found out that this menu uses Joy2Key to translate the joystick movements into key presses but haven't yet managed to figure out what code is creating all the boxes and blue crap around the menu items or providing the interactivity.

                              mituM 1 件の返信 最後の返信 返信 引用 0
                              • mituM
                                mitu Global Moderator @BenMcLean
                                最後に編集した時間

                                @BenMcLean said in Getting Started with ES Development.:

                                but haven't yet managed to figure out what code is creating all the boxes and blue crap around the menu items or providing the interactivity.

                                It's called dialog - https://linuxgazette.net/101/sunil.html.

                                BenMcLeanB 1 件の返信 最後の返信 返信 引用 0
                                • BenMcLeanB
                                  BenMcLean @mitu
                                  最後に編集した時間BenMcLean

                                  @mitu said in Getting Started with ES Development.:

                                  It's called dialog - https://linuxgazette.net/101/sunil.html.

                                  Wow. In that case, the feature I want to add isn't even a RetroPie-specific feature at all.

                                  I want to add an on-screen-keyboard option to dialog and then have the RetroPie setup script use it when text entry is required. That would enable entering the wifi password with a game controller.

                                  So I believe I'd need to start here, (or maybe here?) code up my own new version and then get RetroPie onto using that, with a new -osk command line option.

                                  (later edit) I have started a fork of dialog and even got it to make using this guide

                                  BenMcLeanB 1 件の返信 最後の返信 返信 引用 0
                                  • BenMcLeanB
                                    BenMcLean @BenMcLean
                                    最後に編集した時間

                                    I hate to disappoint anyone who cared about that feature I was thinking of coding, but a major development has happened since I wrote that: the Raspberry PI 400 came out.

                                    Now anyone who actually cares about typing in the wifi password can just buy a Raspberry PI 400 and never have to worry about this problem ever again. Consequently, I no longer see it as worth my time to work on developing this feature. Sorry, but you have to pick your battles and I have to let go of this if I want to get other development goals done. I'm still full steam ahead on my Wolfenstein 3-D VR remake though

                                    1 件の返信 最後の返信 返信 引用 0
                                    • S slomobile referenced this topic on
                                    • LolonoisL
                                      Lolonois
                                      最後に編集した時間

                                      Create a static class model from ES sources: See here

                                      1 件の返信 最後の返信 返信 引用 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.