Linux Gaming Tip: How to Pair Your Xbox One S and Switch Pro Controllers Via Bluetooth – Forbes
Linux gaming–especially the number of playable games and their performance compared to Windows 10–continues to improve at a brisk pace. But not everything is as plug-and-play simple as it is on Windows.

Detail of the action buttons on a Microsoft Xbox One S Wireless Controller, taken on August 19, 2016. (Photo by Olly Curtis/Future Publishing via Getty Images)
2016 Future Publishing
Exhibit A: The Xbox One S controller, my personal pad of choice since it’s ridiculously comfortable and includes Bluetooth connectivity.
Exhibit B: The rechargeable Nintendo Switch Pro controller, a solid alternative that’s supported by Steam, but also suffers the same connection woes as the Xbox One S controller.

A successfully paired Xbox One S controller in Pop OS
Jason Evangelho
Plug these in via USB and they work like a charm regardless of what operating system you’re rocking. But if you want to ditch the wires on Linux, the vast majority of distributions will present a roadblock. This is due to a Bluetooth protocol on Linux known as “Enhanced Re-Transmission Mode.” Try pairing either of these controllers right now, and you’ll notice they constantly connect and then disconnect.
Here’s a quick–though certainly not intuitive–workaround to cure this headache and get on with your gaming sessions.
Fire up your Terminal app of choice and type:
sudo sh -c ‘echo 1 > /sys/module/bluetooth/parameters/disable_ertm’
That command disables the aforementioned Bluetooth protocol, but it’ll reset when you reboot. You’ll want to make this change permanent, so you need to edit (or create) a configuration file. I’ll use nano as an example, but you can also use GNOME’s gedit or your text editor of choice:
sudo nano /etc/modprobe.d/bluetooth.conf
That command launches the CLI-based text editor and either creates the config file you need, or opens an existing one. Now type the following line into the config file:
options bluetooth disable_ertm=1
This is basically saying “yes, I want the Enhanced Re-Transmission Mode disabled at boot.”
If you’re using gedit, just click the Save button and you’re done. If you’re using nano, press Ctrl+O (Write Out), then press Enter to save the file name “/etc/modprobe.d/bluetooth.conf.” Finally, press CTRL+X to exit.

Both controllers are paired via Bluetooth and recognized on Steam.
Jason Evangelho
After that you can pair and use both the Xbox One S controller and Switch Pro controller via Bluetooth, and the changes you made will persist across reboots.
And yep, Steam will even recognize them!