Setup the Xbox One controller for Linux Mint 18.3
This post is also available in: Français
Update (February 3rd 2019)
If you wish to support me, you can buy the games I mentioned in this blog post via these Humble Bundle affiliate links and it comes at no additional cost from you. Thanks.
Brütal Legend (Steam multi-platform and DRM-free)
Injustice: Gods Among Us – Ultimate Edition (Steam Windows only)
Jotun (Steam multi-platform)
The King of Fighters ’98 Ultimate Match Final Edition (Steam Windows only)
Hey everyone. Klebs here and today, I’ll show you how to setup an Xbox One controller for Linux Mint 18.3.
I’d like to point out that at the time of this writing, I haven’t yet found a way to make the controller work in wireless mode with the official USB wireless dongle. I’m also aware of its Bluetooth capability although this only applies to the 3rd revision of the controllers that were made available in 2016 while mine were bought before that period.
Getting Started
First of all, I’d like to thank Pavel Rojtberg for developing this driver on GitHub because without him, this wouldn’t have been possible.
Since the controller needs to be plugged in to work, only that and a USB-to-MicroUSB cable are required. AA batteries and the USB wireless dongle won’t be needed.
Before installing the driver, it’s important to make sure Linux is up-to-date by entering this command line in the terminal:
sudo apt update
It’s also possible to take a step further in the update process by using this command line instead:
sudo apt update && sudo apt upgrade
Installing the Xpad driver
In case this hasn’t been done already, make sure these components are installed:
sudo apt install git dkms joystick jstest-gtk
To download and install the driver, enter the following command lines:
sudo git clone https://github.com/paroj/xpad.git /usr/src/xpad-0.4
sudo dkms install -m xpad -v 0.4
Testing the controller in general
Testing the controller with a native Linux version of a game on Steam
For the test under the Linux client of Steam, I chose Brütal Legend and it worked right away.
Testing the controller with a native DRM-free Linux version of a game
For the test of a DRM-free game, I chose Jotun from my GOG library and it worked right away.
Testing the controller with a Windows version of a game on Steam using Proton
For the test of a Windows game under the Linux client of Steam using the Proton feature, I chose Injustice: Gods Among Us Ultimate Edition and The King of Fighters ’98 Ultimate Match Final Edition and both worked right away.
Updating the Xpad driver
It’s good practice to visit the GitHub project page once in a while to check for updates.
In case a newer version is available, here are the steps to proceed with the update:
cd /usr/src/xpad-0.4
sudo git fetch
sudo git checkout origin/master
sudo dkms remove -m xpad -v 0.4 –all
sudo dkms install -m xpad -v 0.4
Deleting the Xpad driver
It’s also possible to delete the driver by entering the following:
sudo dkms remove -m xpad -v 0.4 –all
sudo rm -rf /usr/src/xpad-0.4
Conclusion
Although I’d rather use the controller in wireless mode like I used to do on Windows, I don’t think it’s worth it to replace my old controllers with the newer ones because mine still work just fine. Moreover, I’ve been told using the 3rd revision controller in Bluetooth mode isn’t without its issues. Therefore I’ll keep plugging mine in until a better solution is made available.
Questions? Comments? Let me know, thanks for reading and laters.