I'm about to buy a controller, I was thinking on the xbox one controller, but i'm not quite sure if it is compatible with linux systems.
I have Debian 8 installed on my computer.
It´s supported natively in the kernel (3.17 or newer) by the xpad driver.
If you have an older one (like 3.16 in Debian 8) you need to install the updated xpad driver.
You may need to disable Controller support in Steam if you are using it.
You first need to find out which type of controller you have:
Only the second one works wireless in Linux.
You want to use the xpadneo driver.
Update: as matt.LLVW commented, it's now possible to use the xow user mode driver to make it work with both models of the wireless adapter.
Controllers on Linux has always been a little tricky. There should be no reason why it will not work, but might require a setup process. You will require a driver. Either xpad or xboxdrv exist to accomplish this. Xbox One controllers should be "known" and this elevates the need to manually edit config files.
First, install the xpad kernel driver.
sudo apt-get install xpad
At this point, you can try to connect the controller and see if you can map controls in-game.
If that does not work (or you would prefer more customization) install xboxdrv
sudo apt-get install xboxdrv
Then load the module (adding the parameter to disable xpad, if you have it loaded)
sudo xboxdrv --detach-kernel-driver
Then try to map your controls.
I've had luck with 360 controllers using xpad on my Arch Linux machine. After loading the module, I was simply able to map controls in games and emulators.
Source: https://unixblogger.com/2016/05/31/how-to-get-your-xbox-360-wireless-controller-working-under-your-linux-box/ (NOTE: Though the guide is for 360 controllers, xboxdrv supports Xbox One controllers, as indicated on their GitHub page Here
xpad
package in some other linux repositories refers to a desktop note application.
Commented
Jun 24, 2021 at 13:14
Maybe it's time to upgrade your Debian 8 setup. Debian 10 is almost here, and Debian 9.6 was released November 2018.
I'm using Arch Linux here and except the fact that i had to install xboxdrv
using my package manager(pacman
) the instruction should remain the same with Ubuntu and Debian. Install the packages:
sudo apt-get install xboxdrv
Start the services:
sudo systemctl enable xboxdrv.service
sudo systemctl start xboxdrv.service
This will enable the driver and the service on every boot, and it will also start the service on your current session.
Please note that i'm suggesting you to upgrade your Debian setup cause the xboxdrv
package got new versions on Debian 9 and 10.