How to Set Up an Xbox One Controller in Ubuntu

Playing your favorite games on a computer doesn’t mean you need to give up the comfort and familiarity of your console controller. In fact, you can enjoy the precision and ergonomics of an Xbox One controller even while gaming on Ubuntu, an operating system appreciated for its stability and security. While Ubuntu is not known for gaming, recent developments have made it more gaming-friendly, including better support for game controllers. In this guide, you’ll learn how to set up your Xbox One controller on an Ubuntu system so you can dive into gaming with the controller you know and love.

how to set up an xbox one controller in ubuntu

Installing Xbox Driver

Before you can start using your Xbox One controller on Ubuntu, you need to ensure that the proper driver is installed. Ubuntu usually recognizes the Xbox One controller without additional software, but installing the xboxdrv package can help smooth out compatibility issues and provide a better gaming experience.

  1. Open Terminal on your Ubuntu system. You can do this by pressing Ctrl+Alt+T or by searching for “Terminal” in your applications menu.
  2. Update your system’s package list by typing sudo apt-get update and pressing Enter.
  3. Once the list is updated, you can install the driver by entering sudo apt-get install xboxdrv.
  4. Enter your password if prompted, then press Enter to proceed with the installation.
  5. After the installation is complete, you might need to reboot your system to ensure that the changes take effect.

Once the driver is installed, your system should recognize the controller, and you’ll be ready to configure it for your games.

Summary: Installing the xboxdrv package improves the experience of using an Xbox One controller with your Ubuntu system. It can help address compatibility issues and enhance functionality. The only drawback might be if the system does not fully recognize the controller after installation, which could require additional troubleshooting.

Pairing Controller via Bluetooth

If you’d prefer a wireless setup and your Xbox One controller supports Bluetooth connectivity, Ubuntu can also accommodate this.

  1. Make sure your computer has Bluetooth capability. Most modern laptops come with built-in Bluetooth, but if you’re using a desktop, you might need a Bluetooth dongle.
  2. Open the Bluetooth settings on your Ubuntu system. You can find this in the system settings menu or by searching for “Bluetooth” in your applications.
  3. Put your Xbox One controller into pairing mode by holding down the Xbox button until it lights up, then hold the pairing button until the Xbox button starts flashing.
  4. On Ubuntu, click ‘Bluetooth Settings’ in the Bluetooth menu, which should start searching for new devices.
  5. Select your controller from the list of devices and click “Pair”.
  6. Once paired, the Xbox button will stay lit, indicating it is connected to your system.

Summary: Pairing your Xbox One controller with Ubuntu via Bluetooth provides a wireless experience that can be more convenient and comfortable. It eliminates the need for cables and allows greater freedom of movement. However, Bluetooth connections can sometimes be less stable than wired ones and may introduce input lag, which could be a drawback for competitive gaming.

Connecting with a USB Cable

Sometimes the simplest method is the best one, especially if you want to avoid potential Bluetooth connectivity issues.

  1. Locate a micro-USB cable (the same used for most Android smartphones).
  2. Plug the small end of the USB cable into the port on top of the controller.
  3. Connect the other end of the USB cable to a USB port on your Ubuntu computer.
  4. The Xbox button on the controller will light up when it is connected properly.
  5. Ubuntu should automatically recognize the controller and make it available for use in your games.

Summary: Connecting your Xbox One controller through a USB cable is straightforward and provides a stable connection without the worry of battery life or interference. This method typically results in lower latency, which is beneficial for gaming responsiveness. The downside is the lack of mobility due to being physically tethered to your computer.

Using the Controller with Steam

Steam, a popular gaming platform, offers robust support for the Xbox One controller. Configuring your controller with Steam will enhance your gaming experience on the platform.

  1. If you haven’t already, install Steam on Ubuntu. Open Terminal and enter the command sudo apt-get install steam and follow the on-screen instructions.
  2. Open Steam and log in to your account.
  3. Connect your Xbox One controller to your computer via USB or Bluetooth.
  4. Click on “Steam” in the top-left corner of the Steam client, then go to “Settings”.
  5. Under the “Controller” tab, select “General Controller Settings”.
  6. Steam will automatically detect your Xbox One controller. You can customize button mappings and configurations as desired.

Summary: Using the Xbox One controller with Steam can greatly enhance your gaming experience due to the platform’s native controller support. Steam includes controller configuration options and the ability to customize your experience. The limitation here is that this setup is specific to the Steam platform and may not apply to games outside of it.

Adjusting Controller Settings via Gamepad Tool

Some users may prefer a graphical interface to configure their Xbox One controller settings. The Gamepad Tool offers a user-friendly way to do this.

  1. Install Gamepad Tool by opening the Terminal and typing sudo apt-get install gamepad-tool.
  2. Once installed, launch the Gamepad Tool from your applications menu.
  3. Connect your Xbox One controller to your Ubuntu system.
  4. The Gamepad Tool should immediately recognize your controller.
  5. Use the interface to adjust button mappings and other settings according to your preferences.

Summary: The Gamepad Tool offers a simple graphical interface for adjusting your Xbox One controller settings on Ubuntu. It’s ideal for those who prefer visually managing configurations. However, it’s important to note that the tool may not support all games, and users might need additional configuration for certain titles.

Customizing with AntiMicro

If you want to map keyboard and mouse actions to your Xbox One controller for games that do not natively support controllers, AntiMicro is a great tool.

  1. Install AntiMicro by opening Terminal and typing sudo apt-get install antimicro.
  2. After installation, open AntiMicro from your applications menu.
  3. Connect your Xbox One controller, and it should be detected by AntiMicro.
  4. Use the AntiMicro interface to map keyboard and mouse functions to the controller buttons.

Summary: AntiMicro is a utility that allows for extensive customization of your Xbox One controller’s button mappings, translating to keyboard and mouse inputs. This makes it possible to play games without native controller support. The downside is that it may require more complex setup and experimentation to find the ideal configuration for each game.

Checking Controller Battery Level

Knowing the battery level of your controller can be vital, especially if you’re using it wirelessly.

  1. To check the battery level, you might need to install an additional tool like “jstest-gtk” through Terminal: sudo apt-get install jstest-gtk.
  2. After installing jstest-gtk, open it from your applications menu.
  3. Select your controller from the list, and you should be able to view the battery status, among other information.

Summary: Checking the battery level of your Xbox One controller is important to avoid disruptions during gameplay. Using tools like jstest-gtk can help keep an eye on your controller’s battery life. However, the battery status might not always be accurate and can vary depending on the controller’s condition and the Bluetooth signal strength.

Resolving Connectivity Issues

Sometimes, after connecting your Xbox One controller, it may not work as expected. A few troubleshooting steps can resolve most issues.

  1. First, check if your controller is correctly paired or connected via USB.
  2. Reboot your computer, as this can resolve many connectivity issues.
  3. If using Bluetooth, ensure that the controller isn’t paired with another device that could be interfering.
  4. Re-pair your controller, making sure that it’s in pairing mode and that your Ubuntu system is scanning for devices.
  5. Check for updates on your system using sudo apt-get update and sudo apt-get upgrade in Terminal.

Summary: Connectivity issues are a common problem, but they can usually be resolved by re-pairing the device, checking for interferences, or simply rebooting. Although these steps should fix most problems, sometimes there can be more complex issues which might require additional support.

Investigating Compatibility Variations

Not all Xbox One controllers are created equal, especially when it comes to PC compatibility.

  1. Verify which version of the Xbox One controller you have, as some older models might not support Bluetooth connectivity and require a USB connection or a wireless adapter.
  2. Research your controller model to understand its compatibility with Ubuntu.
  3. Explore community forums and resources to gather information on how others have managed to connect similar controller models to Ubuntu.

Summary: Compatibility can vary between different models of Xbox One controllers. Some might only work with a cable or specific wireless adapter. While this does introduce an element of uncertainty, community forums and resources are valuable in seeking assistance for particular models.

Automating Controller Setup with Scripts

For those who frequently disconnect their controller or use multiple controllers, automating the setup process might save time and hassle.

  1. You can create simple bash scripts to execute the necessary commands for connecting or configuring your controller.
  2. Scripting requires some knowledge of bash and understanding the commands involved in connecting your controller.
  3. Guides and templates for such scripts can often be found in online communities and forums.

Summary: Automation through scripts can make connecting and configuring Xbox One controllers more convenient for advanced users. However, scripting can be daunting for non-technical users and may require assistance or significant learning upfront.


Embracing the flexibility of Ubuntu doesn’t mean you have to leave behind the gaming comforts provided by devices like the Xbox One controller. By following the comprehensive steps outlined in this guide, you’ll be well on your way to enjoying a seamless gaming experience, all from the convenience of your Ubuntu operating system. With a bit of setup, your gaming sessions can be just as immersive and responsive as they are on your Xbox console.


  1. Why isn’t my Xbox One controller connecting to my Ubuntu system?
    There could be various reasons, from driver issues, compatibility problems, to simple pairing or hardware malfunctions. Follow the troubleshooting tips provided in this guide to diagnose and resolve common issues.

  2. Can I use more than one Xbox One controller with Ubuntu?
    Yes, you can connect multiple controllers to your Ubuntu system. You’ll need to pair each one individually if using Bluetooth, or simply connect them via USB cables.

  3. Will my Xbox One controller vibration function work on Ubuntu?
    Vibration support can vary. Some games and applications on Ubuntu may support haptic feedback, while others may not. You may need to enable vibration within the game settings if available.

You may also like

Leave a reply

Your email address will not be published. Required fields are marked *

More in How-To