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.
Quoting: MayeulCWell, 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...).Unfortunately, xow depends on a closed-source binary blob, that is covered by this "super helpful" license:
https://github.com/medusalix/xow/blob/master/LICENSE-FIRMWARE :(
See more from me