====== Connect XBox Controller over Bluetooth in Linux ====== Part of [[engineering:computer_science:linux:linux|Linux]] ===== Overview: ===== * Make sure you your bluetooth adapter is detecting bluetooth devices of any kind eg: your smartphone is visible and it's found * Use "jstest-gtk" to test that if the buttons / analogues are working as expected * If not, but the controller is connected, "xboxdrv" might be missing ===== How To: ===== * Install "jstest-gtk" and make sure you have your "blueman" packages installed * Using "blueman-manager" search, connect and pair with your XBox Controller * To start pairing on the Controller, press and hold the button that is in between the L/R triggers until the light flashes rapidly * If you are connected, use "jstest-gtk" to see if the control is being detected when pressed. If not: * install "xboxdrv" and re-pair your controller * If you are on an older firmware (pre 5.12) you might need to disable ERTM (Enhanced Re-Transmission Mode) * Temporarily: * sudo -i * echo 1 > /sys/module/bluetooth/parameters/disable_ertm * exit * sudo systemctl restart bluetooth * Permanently * sudo nano /etc/modprobe.d/bluetooth.conf * options bluetooth disable_ertm=Y ===== Extra help: ===== If you require a bluetooth gui helper for connecting and making sure it's working, you can't go wrong with "bluetooth-wizard", part of "bluez-gnome". This can help in identifying issues in case you can't detect anything, and you are not sure if the issue is on the XBox controller or in your Bluetooth adapter. ===== Tested with: ===== TP-Link U500 - Not working as of 20/01/2022. TP-Link UB400 - Working