Retropie 3.4 and 8bitDo bluetooth Pad

Welcome Page Forums RetroPie Project Controller Configuration in RetroPie Retropie 3.4 and 8bitDo bluetooth Pad

This topic contains 69 replies, has 11 voices, and was last updated by Profile photo of mikegrice10 mikegrice10 1 year, 4 months ago.

Viewing 35 posts - 36 through 70 (of 70 total)
  • Author
    Posts
  • #114891
    Profile photo of Floob
    Floob
    Member

    Great, that sounds solved then. You can see me setting the analogues to work here:

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #114894
    Profile photo of Floob
    Floob
    Member

    Wiki now updated with guide:
    https://github.com/RetroPie/RetroPie-Setup/wiki/Setting-up-a-Bluetooth-controller

    Video here:

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #114897
    Profile photo of pausuri
    pausuri
    Participant

    Thanks Flood! I followed to your video guide and it worked like a charm!

    #114898
    Profile photo of hobbswon
    hobbswon
    Participant

    That was it!

    I guess I should have looked into the retroarch config gui. It never occurred to me.

    Thanks Floob.

    #114929
    Profile photo of nbk7
    nbk7
    Participant

    there is still one problem for controllers with several modes like my 8Bitdo NES30 or the FC30 on the Jessie plattform:

    there are two relevant modes for retropie:

    1. Keyboard Mode Start+B (Controller 1), Start+B+R (Controller 2).
    Registered as: “8Bitdo NES GamePad”
    This mode is important for certain non-retroarch based emulators like VICE.

    2. GamePad Mode Start+R (both Controllers)
    Registered as: 8Bitdo NES30 GamePad Joystick
    For Retroarch based controls

    The MAC-Addresses of each controller varies depending on the connected mode. So if I establish all conntections for both my controllers (2x Keyboard mode MAC-Address A,B and 2x GamePad mode with MAC Address C,D) I would see all 4 registered devices in the retropie-setup menu. Unfortunately after reboot only the mode I registered last (via retropie_setup.sh) would try to connect. I can always reproduce this by deleting the last registered connection and re-register via another mode.

    For Wheezy I wrote a script that would simply auto-connect, depending on the MAC address provided:

    http://forum.8bitdo.com/thread-328-7-1.html #64

    but that doesn’t work for the later Jessie plattform due to different connecting approach I guess.

    Any ideals how to make it possible to auto-connect in both modes?

    #114937
    Profile photo of Floob
    Floob
    Member

    @nbk7

    If you want to force a connection you can try this script – make it executable and put it in /etc/init.d/

    #!/bin/bash
    sudo bluetoothctl << EOF
    power on
    connect [MAC Address]
    exit
    EOF

    For others reading this, dont do this as the retropie bluetooth menu covers most situations doing this on its own.

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #114941
    Profile photo of hobbswon
    hobbswon
    Participant

    Is it necessary to start the 8bitdo pads in keyboard

    there is still one problem for controllers with several modes like my 8Bitdo NES30 or the FC30 on the Jessie plattform:

    there are two relevant modes for retropie:

    1. Keyboard Mode Start+B (Controller 1), Start+B+R (Controller 2).
    Registered as: “8Bitdo NES GamePad”
    This mode is important for certain non-retroarch based emulators like VICE.

    2. GamePad Mode Start+R (both Controllers)
    Registered as: 8Bitdo NES30 GamePad Joystick
    For Retroarch based controls

    The MAC-Addresses of each controller varies depending on the connected mode. So if I establish all conntections for both my controllers (2x Keyboard mode MAC-Address A,B and 2x GamePad mode with MAC Address C,D) I would see all 4 registered devices in the retropie-setup menu. Unfortunately after reboot only the mode I registered last (via retropie_setup.sh) would try to connect. I can always reproduce this by deleting the last registered connection and re-register via another mode.

    For Wheezy I wrote a script that would simply auto-connect, depending on the MAC address provided:

    http://forum.8bitdo.com/thread-328-7-1.html #64

    but that doesn’t work for the later Jessie plattform due to different connecting approach I guess.

    Any ideals how to make it possible to auto-connect in both modes?

    Can’t the retroarch mappings be edited to correspond to the input of the 8bitdo gamepads in keyboard mode? I’d imagine one would lose the analog stick controls for the retroarch cores though.

    This kind of blows because I enjoy the retroarch cores but I do use VICE a ton and to use it you really need the 1-button push feature for the virtual keyboard. Having to toggle between modes by restarting the controllers between cores is enough of a workaround to be a minor annoyance.

    #114952
    Profile photo of jiepiewie
    jiepiewie
    Participant

    I followed your latest video to the letter but after updating the .rules file and rebooting, my fc30 pro is not seen (the blue leds keep on flashing). Checking with Bleutoothctl shows that it is still seeing the controller but it isn’t paired. What can be wrong?

    #114959
    Profile photo of Floob
    Floob
    Member

    @jiepiewie If the blue lights are flashing it hasnt re-connected. Did it connect ok when you used the bluetooth menu earlier?
    Try turning on the controller just as the RetroPie splashscreen appears.

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #114969
    Profile photo of jiepiewie
    jiepiewie
    Participant

    @floob Thanks for your quick reply. i’ve rebooted my pi, switched on the fc30 just as the retropie bootup-screen appeared but no good. Blue lights keep flashing. When i go into retropie-setup to look at the bluetooth options it sees a registered device but no active connections. Bluetoothctl ‘sees’ my fc30 as a ‘paired-device’.

    #114974
    Profile photo of abs7
    abs7
    Participant

    @floob,Thanks I will download Retropie 3.4 tonight and try connecting my SFC30 Pads using your tutorial.

    One question, I also want to connect my Bluetooth Keyboard and Mouse. Do I need to add a Udev rule for that too? (sudo nano /etc/udev/rules.d/10-local.rules). If YES, what would the rule look like?

    All i know is the name bit will change, but what about the rest?

    SUBSYSTEM==”input”, ATTRS{name}==”8Bitdo SFC30 GamePad Joystick”, MODE=”0666″, ENV{ID_INPUT_JOYSTICK}=”1″

    #114978
    Profile photo of Floob
    Floob
    Member

    @jiepiewie Try using the bluetooth menu items to de-register the controller and try again. Make sure you havent lost the pairing by accidently holding the select button for 3 seconds – this wipes the pairing.

    @abs7 No, that shouldnt need a udev rule. It should just work.

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #114980
    Profile photo of abs7
    abs7
    Participant

    Thanks Floob. I’ll give it a go with 2 x SFC30 Controllers and BT Keyboard and Mouse tonight. I’ll keep you posted.

    #114983
    Profile photo of hobbswon
    hobbswon
    Participant

    Floob,

    I ran into a new issue with the gamepad and Mame now.

    Lr-mame2003/10 is the emu

    Some games respond to the mapping and some wont.

    For example,

    Ninja will show a default input of p1 SELECT for coin 1, and p1 start is START but they just don’t respond to the input while other games do just fine.

    #114984
    Profile photo of jiepiewie
    jiepiewie
    Participant

    @jiepiewie Try using the bluetooth menu items to de-register the controller and try again. Make sure you havent lost the pairing by accidently holding the select button for 3 seconds – this wipes the pairing.

    Tried and failed again. Removed the controller using the retropie-setup-menu, added it agin and rebooted the pi. No pairing whatsover. I’m stumped. On my other wheezy-installation it worked flawlessly.

    #114987
    Profile photo of Floob
    Floob
    Member

    @hobbswon Thats a different issue, please open a new thread for that one.

    @jiepiewie When you re-added it did it connect (solid blue LED)? Which version of RetroPie are you using? Is it from an image? What start up mode are you using on the FC30?

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #114995
    Profile photo of scolson1
    scolson1
    Participant

    I’m having the same problem. The first time I paired it, it was called SFC30 Gamepad Joystick. I paired it just fine and then added the rule. As soon as I added the rule, it wouldn’t recognize when I rebooted Emulation Station. It was solid blue, so it was definitely paired, but it said “no Gamepad detected”. I turned it on at the correct time just before the Retropie splash screen. I unpaired it and when I went back to pair it again, it was now called SFC30 Gamepad. The word joystick was gone. I tried editing the file to correct this change, but it still didn’t work. I’m stumped! Any suggestions?

    #115000
    Profile photo of hobbswon
    hobbswon
    Participant

    Apologies Floob.

    Back to the topic, the controllers will pair initially but how do you get them to autopair on reboot? The bluetooth module doesn’t use the same commands from the wheezy base

    #115002
    Profile photo of Floob
    Floob
    Member

    Bear in mind there is a difference between pairing and connecting. You only need to pair once, unless you hold the select button down for more than 3 seconds to remove the pair.

    To reconnect, turn the controller on just as the RetroPie splashscreen appears, the FC30 Pro its just power on for joystick mode, the SFC30 is hold Start+R. Its connected when the led is solid blue.

    If emulation station doesnt see it, and it is connected (solid blue) it sounds like your udev rule isnt quite right. Can you post it here?

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #115007
    Profile photo of abs7
    abs7
    Participant

    @floob, if i am connecting 2 x SFC30 Controllers, do i need to add 2 Udev rules? Both rules would end up being identical. Thanks

    #115009
    Profile photo of hobbswon
    hobbswon
    Participant

    Floob,

    Yes, I’m talking about reconnecting. Apologies.

    If I power the controllers off and on on reboot. They will not autoconnect. I have to unregister and pair again to get them to connect.

    I’ve gotten ES to detect them and map no problem. It’s the reconnection that’s the issue.

    One thing of notice….if I power off the controllers, then reboot, and power them on. They will not connect. BUT, if I let them go to sleep and wake them, they will connect.

    Note: if you wake a sleeping FC30/NES30 Pro with the B button…it will wake in keyboard mode.

    #115011
    Profile photo of Floob
    Floob
    Member

    @abs7 – No one should do it.

    @hobbswon Try turning the controller on at different points in the boot up cycle. Make sure the pair hasnt been lost – this can happen if you hold select for 3 seconds. If you did as per the wiki/video it should have added the auto connect rule.
    Can you confirm which retropie version you are running – was it from an image?

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #115012
    Profile photo of scolson1
    scolson1
    Participant

    For me, Emulation Station won’t recognize them at all. It’s solid blue, but it says no gamepad detected.

    #115013
    Profile photo of Floob
    Floob
    Member

    @scolson1 That sounds like you havent added the udev rule correctly. See the wiki for info.
    https://github.com/retropie/retropie-setup/wiki/Setting-up-a-Bluetooth-controller

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #115014
    Profile photo of hobbswon
    hobbswon
    Participant

    @hobbswon Try turning the controller on at different points in the boot up cycle. Make sure the pair hasnt been lost – this can happen if you hold select for 3 seconds. If you did as per the wiki/video it should have added the auto connect rule.
    Can you confirm which retropie version you are running – was it from an image?

    3.4 fresh install

    It’s weird, they are hit or miss on connecting from boot up. But once booted, and still disco’d, they will connect when woken.

    And once they are connected, if I power them off and back on (mid game, for example), they connect right away.

    So I guess it’s somewhat nitpick.

    #116629
    Profile photo of hobbswon
    hobbswon
    Participant

    there is still one problem for controllers with several modes like my 8Bitdo NES30 or the FC30 on the Jessie plattform:

    there are two relevant modes for retropie:

    1. Keyboard Mode Start+B (Controller 1), Start+B+R (Controller 2).
    Registered as: “8Bitdo NES GamePad”
    This mode is important for certain non-retroarch based emulators like VICE.

    2. GamePad Mode Start+R (both Controllers)
    Registered as: 8Bitdo NES30 GamePad Joystick
    For Retroarch based controls

    The MAC-Addresses of each controller varies depending on the connected mode. So if I establish all conntections for both my controllers (2x Keyboard mode MAC-Address A,B and 2x GamePad mode with MAC Address C,D) I would see all 4 registered devices in the retropie-setup menu. Unfortunately after reboot only the mode I registered last (via retropie_setup.sh) would try to connect. I can always reproduce this by deleting the last registered connection and re-register via another mode.

    For Wheezy I wrote a script that would simply auto-connect, depending on the MAC address provided:

    http://forum.8bitdo.com/thread-328-7-1.html #64

    but that doesn’t work for the later Jessie plattform due to different connecting approach I guess.

    Any ideals how to make it possible to auto-connect in both modes?

    Have you ever gotten this worked out?

    I too need both modes working but now in 3.5 I cannot even get the controllers to pair in controller mode.

    If I try to register my NES 30 Pro or FC 30 Pro with either START + B or START + B+R

    I get a dbus error.

    It will show registered after it shows the dbus error but it will not pair.

    Vice and CoolCV are unusable with 8Bitdo because of this

    #116631
    Profile photo of jbfortune
    jbfortune
    Participant

    I’ve just paired the Nes30 and FC30 pro to mine.

    The nes 30 (Not sure about the pro version) – I had troubles with but to be honest, I don’t think I was getting it into the right mode. Hold down the right shoulder button the start until the light flashes in pulses of 3. This is then right to be paired. Follow the rest of the Floobs guide and I don’t see how it can’t work to be honest!

    The FC30 pro doesn’t need to be started in any mode. Just holding down the power should be enough. Again, once paired, remember to edit the

    sudo nano /etc/udev/rules.d/10-local.rules

    #116633
    Profile photo of hobbswon
    hobbswon
    Participant

    That’s pairing in joystick mode. That’s fine for retroarch emulators.

    But Vice needs the controller to be paired in controller mode for the proper functionality.

    And in joystick mode CoolCV completely ignores the dpad input.

    So in order to utilize these emulators the ability to pair and switch between modes is necessary

    #116635
    Profile photo of jbfortune
    jbfortune
    Participant

    Okey doke, understood.

    #117858
    Profile photo of hobbswon
    hobbswon
    Participant

    @nbk7

    If you want to force a connection you can try this script – make it executable and put it in /etc/init.d/

    #!/bin/bash
    sudo bluetoothctl << EOF
    power on
    connect [MAC Address]
    exit
    EOF

    For others reading this, dont do this as the retropie bluetooth menu covers most situations doing this on its own.

    Floob,

    I tried this script and it does not connect when switching between modes. It will only connect the last MAC that was paired through the config tool.

    Here’s the script.

    http://pastebin.com/Q0zGgCNn

    I placed it in /etc/init.d

    And then ran sudo chmod +x /etc/init.d/xxxxx.sh

    No go

    #117936
    Profile photo of Floob
    Floob
    Member

    @hobbswon
    Check the bottom of the Wiki here for another way to keep scanning:
    https://github.com/retropie/retropie-setup/wiki/Setting-up-a-Bluetooth-controller

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #118168
    Profile photo of stevetb
    stevetb
    Participant

    RetroPie 3.5 and SFC30 issue:

    Details:
    -Raspberry Pie 2 running RetroPie 3.5 (Fresh Install, not updated)
    -Controller = SFC30 with most current firmware from website
    -Using START+R to connect each time to pie
    -rules file was created for SFC30 @ sudo nano /etc/udev/rules.d/10-local.rules
    -Kinivo Btd-400 Bluetooth 4.0 USB Adapter

    I am able to connect and use the SFC30 within ES without issues, all buttons seem to work. When I enter any game only the directional pad works correctly. The A button works, but is mapped to the start button. No other button appears to work.

    To correct I go into the joystick configuration and change the button layout for the 8Bitdo. I save the changes, then am able to enter Retroarch without issues and play all roms.

    On Reboot however, the mappings change back to the mess they were before. I believe it is falling back to the .BAK but have not been able to test.

    I thought about these solutions:
    1. Delete .BAK file for joystick configuration and see if this works
    2. Lock file so file cannot be altered or deleted by system

    What are the thoughts of users on this thread about this? Am I on the right track? Anyone else having these issues?

    Thank you,
    Steve

    #118170
    Profile photo of Floob
    Floob
    Member

    Update your controller file here:
    /opt/retropie/configs/all/retroarch-joypads/{controller-file.cfg}

    The SFC30 doesnt create the correct buttons, so change them to the correct ones – this is shown in the video on the Wiki.
    https://github.com/retropie/retropie-setup/wiki/Setting-up-a-Bluetooth-controller

    Or just use the codes shown here:
    https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/udev/8Bitdo-SFC30-GamePad-Bluetooth-Mode(START%2BR).cfg

    In terms of the file being overwritten – as long as you dont reconfgiure your controller each time it should be fine. Just update the file as above, save it (maybe open it up and make sure changes are in there) and remove any controller files you dont need including the .bak. Then when you reboot it should go straight into ES – does it ask you to reconfigure the joypad? Do you update it via SSH?

    RetroPie help guides --> https://goo.gl/Yfy8kj
    Please read this before asking for help --> http://goo.gl/eLErnl

    #118207
    Profile photo of stevetb
    stevetb
    Participant

    Thank you Floob!

    I copied the configurations over, made sure they were saved, and then removed the .BAK files. The SFC30 is running great!

    Thank you again!

    -Steve

    #118773
    Profile photo of mikegrice10
    mikegrice10
    Participant

    Hi Floob,

    I’ve been having a similar issue to Steve in this thread (which he’s kindly tried to help me with):

    SFC30 Losing Buttons Mapped on Restart

    If you could have a look I’d really appreciate your thoughts.

Viewing 35 posts - 36 through 70 (of 70 total)

Forums are currently read only - please visit the new RetroPie forums at https://retropie.org.uk/forums/

Skip to toolbar