[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/4QmDUiTpnes 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? -
Reset your
/opt/retropie/configs/all/retroarch.cfg
to default - copy theretroarch.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.
-
@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.
-
@DavidB21 Can you try another system and ROM besides NES ?
If that doesn't work, then try installing thexpadneo
driver from https://github.com/atar-axis/xpadneo:- exit Emulationstation with
F4
- run
git clone https://github.com/atar-axis/xpadneo
- run
cd xpadneo
- run
sudo ./install.sh
- reboot, then reset your input configuration and re-configure the gamepad again in Emulationstation.
- exit Emulationstation with
-
@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.