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

    Emulation Station Stops Recognizing Controller - Ubuntu 24.04.2 LTS

    Scheduled Pinned Locked Moved Help and Support
    ubuntucontrollerbugissuebluetooth
    9 Posts 2 Posters 68 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.
    • S
      Substandard IQ
      last edited by Substandard IQ

      OS Information:

      Distributor ID: Ubuntu
      Description: Ubuntu 24.04.2 LTS
      Release: 24.04
      Codename: noble
      Kernel Version: 6.11.0-25-generic

      Notes on the issue:

      Connecting via Ubuntu GUI Bluetooth wizard

      • Connecting the controller via Ubuntu GUI Bluetooth wizard,
      • controller will be recognized by emulation station,
      • mapping the controller is successful in emulation station,
      • controller works until the next time the controller is turned off,
      • after the controller is turned back on emulation station no longer recognizes a controller is present.
      • Rebooting the machine/Relaunching Emulation Station does not correct the issue.

      Connecting via RetroPie-Setup Wizard's bluetooth tool

      • Connecting the controller via the RetroPie-Setup Wizard bluetooth tool,
      • controller will be recognized by emulation station,
      • mapping the controller is successful in emulation station,
      • controller works until the next time the controller is turned off,
      • after the controller is turned back on emulation station no longer recognizes a controller is present.
      • Rebooting the machine/Relaunching Emulation Station does not correct the issue.

      This process was repeatable for 3 8bitdo SN30Pro controllers, all controllers are up to date on firmware.

      Clearing the controller settings via RetroPie-Setup Wizard's option does not resolve the issue

      • Within EmulationStation’s options, go to “Configuration / Options”
      • Now, you can reset the controller. Select the first option on this screen: “Clear/Reset Emulation Station input configuration”
      • Confirm with “Ok” on the next couple of screens to reset the controller configuration for Emulation.

      Manually deleting the controller config files does not appear to correct the issue. I did this both in ".emulationstation" directory as well as the retroarch directory in /opt/config/all.

      After 3 controllers have been connected to Emulation Station, the controller configuration file just lists 1 entry. However, an older controller configuration file I located in my backups also shows just the one controller when 2 controllers were attached, so that appears to be normal. maybe?

      Uninstalling and reinstalling all of RetroPie, did not correct the issue at all, controllers were not recognized by Emulation Station after RetroPie was reinstalled.

      Reinstalling Ubuntu yielded the same results, controllers work on initial connection and then stop working if ever powered off.

      The issue appears to some form of conflict with the Ubuntu version I am running and RetroPie.

      Has anyone encountered this issue before?
      Have any suggested logs I can parse through?
      A potential fix?

      mituM 1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator
        last edited by

        This is mostly a Bluetooth issue in the OS - upon re-connection the controller is not longer recognized. Adding the controller via RetroPie's Bluetooth menu or the OS utilities does the same thing underneath (i.e. registers the device with bluetoothd).

        Are the 8BitDo controllers switch on in a certain 'mode' (i.e. Xinput or Android/Switch) ? Some (if not all) 8bitDo controller have multiple operation modes that can be toggled at start.

        What platform are you running on - a PC or a Pi ?

        S 1 Reply Last reply Reply Quote 0
        • S
          Substandard IQ @mitu
          last edited by Substandard IQ

          @mitu
          I am running RetroPie on an old gaming PC, just dropped Ubuntu onto it.

          Followed the primary process that RetroPie has documented.
          https://retropie.org.uk/docs/Debian/

          I will look and see if my version of the 8bitdo SN30Pro controllers can cycle through alternate modes, they are older models that I have had for a few years now.

          I will do some digging into that and let you know if that solves the issue.

          I couldn't find any logs related to the controller input(s) for Emulation Station, are you aware of any?

          mituM 1 Reply Last reply Reply Quote 0
          • mituM
            mitu Global Moderator @Substandard IQ
            last edited by mitu

            @Substandard-IQ said in Emulation Station Stops Recognizing Controller - Ubuntu 24.04.2 LTS:

            I couldn't find any logs related to the controller input(s) for Emulation Station, are you aware of any?

            EmulationStation's log is stored in $HOME/.emulationstation/es_log.txt, but I don't think your issue is with EmulationStation, but rather with the gamepad being recognized by the OS. EmulationStation just looks up the connected controllers, as presented by Linux.

            EDIT: you can start EmulationStation with the --debug parameters (emulationstation --debug) just to see more info about everything (incl. controllers).

            S 1 Reply Last reply Reply Quote 0
            • S
              Substandard IQ @mitu
              last edited by

              @mitu

              That would make sense, from what I can tell the controller stays connected to the OS. Its always present in the list of connected devices in Bluetooth and I can toggle the controller(s) on and off, the controller(s) respond to this feedback.

              I would believe that it is something with the OS and how its presenting the controller to Emulation Station.
              Just not sure what it is currently, something is off in that regards.

              es_log.txt pretty much contains nothing, since I have not really been able to add or run games yet.

              I will try the debug parameter and see if it turns anything up.

              1 Reply Last reply Reply Quote 0
              • mituM
                mitu Global Moderator @Substandard IQ
                last edited by mitu

                @Substandard-IQ said in Emulation Station Stops Recognizing Controller - Ubuntu 24.04.2 LTS:

                After 3 controllers have been connected to Emulation Station, the controller configuration file just lists 1 entry. However, an older controller configuration file I located in my backups also shows just the one controller when 2 controllers were attached, so that appears to be normal. maybe?

                If all the controllers are identical (as model or name), then just 1 configuration entry will be saved and that same input configuration will be applied to all controllers.

                S 2 Replies Last reply Reply Quote 0
                • S
                  Substandard IQ @mitu
                  last edited by Substandard IQ

                  @mitu

                  Okay that makes sense from what I was seeing, they are all 8bitdo SN30 Pro controllers.

                  I did track down the 8bitdo Bluetooth modes.

                  8bitdo has seperate Bluetooth modes:

                  Hold START for 7-8 seconds to turn off the controller.
                  Press the desired face button and START for the next input mode.
                  X + START : Xinput mode, for PC
                  Y + START : Switch mode
                  B + START : Dinput mode, for Android devices or PC
                  A + START : MacOS mode, for Apple computers (NOT PHONES/TABLETS)

                  X and B (PC oriented were tested and did not appear to change functionality regarding Bluetooth)

                  I did dump some data from Ubuntu's Syslog, it does appear that something is amiss according to the bluetooth daemon

                  The odd thing is, it seems to be specific to at least so far the 8bitdo SN30Pro controllers, my keyboard is bluetooth and does not have any issues from what I can tell.

                  May 18 22:52:41 Ubuntu-LTS bluetoothd[1446]: profiles/input/server.c:connect_event_cb() Refusing input device connect: No such file or directory (2)
                  May 18 22:53:08 Ubuntu-LTS bluetoothd[1446]: profiles/input/device.c:ioctl_is_connected() Can't get HIDP connection info
                  2025-05-18T22:53:11.834827-05:00 Ubuntu-LTS kernel: input: Pro Controller as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:256/0005:057E:2009.0009/input/input27
                  2025-05-18T22:53:13.040813-05:00 Ubuntu-LTS kernel: input: Pro Controller as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:256/0005:057E:2009.0009/input/input28
                  2025-05-18T22:53:13.040814-05:00 Ubuntu-LTS kernel: input: Pro Controller (IMU) as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:256/0005:057E:2009.0009/input/input29
                  2025-05-18T22:57:45.092362-05:00 Ubuntu-LTS systemd[2632]: app-gnome-gnome\x2dbluetooth\x2dpanel-916190.scope: Consumed 11.417s CPU time.
                  2025-05-18T23:00:58.138015-05:00 Ubuntu-LTS systemd[2632]: Started app-gnome-gnome\x2dbluetooth\x2dpanel-918724.scope - Application launched by gnome-shell.
                  May 18 23:01:21 Ubuntu-LTS bluetoothd[1446]: profiles/input/device.c:ioctl_is_connected() Can't get HIDP connection info
                  May 18 23:31:45 SubIQ-Cruncher bluetoothd[1446]: profiles/input/device.c:ioctl_is_connected() Can't get HIDP connection info

                  Here is the full grep from Syslog:

                  2025-05-18T22:17:58.084149-05:00 Ubuntu-LTS dbus-daemon[2669]: [session uid=1000 pid=2669] Activating via systemd: service name='org.bluez.obex' unit='obex.service' requested by ':1.134' (uid=1000 pid=835205 comm="/usr/bin/gnome-control-center" label="unconfined")
                  2025-05-18T22:17:58.113301-05:00 Ubuntu-LTS dbus-daemon[2669]: [session uid=1000 pid=2669] Successfully activated service 'org.bluez.obex'
                  2025-05-18T22:52:09.834014-05:00 Ubuntu-LTS systemd[2632]: Started app-gnome-gnome\x2dbluetooth\x2dpanel-916190.scope - Application launched by gnome-shell.
                  2025-05-18T22:52:33.481159-05:00 Ubuntu-LTS systemd[2632]: Reached target bluetooth.target - Bluetooth.
                  2025-05-18T22:52:41.645032-05:00 Ubuntu-LTS bluetoothd[1446]: profiles/input/server.c:connect_event_cb() Refusing input device connect: No such file or directory (2)
                  2025-05-18T22:53:08.874869-05:00 Ubuntu-LTS bluetoothd[1446]: profiles/input/device.c:ioctl_is_connected() Can't get HIDP connection info
                  2025-05-18T22:53:11.834827-05:00 Ubuntu-LTS kernel: input: Pro Controller as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:256/0005:057E:2009.0009/input/input27
                  2025-05-18T22:53:13.040813-05:00 Ubuntu-LTS kernel: input: Pro Controller as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:256/0005:057E:2009.0009/input/input28
                  2025-05-18T22:53:13.040814-05:00 Ubuntu-LTS kernel: input: Pro Controller (IMU) as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:256/0005:057E:2009.0009/input/input29
                  2025-05-18T22:57:45.092362-05:00 Ubuntu-LTS systemd[2632]: app-gnome-gnome\x2dbluetooth\x2dpanel-916190.scope: Consumed 11.417s CPU time.
                  2025-05-18T23:00:58.138015-05:00 Ubuntu-LTS systemd[2632]: Started app-gnome-gnome\x2dbluetooth\x2dpanel-918724.scope - Application launched by gnome-shell.
                  2025-05-18T23:01:21.105278-05:00 Ubuntu-LTS bluetoothd[1446]: profiles/input/device.c:ioctl_is_connected() Can't get HIDP connection info
                  2025-05-18T23:01:22.264823-05:00 Ubuntu-LTS kernel: input: Pro Controller as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:256/0005:057E:2009.000E/input/input30
                  2025-05-18T23:01:22.264824-05:00 Ubuntu-LTS kernel: input: Pro Controller (IMU) as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:256/0005:057E:2009.000E/input/input31
                  2025-05-18T23:02:49.052159-05:00 Ubuntu-LTS systemd[2632]: app-gnome-gnome\x2dbluetooth\x2dpanel-918724.scope: Consumed 3.571s CPU time.
                  2025-05-18T23:31:45.979537-05:00 Ubuntu-LTS bluetoothd[1446]: profiles/input/device.c:ioctl_is_connected() Can't get HIDP connection info
                  2025-05-18T23:31:46.596816-05:00 Ubuntu-LTS kernel: input: Pro Controller as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:256/0005:057E:2009.0018/input/input33
                  2025-05-18T23:31:46.596828-05:00 Ubuntu-LTS kernel: input: Pro Controller (IMU) as /devices/pci0000:00/0000:00:01.2/0000:02:00.0/usb1/1-10/1-10:1.0/bluetooth/hci0/hci0:256/0005:057E:2009.0018/input/input34
                  2025-05-20T12:16:33.844031-05:00 Ubuntu-LTS systemd[2632]: Started app-gnome-gnome\x2dbluetooth\x2dpanel-935280.scope - Application launched by gnome-shell.
                  
                  1 Reply Last reply Reply Quote 0
                  • S
                    Substandard IQ @mitu
                    last edited by

                    @mitu

                    So the bluetooth log was a red herring, turns out those failures were related to the Controller's timing out when I was initially setting them up on bluetooth.

                    I did track down the real culprit though, we may want to mark this as a solution for others that may encounter this issue.

                    May 20 17:53:58 lvl2: Configuring device 2 (Pro Controller).
                    May 20 17:54:20 lvl2: Removed joystick 'Pro Controller' (instance ID: 2)
                    May 20 17:54:24 lvl2: Removed joystick 'Pro Controller' (instance ID: 1)
                    May 20 17:54:28 lvl2: Removed joystick 'Pro Controller' (instance ID: 0)
                    May 20 17:54:36 lvl2: EmulationStation cleanly shutting down.

                    It seems like this is specific to Ubuntu being the base operating system when running RetroPie with 8bitdo SN30Pro controllers.

                    Boot up the machine and open a terminal instance.

                    lsmod | grep -i nintendo
                    

                    Look for "hid_nintendo"

                    This nintendo driver is conflicting with 8bitdo, its not compatible but Ubuntu is pushing it down
                    because it associates the 8bitdo controllers as Nintendo for some odd reason, probably similar schema.
                    I believe this driver is related to using Nintendo Switch controllers, it got pushed out at some point between my older Ubuntu setup and my fresh rebuild.

                    sudo nano /etc/modprobe.d/blacklist-local.conf
                    

                    Make the contents of the file simply:

                    blacklist hid_nintendo
                    

                    Reboot your machine.

                    Upon boot up, open a terminal instance and check for the driver again, it should no longer be loaded

                    lsmod | grep -i nintendo
                    

                    Run the RetroPie setup script and clear your controller settings (no need to remove them at the bluetooth level unless you experience further issues)

                    • sudo ~/RetroPie-Setup/retropie_setup.sh
                    • Go to Emulation Station configuration
                    • Manage Packages -> Core Packages (or All Packages) -> emulationstation -> Configuration or
                    • Configuration / Tools -> emulationstation (or emulationstation dev)
                    • Choose the option to Clear/Reset Emulation Station input configuration

                    Now simply connect your bluetooth 8bitdo SN30Pro controller(s) and start Emulation Station up, it should recognize the controller(s) and allow you to setup the inputs.

                    1 Reply Last reply Reply Quote 0
                    • mituM
                      mitu Global Moderator
                      last edited by

                      Hm, seems like the the hid_nintendo driver has some issues with the 8Bitdo pretending to be a Switch Pro Controller. Thanks for the investigatio and write-up.

                      Generally, users use the XInput mode for 8Bitdo Pro(s) and use the hid_xpadneo driver, probably that's why there haven't been so many reports similar to yours.

                      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.