Please do not post a support request without first reading and following the advice in

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

  • 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:

  • 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?

  • Global Moderator

  • @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 to execute another script asynchronously:

    ./ &

    sleep 10s
    sudo invoke-rc.d bluetooth restart

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

  • @mitu
    I finally got it to work. My now looks like this:

    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.

  • 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.

  • @wihaedud

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

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.