RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    3DS emulator for Pi users based on "Borked 3DS"

    Scheduled Pinned Locked Moved Projects and Themes
    nintendo 3dspi 4pi5borked 3ds
    80 Posts 6 Posters 8.3k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • roslofR
      roslof @DTEAM
      last edited by roslof

      @DTEAM said in 3DS emulator for Pi users based on "Borked 3DS":

      @gvx64

      Same problem with your method on GitHub. I can't tell if the problem is only on my side. If someone else could test it on a Pi5, that might be helpful.

      It breaks for me earlier in the process:

      [ 94%] Building CXX object src/tests/CMakeFiles/tests.dir/common/param_package.cpp.o
      In file included from /home/pi/RetroPie-Setup/tmp/build/borked3ds/src/./video_core/renderer_opengl/gl_texture_runtime.h:9,
                       from /home/pi/RetroPie-Setup/tmp/build/borked3ds/src/./video_core/renderer_opengl/gl_rasterizer.h:13,
                       from /home/pi/RetroPie-Setup/tmp/build/borked3ds/src/./video_core/renderer_opengl/renderer_opengl.h:12,
                       from /home/pi/RetroPie-Setup/tmp/build/borked3ds/src/borked3ds/borked3ds.cpp:15:
      /home/pi/RetroPie-Setup/tmp/build/borked3ds/src/./video_core/rasterizer_cache/rasterizer_cache_base.h:15:10: fatal error: tsl/robin_map.h: No such file or directory
         15 | #include <tsl/robin_map.h>
            |          ^~~~~~~~~~~~~~~~~
      compilation terminated.
      gmake[2]: *** [src/borked3ds/CMakeFiles/borked3ds.dir/build.make:96: src/borked3ds/CMakeFiles/borked3ds.dir/borked3ds.cpp.o] Error 1
      gmake[1]: *** [CMakeFiles/Makefile2:4618: src/borked3ds/CMakeFiles/borked3ds.dir/all] Error 2
      gmake[1]: *** Waiting for unfinished jobs....
      
      F 1 Reply Last reply Reply Quote 0
      • F
        Folly @roslof
        last edited by Folly

        @roslof said in 3DS emulator for Pi users based on "Borked 3DS":

        /home/pi/RetroPie-Setup/tmp/build/borked3ds/src/./video_core/rasterizer_cache/rasterizer_cache_base.h:15:10: fatal error: tsl/robin_map.h: No such file or directory
        15 | #include <tsl/robin_map.h>

        @gvx64
        For me it failed on the same when building manually.
        (not using the command sudo btw., no need to do so)
        Noticed that when using :

        git submodule update --init --recursive
        

        It had a problem getting the submodule that contains robin_map.h.

        I am trying again to see if it will work when doing it a second time.

        roslofR 1 Reply Last reply Reply Quote 1
        • roslofR
          roslof @Folly
          last edited by roslof

          @Folly said in 3DS emulator for Pi users based on "Borked 3DS":

          It had a problem getting the submodule that contains robin_map.h.

          Right. Was just zeroing in on the same. It appears that it fails early on in the process, but doesn't Fatal until near the end. Here's where multiple files aren't found and a clue about why:

            The following configuration files were considered but not accepted:
          
              /usr/lib/aarch64-linux-gnu/cmake/fmt/fmt-config.cmake, version: 9.1.0
              /lib/aarch64-linux-gnu/cmake/fmt/fmt-config.cmake, version: 9.1.0
          
          
          
          -- Could NOT find mcl (missing: mcl_DIR)
          -- Could NOT find tsl-robin-map (missing: tsl-robin-map_DIR)
          -- Could NOT find oaknut (missing: oaknut_DIR)
          CMake Deprecation Warning at externals/dynarmic/externals/robin-map/CMakeLists.txt:1 (cmake_minimum_required):
            Compatibility with CMake < 3.10 will be removed from a future version of
            CMake.
          
            Update the VERSION argument <min> value.  Or, use the <min>...<max> syntax
            to tell CMake that the project requires at least <min> but has been updated
            to work with policies introduced by <max> or earlier.
          

          @Folly are you using cmake 4.0 or higher? I'm wondering if CMake just needs a range for cmake_minimum_required as specified

          .

          F 1 Reply Last reply Reply Quote 0
          • F
            Folly @roslof
            last edited by Folly

            @roslof said in 3DS emulator for Pi users based on "Borked 3DS":

            @Folly are you using cmake 4.0 or higher? I'm wondering if CMake just needs a range for cmake_minimum_required as specified

            Yes, I use the latest cmake 4.0.2 now.

            78% ...

            roslofR 1 Reply Last reply Reply Quote 0
            • roslofR
              roslof @Folly
              last edited by roslof

              @Folly said in 3DS emulator for Pi users based on "Borked 3DS":

              Yes, I use the latest cmake 4.0.2 now.

              78% ...

              I modified CMakeLists.txt adding the range and I'm giving it another run.
              EDIT: Still having the same problem each time cmake is run. mcl_DIR, tsl-robin-map_DIR and oaknut_DIR are missing. Boo.

              F 3 Replies Last reply Reply Quote 1
              • F
                Folly @roslof
                last edited by Folly

                @roslof said in 3DS emulator for Pi users based on "Borked 3DS":

                I modified CMakeLists.txt adding the range and I'm giving it another run.

                I didn't edit the CMakeList.txt, I think it should work oob.

                90%..

                Edit:

                [ 95%] Building CXX object src/tests/CMakeFiles/tests.dir/common/bit_field.cpp.o
                In file included from /home/pi/Borked3DS-rpi/src/./video_core/renderer_opengl/gl_texture_runtime.h:9,
                                 from /home/pi/Borked3DS-rpi/src/./video_core/renderer_opengl/gl_rasterizer.h:13,
                                 from /home/pi/Borked3DS-rpi/src/./video_core/renderer_opengl/renderer_opengl.h:12,
                                 from /home/pi/Borked3DS-rpi/src/borked3ds/borked3ds.cpp:15:
                /home/pi/Borked3DS-rpi/src/./video_core/rasterizer_cache/rasterizer_cache_base.h:15:10: fatal error: tsl/robin_map.h: Bestand of map bestaat niet
                   15 | #include <tsl/robin_map.h>
                

                git submodule seemed to get all submodules and cmake did not say "Not Found", Hmmm..

                Edit : I will have a look later.

                1 Reply Last reply Reply Quote 1
                • F
                  Folly @roslof
                  last edited by

                  @roslof

                  BTW.
                  I see that tsl-robin-map seems to require cmake 3.5 or higher.

                  roslofR 1 Reply Last reply Reply Quote 0
                  • roslofR
                    roslof @Folly
                    last edited by

                    @Folly said in 3DS emulator for Pi users based on "Borked 3DS":

                    @roslof

                    BTW.
                    I see that tsl-robin-map seems to require cmake 3.5 or higher.

                    I was able to clear the error by modifying Borked3DS-rpi/externals/dynarmic/externals/robin-map/CMakeLists.txt and adding the range to the top line:

                    cmake_minimum_required(VERSION 3.5...4.0)
                    

                    But this did not solve the problem of the various "Could NOT find" issue.

                    F 1 Reply Last reply Reply Quote 1
                    • F
                      Folly @roslof
                      last edited by Folly

                      @roslof

                      Just to see if I get it compiling I copied the
                      /home/pi/Borked3DS-rpi/externals/teakra/externals/robin-map/include/tsl
                      folder to
                      /home/pi/Borked3DS-rpi/src/tsl

                      That will circumvent the not found issue, tsl/robin-map.h not found.

                      Still have this issue :

                      /home/pi/Borked3DS-rpi/src/borked3ds_qt/bootmanager.cpp:42:10: fatal error: qpa/qplatformnativeinterface.h: Bestand of map bestaat niet
                         42 | #include <qpa/qplatformnativeinterface.h>
                      

                      Perhaps missing dependency.

                      Edit :
                      I missed the package :
                      qt6-base-private-dev

                      DTEAMD 1 Reply Last reply Reply Quote 0
                      • F
                        Folly @roslof
                        last edited by

                        @roslof

                        [ 97%] Linking CXX executable ../../bin/Release/borked3ds
                        [100%] Built target borked3ds-qt
                        
                        roslofR 1 Reply Last reply Reply Quote 0
                        • roslofR
                          roslof @Folly
                          last edited by

                          @Folly That looks promising

                          F 2 Replies Last reply Reply Quote 0
                          • F
                            Folly @roslof
                            last edited by

                            @roslof

                            The binary seems to work.

                            1 Reply Last reply Reply Quote 1
                            • F
                              Folly @roslof
                              last edited by Folly

                              @roslof

                              Btw.
                              I did not use the sudo command when compiling manually, there is no need to do so.

                              Seems the only problem is that the folder tsl cannot be found.
                              Not sure where we can edit that.

                              Edit:
                              Have to leave now, will test some stuff later.

                              roslofR DTEAMD 2 Replies Last reply Reply Quote 2
                              • roslofR
                                roslof @Folly
                                last edited by

                                @Folly said in 3DS emulator for Pi users based on "Borked 3DS":

                                @roslof

                                Btw.
                                I did not use the sudo command when compiling manually, there is no need to do so.

                                Seems the only problem is that the folder tsl cannot be found.
                                Not sure where we can edit that.

                                Edit:
                                Have to leave now, will test some stuff later.

                                Works great. Nicely done @Folly!.

                                1 Reply Last reply Reply Quote 0
                                • DTEAMD
                                  DTEAM @Folly
                                  last edited by DTEAM

                                  @Folly said in 3DS emulator for Pi users based on "Borked 3DS":

                                  Perhaps missing dependency.

                                  With the script, you have all the necessary dependencies. This CMake issue was fixed with rtiangha, but it seems to be reappearing.

                                  I can confirm, the emulator works fine on a Pi5, it's really just a new CMake issue.

                                  Here's my cmake version from bookworm/backports

                                  cmake 3.31.6-2~bpo12+1
                                  cmake-data 3.31.6-2~bpo12+1

                                  F 1 Reply Last reply Reply Quote 0
                                  • F
                                    Folly @DTEAM
                                    last edited by Folly

                                    @DTEAM said in 3DS emulator for Pi users based on "Borked 3DS":

                                    @Folly said in 3DS emulator for Pi users based on "Borked 3DS":

                                    Perhaps missing dependency.

                                    With the script, you have all the necessary dependencies.

                                    Yep, I saw that you have added that in the script..
                                    Just wanted to check it out manually first before starting with your script.

                                    This CMake issue was fixed with rtiangha, but it seems to be reappearing.

                                    I can confirm, the emulator works fine on a Pi5, it's really just a new CMake issue.

                                    I am just starting with this, I have to get more familiar with it.
                                    Which issue do you mean, not finding tsl/robin-map.h ?

                                    DTEAMD 1 Reply Last reply Reply Quote 0
                                    • DTEAMD
                                      DTEAM @Folly
                                      last edited by DTEAM

                                      @Folly said in 3DS emulator for Pi users based on "Borked 3DS":

                                      I am just starting with this, I have to get more familiar with it.
                                      Which issue do you mean, not finding tsl/ronin-map.h ?

                                      The issue in general

                                      It's strange, because on my side, it stops at 95%. It can't build the file borked3ds (the one needed)

                                      Could not successfully install 3DS Emulator borked3ds (/home/pi/RetroPie-Setup/tmp/build/borked3ds/build/bin/Release/borked3ds not found)
                                      

                                      but when I restart my script and leave the tmp folder full, it generates the borked3ds emulator and everything is installed properly.

                                      Here's my cmake version from bookworm/backports

                                      cmake 3.31.6-2~bpo12+1
                                      cmake-data 3.31.6-2~bpo12+1

                                      F 1 Reply Last reply Reply Quote 0
                                      • F
                                        Folly @DTEAM
                                        last edited by Folly

                                        @DTEAM

                                        I checked your log again and it seems to me that you have the same issue that tsl/robin-map.h is not found.

                                        You are using cmake 3.31.6-2 and for Borked3DS-rpi this version should be high enough but robin-map seems to require cmake 3.5 as minimum.
                                        So in my opinion Borked3DS-rpi should also have a minimum requirement of cmake 3.5, get it ?
                                        It will probably not fix the issue we are facing as I used cmake 4.0.2 and also had this issue.
                                        I think we need to fix something else.
                                        @gvx64 might have an idea about that.

                                        I will test the binary later.
                                        Tried 2 cia files but they didn't work.
                                        What game do you recommend @DTEAM ?

                                        DTEAMD 1 Reply Last reply Reply Quote 0
                                        • TPRT
                                          TPR
                                          last edited by

                                          Just read through this whole thread. Is there an updated way to be able to install this easily without going through a lot of the process above?

                                          Is there an updated scriptmodule?

                                          DTEAMD 1 Reply Last reply Reply Quote 0
                                          • DTEAMD
                                            DTEAM @Folly
                                            last edited by

                                            @Folly said in 3DS emulator for Pi users based on "Borked 3DS":

                                            I checked your log again and it seems to me that you have the same issue that tsl/ronin-map.h is not found.

                                            You are using cmake 3.31.6-2 and for Borked3DS-rpi this version should be high enough but ronin-map seems to require cmake 3.5 as minimum.
                                            So in my opinion Borked3DS-rpi should also have a minimum requirement of cmake 3.5, get it ?
                                            It will probably not fix the issue we are facing as I used cmake 4.0.2 and also had this issue.
                                            I think we need to fix something else.
                                            @gvx64 might have an idea about that.

                                            Maybe we just need a way to bypass tsl/ronin-map.h. I don't know the actual impact of this on the compilation process.

                                            1 Reply Last reply Reply Quote 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.