Connect XBox Controller over Bluetooth in Linux
Part of 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