1. Home
  2. Linux
  3. Wireless xbox one controllers on linux with xow

How to use wireless Xbox One controllers on Linux with XOW

If you own an Xbox One wireless USB dongle, you’ll be happy to know that it is now possible to run the device on Linux. Thanks to the XOW project, the device allows for wireless connectivity on Linux with any Xbox One controller.

To use the XOW driver, you must have an Xbox One S or Xbox One original wireless controller, the Xbox wireless dongle, and a reasonably modern Linux operating system. XOW is under substantial development. This driver may not work correctly (or at all) in some cases. Use it at your own risk!

Note: Need to emulate an Xbox controller on Windows 10? Here’s how.

Downloading XOW

The XOW driver is very new to Linux and has not been in development for a very long time. As a result, it has not made it into the Linux kernel or in any mainstream Linux OS software repository. Instead, if you want to use XOW, you must download it from the project’s GitHub.

Interacting with GitHub requires the Git program. To install Git, open up a terminal window by pressing Ctrl + Alt + T or Ctrl + Shift + T on the keyboard. Then, follow the command-line instructions outlined below.

Ubuntu

sudo apt install git

Debian

sudo apt-get install git

Arch Linux

sudo pacman -S git

Fedora

sudo dnf install git

OpenSUSE

sudo zypper install git

Generic Linux

The Git tool is available on nearly every Linux distribution and is one of the primary tools that all developers on the platform use. If you are using an OS not on this list open up a terminal, search for “git” and install it the way you typically install programs. Or, download Git from the web.

After setting up the Git tool on your Linux PC, XOW is ready to download. Using the git clone command, grab the latest release of the software.

git clone https://github.com/medusalix/xow.git

Move your terminal window into the “xow” folder using the CD command. Then, run the cat command to take a look at the included README.md file, as it contains information on the code you just downloaded to your PC.

Note: close cat with Ctrl + C.

cd xow

cat README.md

Dependencies

The code for XOW is downloaded into your Linux PC. The next step in the process is to install the primary dependency for XOW, Libusb. To install Libusb, follow the installation instructions below that correspond with your Linux operating system.

Ubuntu

sudo apt install libusb-1.0-0-dev libusb-1.0-0

Debian

sudo apt-get install libusb-1.0-0-dev  libusb-1.0-0

Arch Linux

sudo pacman -S libusb

Fedora

sudo dnf install libusb libusb-devel

OpenSUSE

sudo zypper install  libusb-1.0 libusb-1_0-devel

Generic Linux

If you’re building XOW from scratch on a Linux PC that is not covered in this guide, you will need to install Libusb manually. For more information, click here.

Building XOW

To build XOW, you must use the command-line. The reason the terminal is required is that XOW is a CLI application, and there is no known way of compiling it with a GUI app. Follow the step-by-step instructions below to build XOW on your system.

Step 1: Move into the xow folder located in your home directory (~) using the CD command below.

cd ~/xow

Step 2: Run the make command to compile the source code.

make BUILD=RELEASE

Step 3: Run the ls command in the xow folder and determine if the “xow” binary is there.

ls | grep xow

Step 4: Assuming the build is successful, you will see “xow” in the xow folder. Now, install this binary on your Linux PC with the make install command.

sudo make install

Activating XOW

The XOW Xbox wireless dongle driver for Linux functions with the systemd init system. For this reason, it must be enabled via systemd to function correctly. To enable the XOW wireless driver on your Linux PC, do the following.

First, use the systemctl enable command to allow XOW to automatically startup with root privileges each time your system boots up.

sudo systemctl enable xow.service

Then, use the systemctl start command to tell systemd to instantly start up the XOW service so that users on the system can use it.

sudo systemctl start xow.service

With XOW enabled within systemd, your Linux PC will have Xbox wireless dongle support.

Turn off XOW

Want to turn off Xbox wireless dongle support on your Linux PC temporarily, or permanently? You must make use of the systemd init system.

To turn off the XOW driver with systemd temporarily, make use of the systemctl stop command.

sudo systemctl stop xow.service

Want to shut off XOW permanently? Make use of the systemctl disable command.

sudo systemctl disable xow.service

Using XOW

To use XOW, plug in your USB Xbox One wireless dongle into the USB port on your Linux PC. Then, press the pair button on the Xbox One controller, and pair it to the dongle.

Want more information when pairing your device? Open up a terminal and run the “xow” binary file with the commands below, before trying to pair a controller.

cd ~/xow

sudo ./xow

3 Comments

  1. I managed to install Xow. When running sudo ./xow, I get this error:

    2020-07-29 13:34:04 INFO – xow v0.5-15-g5d11422 ©Severin v. W.
    2020-07-29 13:34:04 INFO – Waiting for device…
    2020-07-29 13:34:04 DEBUG – Opening device…
    terminate called after throwing an instance of ‘UsbException’
    what(): Error setting configuration: LIBUSB_ERROR_BUSY
    Aborted

    What to do? Thank you!

  2. Great. And the result works perfectly. The only addition I had to make (excuse the pun) was to add g++. Many thanks

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.