Using Xbox Controller on Archlinux
Xbox Controller Connection Guide on Arch Linux
On Arch Linux, there are three main ways to connect an Xbox controller. Please choose the driver solution corresponding to your connection method:
| Connection Method | Recommended Driver | Scope / Compatibility |
|---|---|---|
| USB Wired | xpad |
Built into the kernel; plug-and-play. |
| Bluetooth | xpadneo |
Xbox One S / Series X|S / Elite 2. |
| Wireless Adapter | xone |
Official Microsoft Xbox Wireless Adapter (USB dongle). |
1. USB Wired Connection
The wired mode is the most straightforward. The Arch official kernel includes the xpad module by default, and it usually works out of the box.
Troubleshooting Steps:
-
Check if the driver exists:
modinfo xpadIf detailed information is displayed, the driver is present. If not, check if you are using a stripped-down/minimal kernel.
-
Check if the driver is loaded:
lsmod | grep '^xpad\b'If there is no output, load the driver manually:
sudo modprobe xpad -
Check if it is disabled: If it stops working after a reboot, check the configuration files:
/etc/modprobe.d/*.conf/usr/lib/modprobe.d/*.confIf you findblacklist xpad, comment it out (add a#at the beginning of the line), then reload the driver.
Note: If you have
xoneinstalled, it is normal forxpadto be blacklisted/disabled; you do not need to re-enable it.
2. Bluetooth Connection
For Bluetooth connections, the xpadneo driver is recommended. Compared to the default kernel solution, it provides better support for battery level reporting, rumble feedback, and button mapping.
Supported Models: Xbox One S, Xbox Series X|S, and some Elite Series 2 models.
Installation Steps:
- Install Dependencies: Ensure you have the headers for your current kernel installed (e.g.,
linux-headers). - Install the Driver:
yay -S xpadneo-dkms # Or use your preferred AUR helper - Restart Bluetooth Service:
sudo systemctl restart bluetooth.service - Pairing: Put the controller into pairing mode and complete the connection via your desktop environment’s settings or
bluetoothctl.
Common Issues:
If you experience pairing failures, immediate disconnections, or frequent reconnecting, it is usually caused by outdated controller firmware. It is recommended to update the firmware using the Xbox Accessories app on a Windows system.
3. Wireless Adapter Connection
If you are using the official Microsoft Xbox Wireless Adapter (USB dongle), you should use the xone driver.
Note:
xonewill take over the device and disablexpadto prevent driver conflicts. It supports both the wireless adapter and wired connections.
Installation Steps:
- Install Dependencies: Ensure the headers for your current kernel are installed.
- Install Driver and Firmware:
yay -S xone-dkms xone-dongle-firmware - Reboot: According to the ArchWiki, a reboot is required after installation to correctly load the firmware and take over the device.
After rebooting, simply plug in the adapter to connect. If you experience latency or abnormal behavior, try updating the controller firmware first.
References
- ArchWiki: Gamepad - Xbox Wireless Controller
- xpadneo (Bluetooth): GitHub
- xone (Adapter): GitHub