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

    My Bluetooth controller works inside the menu, but I have to reconnect it for games

    Scheduled Pinned Locked Moved Help and Support
    xbox one sbluetoothwireless
    7 Posts 3 Posters 2.7k 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.
    • W
      wihaedud
      last edited by

      I used this tutorial to pair my XBox One controller with RetroPie:

      And it works perfectly fine in the menu. When I start a game(NES, SNES, GB, GBC, GBA, Megadrive) I get the message "100: Xbox Wireless Controller configured in port #0." Despite this, no inputs are registered. I can press any button and see no reaction.

      However, when I turn my controller off and on again, the controller also works inside the game - until I start a new game. Basically, I need to restart my controller for every game. If I use a micro-usb cable, everything works fine without restarting. Does anybody know, how to fix this?

      My Build:
      Raspberry Pi 3B+
      Official Raspberry Pi Power Supply
      RetroPie 4.4
      Built From Pre made SD Image on RetroPie website
      Controller used: XBox One Controller (Wireless)
      Default Emulators

      I have also installed a power button with a LED according to this guide:

      1 Reply Last reply Reply Quote 0
      • W
        wihaedud
        last edited by wihaedud

        Ok, I've found another way to "fix" the freezing. While I was in the game I restarted bluetooth with:

        sudo invoke-rc.d bluetooth restart

        After this the controller worked fine again. Is there a way to automatically execute this line after I booted a emulator?

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

          @wihaedud Maybe using the onstart script - https://retropie.org.uk/docs/Runcommand/#runcommand-onstart-and-runcommand-onend-scripts.

          1 Reply Last reply Reply Quote 1
          • W
            wihaedud
            last edited by wihaedud

            @mitu
            Doesn't work unfortunatly. The command is executed before the emulator actually starts. I need it to be executed while the emulator is running. I tried using sleep 10s to delay the bluetooth-restart. However, apparently the emulator waits until the entire script is executed before it starts. Right now, I am trying to use the runcommand-onstart.sh to execute another script asynchronously:

            runcommand-onstart.sh:

            ./bt.sh &
            

            bt.sh:

            sleep 10s
            sudo invoke-rc.d bluetooth restart
            

            When I execute runcommand-onstart.sh from my SSH-client, it executes bt.sh. However, it isn't executed by starting the emulator...

            1 Reply Last reply Reply Quote 0
            • W
              wihaedud
              last edited by wihaedud

              @mitu
              I finally got it to work. My runcommand-onstart.sh now looks like this:

              bluetooth()
              {
              sleep 5s
              sudo invoke-rc.d bluetooth restart
              }
              
              bluetooth &
              

              This solution may not be very elegant, but is a good-enough workaround for now. Thank you for your tip on onstart. Without it I wouldn't be able to fix this problem. And as a side effect I have learned something about the shell.

              1 Reply Last reply Reply Quote 0
              • W
                wihaedud
                last edited by

                I looked at it again, because I was not happy with this solution. Looks like the only thing I had to do, was to reconfigure the controller within RetroArch. Now it works like a charm without this stupid script I wrote. I feel a bit stupid for trying this overcomlicated fix, when the real solution was so simple.

                K 1 Reply Last reply Reply Quote 0
                • K
                  klingklangmatze @wihaedud
                  last edited by

                  @wihaedud

                  Hi. What did you reconfigure in RetroArch to solve your XBox One Controller problem? I think I have the same problem.

                  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.