On Linux instead of replacing the driver, you have to add an udev rule that allows applications to communicate with the USB device directly: https://github.com/ValveSoftware/steam-devices/blob/master/6... And you can see in this list, it's not the only controller with that requirement.
SteamOS includes this by default.