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.2k 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.
    • 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
                                • DTEAMD
                                  DTEAM @TPR
                                  last edited by DTEAM

                                  @TPR

                                  This thread is a "work in progress thread" for a Nintendo 3DS emulator for Pi based on Borked3DS. Here's the status (@gvx64 can confirm or add comments)

                                  • Once installed, the emulator works well on Pi4 (64-bit) and Pi5 (64-bit)
                                  • Right now, the big issue is with CMake
                                  • You need to upgrade your CMake version. You can follow the last post here, but do a sd card backup first.
                                  • The emulator runs with GLES 3.1 on Pi and not Vulkan for now, @gvx64 put a lot of energy on that and fixed a lot of issues with GLES 3.1.
                                  • I'll add the line below in the script when the CMake issue will be fixed. For now, put it in /etc/emulationstation/es_systems.cfg like @gvx64 says here
                                  env MESA_EXTENSION_OVERRIDE=GL_OES_texture_buffer
                                  
                                  • The hotkey combos doesn't work for now with gamepads. Only work with keyboard.
                                  • You need a mouse for now to control the arrow in the UI and in some games. The joystick can't control the arrow like the Nintendo DS emulator.
                                  • You can get the installation script on Retropie Extra, It takes 2 times to install it. First installation stops at 95% and you restart it and you should be good.
                                  • Some settings affect performance (like some sound settings and 3D options), with the right settings you can easily play at full speed on a Pi5.

                                  Here's the GitHub link for Borked3ds-rpi

                                  F TPRT 2 Replies Last reply Reply Quote 1
                                  • F
                                    Folly @DTEAM
                                    last edited by Folly

                                    This post isn't correct !!!

                                    @DTEAM

                                    I checked the helpers.sh file from RetroPie-Setup if it is possible to use a function to use "git submodule update etc." in the script as a function.
                                    Seems there is no function for that, however I found that when a clone is already present in the temp build folder and if it's on a tracking branch then the function seems to do something else and will do the "git submodule update".
                                    Not sure but this could be the issue with the script if not all submodules are downloaded the first time with the individual git clones then the second time it will do the automatic "git submodule update".

                                    See here.
                                    Remember it's part of this function here

                                    Might be that you can just remove all individual git submodule cloning and replace that with just :

                                    runCmd git submodule update --init --recursive
                                    

                                    Just like with compiling manually, understand ?

                                    Edit :
                                    Btw.
                                    For now robin-map is a submodule of teakra not of Borked3DS
                                    Here could be the problem too

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

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

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

                                      I agree, and it's easier to delete something after if needed

                                      1 Reply Last reply Reply Quote 1
                                      • TPRT
                                        TPR @DTEAM
                                        last edited by

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

                                        @TPR

                                        This thread is a "work in progress thread" for a Nintendo 3DS emulator for Pi based on Borked3DS. Here's the status (@gvx64 can confirm or add comments)

                                        • Once installed, the emulator works well on Pi4 (64-bit) and Pi5 (64-bit)
                                        • Right now, the big issue is with CMake
                                        • You need to upgrade your CMake version. You can follow the last post here, but do a sd card backup first.
                                        • The emulator runs with GLES 3.1 on Pi and not Vulkan for now, @gvx64 put a lot of energy on that and fixed a lot of issues with GLES 3.1.
                                        • I'll add the line below in the script when the CMake issue will be fixed. For now, put it in /etc/emulationstation/es_systems.cfg like @gvx64 says here
                                        env MESA_EXTENSION_OVERRIDE=GL_OES_texture_buffer
                                        
                                        • The hotkey combos doesn't work for now with gamepads. Only work with keyboard.
                                        • You need a mouse for now to control the arrow in the UI and in some games. The joystick can't control the arrow like the Nintendo DS emulator.
                                        • You can get the installation script on Retropie Extra, It takes 2 times to install it. First installation stops at 95% and you restart it and you should be good.
                                        • Some settings affect performance (like some sound settings and 3D options), with the right settings you can easily play at full speed on a Pi5.

                                        Here's the GitHub link for Borked3ds-rpi

                                        Fantastic re-cap! Thank you!

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

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

                                          Might be that you can just remove all individual git submodule cloning and replace that with just :

                                          runCmd git submodule update --init --recursive
                                          Just like with compiling manually, understand ?

                                          I understand, but don't know how to add it in the script. if I deleted depends fonction and replace that by your line, it doesn't work. I'm gonna read some .sh file to see how they manage that

                                          F 2 Replies 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":

                                            Might be that you can just remove all individual git submodule cloning and replace that with just :

                                            runCmd git submodule update --init --recursive
                                            Just like with compiling manually, understand ?

                                            I understand, but don't know how to add it in the script. if I deleted depends fonction and replace that by your line, it doesn't work. I'm gonna read some .sh file to see how they manage that

                                            You have to keep the depends function.
                                            It needs to be in the sources function.

                                            Edit:
                                            I will add an example later after diner ;-)

                                            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.