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!


If you want to get the XboxDRV driver installed on Ubuntu, open up a terminal and enter the following command:

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.

Now that it’s enabled, you can start the service so that you can use the driver right away.

After all of this is done, XboxDRV should be operational.

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:

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:

After the code has been added, press “Ctrl + O” to save the file, and then restart the driver:

After that you should be able to use multiple controllers.


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:

Once the PPA is on your system, you’ll need to update your system’s software sources.

After that, install the driver (along with the kernel headers if you don’t have them already):

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.


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:

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:

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.