How to Set Up an Xbox One Controller in Ubuntu

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:

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!

Image credit: XBOX ONE @ Gamescom, SteamOS Logo

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox