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

[Solved]Xbox One controller(bluetooth) not working in games.

  • Pi Model: 3b+
    Power Supply: Official Cana Kit power supply
    RetroPie Version: 4.4.14
    Built From: Installed on top of latest version of raspbian
    USB Devices: Wireless Keyboard dongle
    Controller used: Xbox One model:1708
    Error messages: None that I know of
    Emulator: NES(fceumm)
    Config Files: all config:

    nes config:

    # Settings made here will only override settings in the global retroarch.cfg if placed above the #include line
    input_remapping_directory = "/opt/retropie/configs/nes/"
    #include "/opt/retropie/configs/all/retroarch.cfg"

    How to replicate the problem:
    Run emulationstation, connect and configure Xbox one controller to Raspberry Pi, launch nes emulator, try to use the controls.

    I am trying to run Super Mario Bros on the NES emulator and whenever I launch the ROM it says: "100% Xbox Wireless Controller configured in port #0" in yellow text in the bottom left corner. When I try to play the game none of the controls work at all. I have tried going into RetroPie-Setup >> Manage Packages >> Manage core packages >> emulationstation >> Configuration/Options >> Clear/Reset Emulation Station input configuration and that doesn't work. I do not know what to do and I have looked around on this site but it seems like there are any solved posts for my issue.

  • @DavidB21 said in Xbox One controller(bluetooth) not working in games.:

    Xbox one controller

    I haven't used an xboxone controller but I did do a google search for you.

    do you have a configuration file for the xbox one controller in

  • Global Moderator

    Reset your /opt/retropie/configs/all/retroarch.cfg to default - copy the retroarch.cfg.rp-dist file over - and then try again. Don't use 'Save Configuration' or 'Save config on exit' for now.

  • @mitu Do I just copy and paste the retroarch.cfg.rp-dist onto the retroarch.cfg file? And how do I turn off the Save Configuration setting?

  • @Efriim Yes I do and here is the file:

    input_device = "Xbox Wireless Controller"
    input_driver = "udev"
    input_r_y_plus_axis = "+3"
    input_r_x_minus_axis = "-2"
    input_l_btn = "6"
    input_load_state_btn = "6"
    input_start_btn = "11"
    input_exit_emulator_btn = "11"
    input_r_y_minus_axis = "-3"
    input_down_btn = "h0down"
    input_l_x_plus_axis = "+0"
    input_r_btn = "7"
    input_save_state_btn = "7"
    input_right_btn = "h0right"
    input_state_slot_increase_btn = "h0right"
    input_select_btn = "15"
    input_left_btn = "h0left"
    input_state_slot_decrease_btn = "h0left"
    input_l2_axis = "-5"
    input_l3_btn = "13"
    input_l_y_minus_axis = "-1"
    input_up_btn = "h0up"
    input_a_btn = "0"
    input_b_btn = "1"
    input_reset_btn = "1"
    input_enable_hotkey_btn = "11"
    input_l_y_plus_axis = "+1"
    input_r2_axis = "-4"
    input_r3_btn = "14"
    input_x_btn = "3"
    input_menu_toggle_btn = "3"
    input_l_x_minus_axis = "-0"
    input_y_btn = "4"
    input_r_x_plus_axis = "+2"

  • @DavidB21
    Looks normal except I have never seen a h0 for d-pad. Why do they call it hat anyways?

    In the link it says that the enhanced re-transmission mode interrupts connection to... RetroPie. Though I thought since you are connected maybe this is outdated.

    If you could connect to SSH or Command line type this to check its status
    cat /sys/module/bluetooth/parameters/disable_ertm

    and then try this
    sudo bash -c 'echo 1 > /sys/module/bluetooth/parameters/disable_ertm'

    the parameter will not be saved upon reboot.
    if you dont want to set up ssh you could edit that line into \configs\all\

  • @Efriim It responded with Y which I assume means it is disabled. So this isn't the problem.

  • Global Moderator

    @DavidB21 Remove the .cfg file, then rename the other and remove the .rp-dist suffix. Save on Exit is not enabled by default in RetroPie and can leave to un-desirable effects - like controllers not working.
    Just reset the config file, then boot up a game to see if the controller is responding.

  • @mitu That didn't work. I booted up the game and everything was the same as it was before.

  • Global Moderator

    @DavidB21 Can you try another system and ROM besides NES ?
    If that doesn't work, then try installing the xpadneo driver from

    1. exit Emulationstation with F4
    2. run git clone
    3. run cd xpadneo
    4. run sudo ./
    5. reboot, then reset your input configuration and re-configure the gamepad again in Emulationstation.

  • @DavidB21
    A difference I could see in the retroarch config is the device index for player 1 2 3 and 4 are all 0, where mine is 0, 1, 2, 3.
    input_player2_joypad_index = "0"
    this should still work for player 1 though.

    Do you have the xboxdrv package installed, and have you configured it or enabled it. I don't know much about this package, it might not be necessary try disabling it.

  • @Efriim I uninstalled that earlier and it did not help.

  • @mitu I got an error when running the

    * replacing version string if necessary
    * copying module into /usr/src
    * adding module to DKMS
    ./ line 30: dkms: command not found

  • @DavidB21
    sudo apt-get install dkms
    dynamic kernel module support or something other.

  • @Efriim thanks that worked

  • @mitu The xpadneo driver worked but there are still some issues with the nes emulator. The xbox controller worked the first time I booted up the nes emulator after installing xpadneo, but then never worked after that. It worked with other emulators, but not with the nes one.

  • @DavidB21 delete the retroarch.cfg file in the nes config folder and then reinstall retroarch.

  • @DavidB21 Also the hotkey to leave the game doesn't work on the nes emulator either.

  • @DavidB21 read my last post

  • @edmaul69 I just did I am about to try that.

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.