Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
We do often include affiliate links to earn us some pennies. See more here.

If you're using an Xbox One controller on Linux, you should keep an eye on the xow driver which aims to support multiple versions of it and multiple controllers.

xow 0.3 was released last night adding in full rumble functionality "including triggers", udev rules so you no longer require root/super user privileges, there's a Makefile uninstall target and they added support for the Xbox One Elite Controller too. Additionally, it fixes an incompatibility with the mt76 kernel driver and a crash when unplugging the dongle while pairing.

Currently, the people hacking away at it said the driver supports both the slim and bulky versions of the Wireless Dongle and at least the Xbox One controllers with model numbers 1697, 1698 and 1708.

Really great to see people work on projects like this, where no official support is given to our platform it's amazing that people can do this. These types of projects make gaming on Linux just that little bit nicer and easier.

With xow, keep in mind it's still quite early in development and they could likely use more feedback especially on the various different models.

You can find it on GitHub.

Article taken from GamingOnLinux.com.
12 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
11 comments
Page: 1/2»
  Go to:

MayeulC Jan 24, 2020
Someone (I would if I had time and an xbone controller) should really upstream that into a kernel module (it's GPLv2 as well).
NovaTiny Jan 24, 2020
Quoting: MayeulCSomeone (I would if I had time and an xbone controller) should really upstream that into a kernel module (it's GPLv2 as well).

If you start a fundraiser I could donate 20€.
benjamimgois Jan 24, 2020
It's working great ! i have an old bulky dongle and everything works now! I was playing on cable for ages on linux because of it.
BrazilianGamer Jan 24, 2020
Kudos to this guy. Awesome work. I do not own a XOne controller but it's nice to see initiatives like that


Last edited by BrazilianGamer on 24 January 2020 at 2:01 pm UTC
dreamer_ Jan 24, 2020
Quoting: MayeulCSomeone (I would if I had time and an xbone controller) should really upstream that into a kernel module (it's GPLv2 as well).
Heh, I just looked up the source code... It's C++, so this particular project will provide userspace driver support at best. :( Unless the project will be rewritten in C, it won't be accepted in kernel.
Pompesdesky Jan 24, 2020
Any chance this would help in case of Bluetooth connection with Xbox One controller ? Mine keeps connecting/deconnecting indefinetely, I could never get it to work.
dreamer_ Jan 24, 2020
Quoting: PompesdeskyAny chance this would help in case of Bluetooth connection with Xbox One controller ? Mine keeps connecting/deconnecting indefinetely, I could never get it to work.
Bluetooth connection to Xbox One S controller (I presume that's the one you are talking about) works (almost) out of the box… except you need to switch a specific bluetooth driver option. Create file /etc/modprobe.d/bluetooth.conf and place following line inside:
options bluetooth disable_ertm=1

Restart computer or reload module after creating the file. If you want to learn what this file is, documentation is in manual pages: man modprobe and man modprobe.d


Quoting: GuestNot even sure how to go about github things..... so how would I install this? Did do a search etc...but not much helping.
Instructions are right there in the README.md file. If you don't know how to follow them, then I would advise not to install it and wait for your distribution to prepare a package instead. This is an experimental driver developed outside of the kernel - if you don't know what you're doing, you could easily break your Linux installation.


Last edited by dreamer_ on 24 January 2020 at 4:22 pm UTC
x4mer Jan 24, 2020
Quoting: PompesdeskyAny chance this would help in case of Bluetooth connection with Xbox One controller ? Mine keeps connecting/deconnecting indefinetely, I could never get it to work.

I have been using bluetooth connectivity for about a year on Linux, after getting the ERTM setting fixed so it didn't repeatedly dis/connect. Even then, I fairly often had problems with multiple XBox One S controllers. They would become unresponsive during a race even though the lights said it was connected fine, or rumble going nuts and not stopping till I quit the game and relaunched to continue. Many times in Rocket League, my controls would just go dead and I'd have to turn off the controller and back on. If I was lucky this would work and I'd only be a bad teammate for <10secs, but otherwise I'd have to completely shut down and power off the PC to do a hardware reset of the bluetooth receiver.

Since switching to xow, it's great. There was a rumble problem with ALL games launched under Proton, but that has been fixed. I've been cloning the repo and building a new version when there's been worthy changes, but now that .3 is out it should be in great shape for use.

Under Windows, you can plug any 3.5mm headset in to the controller and it would automatically divert OS audio to the headset, and switch back when unplugged. I thought this was an amazing feature. The xow author has it on his todo list for Linux, but is looking for help on Github. Would love to see that last part working.
ugly Jan 25, 2020
Quoting: PompesdeskyAny chance this would help in case of Bluetooth connection with Xbox One controller ? Mine keeps connecting/deconnecting indefinetely, I could never get it to work.
Using xpadneo makes things a bit easier.

But I've experienced a lot of issues with Bluetooth dongles. Particularly dongles that use the Broadcom chipset. They connect easily, but keep disconnecting. Dongles that use the CSR chipset, have trouble connecting initially, but tend to work well afterwards.

At xpadneo, some users have been reporting how different Bluetooth dongles work: https://atar-axis.github.io/xpadneo/#bt-dongles
MayeulC Jan 26, 2020
Quoting: NovaTiny
Quoting: MayeulCSomeone (I would if I had time and an xbone controller) should really upstream that into a kernel module (it's GPLv2 as well).

If you start a fundraiser I could donate 20€.

Haha, thanks, but I guess a bounty would be the best way to go about this (and time is harder to get than money right now).

Quoting: dreamer_
Quoting: MayeulCSomeone (I would if I had time and an xbone controller) should really upstream that into a kernel module (it's GPLv2 as well).
Heh, I just looked up the source code... It's C++, so this particular project will provide userspace driver support at best. :( Unless the project will be rewritten in C, it won't be accepted in kernel.

Well, C code is just there to tell the kernel how the thing works, the hard part is figuring that out. Even if it was written in C, you'd still have to rewrite most of it to leverage the kernel interfaces anyway. And being license-compatible, you're free to open two editors side-by-side, and start using exactly the same algorithms, instead of reverse-engineering them from the hardware, or driver (would have been a shame to have to reverse-engineer an open source driver...).
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.