RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    8Bitdo FC30 Pro works in ES but not Retroarch

    Scheduled Pinned Locked Moved Help and Support
    40 Posts 11 Posters 27.8k 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.
    • RionR
      Rion
      last edited by Rion

      Well i have made some discoveries that i wanted to share.

      After many hours of reflashing and testing different configs i think i have finally got it right .

      First i tried to setup my controllers with changing (and only those lines, nothing else) in retroarch.cfg

      # Input driver. Depending on video driver, it might force a different input driver.
      # input_driver = sdl
      
      # Input device driver. (Valid: linuxraw, sdl, dinput)
      input_joypad_driver = "udev"
      

      to

      # Input driver. Depending on video driver, it might force a different input driver.
      # input_driver = udev
      
      # Input device driver. (Valid: linuxraw, sdl, dinput)
      input_joypad_driver = "udev"
      

      Same problem that i had before. NES30 start button don't work in the nes/snes emulators when SFC30 is connected at the same time. So i have to press the start button on the SFC30 to start Super Mario.
      So even if i configured the NES30 first and then the SFC30, SFC30 still is Joypad 1 (or 0 in Retroarch)
      Still sdl errors after i exit EmulationStation to command line

      Then i tried again with a clean image and change from

      # input_driver = udev
      input_joypad_driver = "udev"
      

      to

      # input_driver = sdl
      input_joypad_driver = "sdl"
      

      It configures in es but no button is working in the emulators.

      So now i had tried both sdl and udev and went to look in the retroarch.cfg file and started looking at this line

      # Input device driver. (Valid: linuxraw, sdl, dinput)
      

      So i changed

      input_joypad_driver = "udev"  
      to
      input_joypad_driver = "linuxraw"
      

      Well now apparently the keys work and i can also use NES30 Start button to start Mario even if the SFC30 is connected at the same time. But retroarch still reports SFC30 as Player 0 when i start a game.
      SDl errors still present but its a start.

      So every time they are both connected SFC30 always become player one no mater what.
      If i pair it last or first no change.
      If i start a game with NES30 and then connect SFC30 its always player one. And so on.

      FBNeo rom filtering
      Mame2003 Arcade Bezels
      Fba Arcade Bezels
      Fba NeoGeo Bezels

      1 Reply Last reply Reply Quote 0
      • H
        harrymfa
        last edited by harrymfa

        I came looking for a solution, but it's not clear what works. Can anyone who made this work, post a definite solution?

        D 1 Reply Last reply Reply Quote 0
        • D
          DavidIQ @harrymfa
          last edited by

          @harrymfa downgrading the firmware on the controllers worked for me.

          1 Reply Last reply Reply Quote 0
          • BuZzB
            BuZz administrators
            last edited by

            You shouldn't need to switch the input driver to sdl - just update retropie-setup and go to bluetooth configuration and set the new mapping option to disabled for controllers with new firmware (or enabled for old. You will need to remove/re-add your controller and reconfigure in ES.

            To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

            K 2 Replies Last reply Reply Quote 0
            • K
              konzentrat
              last edited by

              Hey there,

              I just happened to have the same Problem. Raspberry 3, RetroPie 4.1, 8Bitdo NES30 PRO, Firmware 1.71. So I decided to delete the whole image and set everything up from scratch.

              Now I switched off the Key Assign Hack Option for 8Bitdo older Firmware in the Bluetooth Menu BEFORE Pairing the controler. Now everything works fine. Don't know if this is the solution but it worked for me.

              1 Reply Last reply Reply Quote 0
              • RionR
                Rion
                last edited by

                @BuZz wouldn't it be a better solution to completely remove the option 8bitdo mapping hack and always have it to off.

                Every 8bitdo controller now has the latest fw update on the support site.

                It would be better to advice everone to have the latest fw installed.

                Or just live it to off be default.

                Or I'm i missing something? Do the 8bitdo zero need the hack to be on? In that case may be add to on for 8bitdo zero only?

                What are your thoughts?

                FBNeo rom filtering
                Mame2003 Arcade Bezels
                Fba Arcade Bezels
                Fba NeoGeo Bezels

                BuZzB 1 Reply Last reply Reply Quote 0
                • K
                  konzentrat
                  last edited by

                  I must agree that it would make more sense to have it set to OFF by default by now.

                  1 Reply Last reply Reply Quote 0
                  • K
                    konzentrat @BuZz
                    last edited by

                    This post is deleted!
                    1 Reply Last reply Reply Quote 0
                    • K
                      konzentrat @BuZz
                      last edited by

                      @BuZz said in 8Bitdo FC30 Pro works in ES but not Retroarch:

                      You shouldn't need to switch the input driver to sdl - just update retropie-setup and go to bluetooth configuration and set the new mapping option to disabled for controllers with new firmware (or enabled for old. You will need to remove/re-add your controller and reconfigure in ES.

                      i tried it but this didn't work in my case...

                      1 Reply Last reply Reply Quote 0
                      • BuZzB
                        BuZz administrators @Rion
                        last edited by

                        @Rion said in 8Bitdo FC30 Pro works in ES but not Retroarch:

                        @BuZz wouldn't it be a better solution to completely remove the option 8bitdo mapping hack and always have it to off.

                        Every 8bitdo controller now has the latest fw update on the support site.

                        It would be better to advice everone to have the latest fw installed.

                        Or just live it to off be default.

                        Or I'm i missing something? Do the 8bitdo zero need the hack to be on? In that case may be add to on for 8bitdo zero only?

                        What are your thoughts?

                        I will change the default - when I added the support for this, there were more joypads with the old firmware than new and some new ones still had the old firmware. I agree that now it makes more sense to have it off. I don't want to remove the option as some people who haven't upgraded their device may use it.

                        To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                        1 Reply Last reply Reply Quote 1
                        • G
                          gnome73
                          last edited by

                          Is there anything in this thread that will help solve my problem here...

                          https://retropie.org.uk/forum/topic/5508/unresolved-dragon-rise-zero-delay-usb-controller-cards-conflicting-on-joy-pad-directions-please-help-my-children-are-killing-me

                          1 Reply Last reply Reply Quote 0
                          • T
                            th3dll
                            last edited by

                            I was having this same issue with my 8bitdo SFC30 and resolved it after I discovered that the button mappings created by the EmulationStation configuration are different from what Retroarch actually needs. I'm not sure why they would be different as most joysticks map the same for both EmulationStation and Retroarch. However, EmulationStation mapped as follows A=11, B=12, Y=15, X=14... and so forth, but the actual mappings used in Retroarch were A=0, B=1, X=3, Y=4, Select=10, Start=11, Left=6, right =7. Your specific joystick mappings may be different, so use jstest to figure out what mappings you really need.

                            Floob has a great video showing how to use jstest:

                            After you figure out what mappings you really need, you have to use emulator specific joystick overrides to differ from what EmulationStation uses.

                            Here is what I did to make this work for SNES. It should work for other systems by replacing snes with nes etc.:

                            EmulationStation creates system-wide joystick config files under this directory:
                            /opt/retropie/configs/all/retroarch-joypads/

                            I created a new retroarch-joypads directory to hold all my snes system specific configuration files:
                            /opt/retropie/configs/snes/retroarch-joypads/

                            I copied my 8BitdoSFC30GamePad.cfg file from the system-wide configuration folder into the new retroarch-joypads folder. I then updated the copied file with the new button mappings found from jstest.

                            To tell Retroarch to use my custom joystick override I edited
                            /opt/retropie/configs/snes/retroarch.cfg
                            to include this line:
                            joypad_autoconfig_dir = /opt/retropie/configs/snes/retroarch-joypads/

                            My joystick now works perfectly in both emulation station and retroarch for snes games.

                            It's important to note that this new joystick configuration override causes complications to other existing joysticks that exist, or any new that you add. You now have to manually copy all joystick configuration files into the "/opt/retropie/configs/snes/retroarch-joypads/" folder before you can use that joystick for snes.

                            BuZzB R 2 Replies Last reply Reply Quote 0
                            • BuZzB
                              BuZz administrators @th3dll
                              last edited by BuZz

                              @th3dll shouldn't be any need to manually do a config - 8bitdo SFC30 works without any manual configuration (i have one). Just need to make sure you are on the latest firmware and have the "8bitdo hack" set to off (in bluetooth configuration).

                              https://github.com/retropie/retropie-setup/wiki/Setting-up-an-8bitdo-Bluetooth-controller

                              for older firmware the hack has to be on (controller needs to be reconfigured after changing the setting).

                              There is also a settings to swap A/B on ES should you want to do that.

                              To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                              1 Reply Last reply Reply Quote 0
                              • R
                                rudydevylder @th3dll
                                last edited by rudydevylder

                                @th3dll
                                Thanks! This was the only thing that helped for using my nes30 pro.
                                Only issue left is that I can't get out of a game with the select+start combo.
                                Do you have the same issue or how have you fixed this?

                                Edit: Nevermind, found the solution in the retroarch wiki. Was confused with the high numbers in the original config for the hotkeys but they need to be the same as the combo-key you want to use. Easy peasy :)

                                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.