[Solved]Xbox One controller(bluetooth) not working in games.
DavidB21 last edited by DavidB21
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
Config Files: all config: https://pastebin.com/4QmDUiTp
# 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.
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
/opt/retropie/configs/all/retroarch.cfgto default - copy the
retroarch.cfg.rp-distfile 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"
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
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.
@DavidB21 Remove the
.cfgfile, then rename the other and remove the
Save on Exitis 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.
- exit Emulationstation with
git clone https://github.com/atar-axis/xpadneo
- reboot, then reset your input configuration and re-configure the gamepad again in Emulationstation.
- exit Emulationstation with
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.
* replacing version string if necessary * copying module into /usr/src * adding module to DKMS ./install.sh: line 30: dkms: command not found
Efriim last edited by Efriim
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.
edmaul69 last edited by edmaul69
@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.
edmaul69 last edited by
@DavidB21 read my last post
@edmaul69 I just did I am about to try that.