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

[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: https://pastebin.com/4QmDUiTp

    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.

    https://techwiztime.com/guide/retropie-xbox-one-controller/

    do you have a configuration file for the xbox one controller in
    /opt/retropie/configs/all/retroarch-joypads?


  • 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\autostart.sh



  • @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 https://github.com/atar-axis/xpadneo:

    1. exit Emulationstation with F4
    2. run git clone https://github.com/atar-axis/xpadneo
    3. run cd xpadneo
    4. run sudo ./install.sh
    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 install.sh

    * replacing version string if necessary
    * copying module into /usr/src
    * adding module to DKMS
    ./install.sh: 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.