For a while now the Linux kernel has supported the Microsoft Xbox One controller officially. That being said, support isn’t the greatest. For starters there are some tweaks that could be done as well as the ability for multiple controller support and more. In this article we’ll show you how to set up an Xbox One controller in Ubuntu.
To be more specific we’ll go over how to use the alternative driver, the SteamOS patched driver, configuring the controller with specific tools, tweaking it, etc. If you’re a Linux gamer and the Xbox One controller is your go-to, you may want to keep on reading! Let’s get started!
Using Xbox DRV
If you want to get the XboxDRV driver installed on Ubuntu, open up a terminal and enter the following command:
sudo apt-get install xboxdrv
Once the driver is installed, everything should be mostly set up. No need to blacklist anything, as everything should work out of the box. However, in order for XboxDRV to work effectively, some
systemd services will need to be enabled.
Start off by enabling the service. This will make sure that XboxDRV will work every time you boot right out of the gate.
sudo systemctl enable xboxdrv.service
Now that it’s enabled, you can start the service so that you can use the driver right away.
sudo systemctl start xboxdrv.service
After all of this is done, XboxDRV should be operational.
Multiple controllers with Xbox DRV
Remember earlier when we said that the XboxDRV driver is better in some ways? This is the main draw to this driver. The default driver, though impressive, doesn’t have solid multi-controller support. We can’t confirm that it’s not possible; however, with XboxDRV this is confirmed to work.
Here’s how to set it up. Start out in a terminal and enter the following:
sudo nano /etc/default/xboxdrv/
This is the default configuration file. If you’re looking to add multi-controller support, you’ll need to add the following code to this file. Paste it under “silent = true” in the file. Here’s the code:
[xboxdrv] silent = true next-controller = true next-controller = true next-controller = true
After the code has been added, press “Ctrl + O” to save the file, and then restart the driver:
sudo systemctl restart xboxdrv.service
After that you should be able to use multiple controllers.
Using the SteamOS patched driver
If you’re interested in sticking with the Xpad driver, you might be interested in Valve’s modified driver. It’s fixed up and specialized for SteamOS and Valve’s steambox consoles. All you’ll need to get it going is to add a PPA to your system. During the installation the current driver should be taken out, so no worries.
Start off by adding the PPA:
sudo add-apt-repository ppa:mdeslaur/steamos
Once the PPA is on your system, you’ll need to update your system’s software sources.
sudo apt-get update
After that, install the driver (along with the kernel headers if you don’t have them already):
sudo apt-get install steamos-xpad-dkms linux-headers-generic
After the driver is installed, simply reboot your machine. From here, you’ll be using the Valve-modified controller driver with your Xbox One controller.
Get more out of your controller with AntiMicro and JSTest
Drivers are one thing, and they certainly can make your Xbox One controller better on Ubuntu, but ultimately, if you want some solid configuration, you’ll need to check out some programs – two programs to be exact, the first one being JStest. It’s a simple and useful tool that you can use to calibrate your controllers’ axis.
Install it here:
sudo apt-get install jstest-gtk
The second program is Antmicro. If you’ve ever used Windows before, you might be familiar with a program called Xpadder. What it does is allow you to map keyboard and mouse functions directly to any controller plugged in.
This is what Antimicro does. When your Xbox One controller is detected on the system, you’ll easily be able to map keys and mouse gestures to the controller. This sort of thing is perfect if you’re playing a game that does not have gamepad support.
Install it here:
sudo add-apt-repository ppa:ryochan7/antimicro sudo apt-get update sudo apt-get install antimicro
Though we are Linux gamers, we have to admit one thing: Microsoft knows how to make a controller. Out of all the controllers out there, the Xbox gamepad manages to be the most comfortable – and it seems that the gaming community at large agrees with this fact. Both the 360 and the One controller are among some of the most supported gamepads on all of the major PC platforms.
Hopefully, with the help of this article, you’ll be able to get more out of the Xbox One controller on Ubuntu.
What’s your preferred gaming controller to use on Ubuntu? Let us know below!
Our latest tutorials delivered straight to your inbox