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 SN/SF30 Pro functionality over bluetooth (Rumble/Triggers/more)

    Scheduled Pinned Locked Moved Help and Support
    8bitdo sf30 pro8bitdo sn30 prorumbletriggersbluetooth
    1 Posts 1 Posters 1.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.
    • skloetzerS
      skloetzer
      last edited by skloetzer

      Hello there, long time RetroPie user, first time poster here. Due to a lot of time on my hands in quarantine, I decided to build a new RetroPie and take up PSX emulation, so far only 16 bit machines.

      I’m having difficulty getting my 8BitDo controllers to work properly though. In the past I always used the „Switch mode“ and after initially figuring out bluetooth a couple of years ago they always worked fine in mentioned application. Now I want to use the rumble feature for PSX games and I’m struggling.

      tl;dr at the end.

      After a lot of unsuccessful tweaking I set up a new system for troubleshooting using the latest available RetroPie image for Pi4 and updating it (System + RetroPie packages).

      RPi 4, 8GB, Retroflag NESPI4 case
      Official USB-C PSU
      16 GB SD (boot)
      500 GB SSD for ROMs
      Retropie 4.7.19 (c167b3c5)
      Emulationstation V2.10.0RP
      RetroArch 1.9.7 (Sep 8 2021, 8373ac6)
      crcerror shutdown script (for NESPI4 case)
      2x SF30 Pro (Firmware v1.38)

      Connecting the controllers as usual:

      Bluetooth settings:

      • pair both controllers
      • Create udev rule for controller

      Check RetroArch base settings:

      • controllers recognized as „RetroPad“, changed to „RetroPad with Analog“

      PSX (lr-pcsx-rearmed r22 36f3ea6):

      • initially no buttons responsive

      • in RetroArch RGUI

        • Quick Menu
          • Controls
            Port 1/2
            - Device Type changed from „RetroPad with Analog“ to „dualshock“
          • Options
            - Enable Vibration set to „on“

      Results with xpad driver:

      Switch Mode (Y + Start):
      Controller name: Pro Controller
      Controller status light: only first LED lit on both controllers
      all buttons/analog working
      no rumble (neither on connect nor in game)

      DInput Mode (B + Start):
      Controller name: 8bitdo SF30 Pro
      Controller status light: only first LED lit on both controllers
      all buttons/analog working
      rumble upon connect, no rumble in game

      XInput Mode (X + Start):
      Controller name: 8bitdo SF30 Pro
      Controller status light: only first LED lit on both controllers
      Emulationstation input config: L2/R2 do not register
      RetroArch base settings: L2/R2 able to register
      rumble upon connect, rumble in game

      macOS (Start +A): didn’t bother to test

      The xpadneo driver did not change anything for the better (L2/R2 still not recognized in ES), had very sluggish control, lots of lag, basically unplayable.

      After every configuration change, ES Input Configurations were cleared (Retropie Setup - emulationstation) and previous udev rules were deleted (/etc/udev/rules.d/99-bluetooth.rules).

      It seemed to me that changing the controller mode to anything other than „Switch Mode“ creates absurdly long loading times (launching the libretro cores, about 20-30 s).

      ;tldr

      I found the „best“ way to set up the SF/SN30 Pro (meaning complete button/trigger, analog and rumble support) is this:

      • make sure xpadneo is not installed
      • clear ES input configs
      • delete existing udev rules
      • pair both controllers in XInput Mode (X + Start)
      • set up udev rule
      • ignore missing L2/R2 in ES input config
      • Open RetroArch base config and
        • add missing L2/R2 for both controllers separately
        • set Device Type to „RetroPad with Analog“ for both controllers
      • additional system/game specific mappings using RetroArch RGUI
        • for PSX set both controllers to „dualshock“
        • make sure vibration is enabled in RetroArch

      This lacks proper use of the indicator LEDs on the controllers though, both show a single LED on the left. Also the long loading times for the cores are a bit annoying.

      So:

      Has anyone ever been successful using the 8BitDo SF/SN30 Pro over Bluetooth on a RetroPie system with L2/R2 (analog) triggers AND rumble working correctly AND meaningful use of the status LEDs (1 LED: Player 1, 2 LEDs: Player 2, etc.)?

      Any explanation for the long loading times?

      Please tell me I’m missing something obvious here…

      Thanks a lot,
      Sebastian

      EDIT: The different modes of the 8BitDo controllers and their implications as well as the cause of the missing L2/R2 triggers have been well described in this post, I was not able to find a solution in there though.

      EDIT2: I ruled out UAS issues (SSD over USB3 SATA adapter) in regards to the loading times. UAS is disabled in the JMicro firmware, hdparm clocks read speed @ ~300 MB/s. Never mind the loading time question though, I tracked it down to a couple of duplicate ROMs (SD/SSD) that apparently caused that issue even on unrelated systems. After clearing every ROM and gamelist from the SD loading times are back to normal. The original text was therefore corrected.

      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.