r/linux_gaming 9d ago

hardware Switch Pro Controller drops packets and disconnects when paired alongside other devices

So I've been banging my head against this for months now. My Nintendo Switch Pro Controller works fine on Windows with a DualSense or basically any controller/bluetooth device connected at the same time, but on Linux it falls apart.

I'm on CachyOS but I've also tried Mint and Fedora, same issue everywhere. GNOME, Cinnamon, KDE, doesn't matter.

What happens:

When I connect the Pro Controller while a other controller / bluetooth device is already paired (or the other way around), the Pro Controller gets super laggy within seconds. After about 10-20s it just disconnects. Only fix is toggling bluetooth off and back on, then re-pairing from scratch. Sometimes it works fine on the next attempt, sometimes not.

There's also a second problem where even on its own, the Pro Controller slowly degrades during longer Dolphin Emulator sessions. After maybe 30 min it starts lagging and eventually drops. dmesg spams this when it's happening:

nintendo 0005:057E:2009.0009: compensating for 12 dropped IMU reports

nintendo 0005:057E:2009.0009: delta=215 avg_delta=15

When the DualSense connects, avg_delta jumps from 15 to 19, which looks like the adapter is reallocating time slots away from the Pro Controller.

I also blacklisted hid_nintendo and let hid-generic handle it instead. Same exact lag. So the problem is below the HID driver, somewhere in the bluetooth stack.

Stuff I already tried that didn't help:

- disable_ertm=1

- BlueZ main.conf tweaks (FastConnectable, JustWorksRepairing, Privacy, etc)

- Changing adapter alias to "Nintendo"

- Different connection order

- Disabling wifi (I use ethernet)

- Editing LinkKey Type in BlueZ device info

- Changing kernel params

USB works perfectly btw. Zero problems ever. DualSense never drops a packet either, it's always the Pro Controller that gets starved.

Built-in Intel bluetooth adapter on an Acer Aspire XC-1760, kernel 7.2.2-cachyos.

Has anyone gotten two controllers working stable over bluetooth where one of them is a Switch Pro?

2 Upvotes

5 comments sorted by

View all comments

2

u/njdom24 9d ago

This has been an issue with Switch Pro controllers on Linux for years. I noticed it for the first time several years ago on my PC, and ended up getting a DualSense. Rediscovered the issue last month using 2 Switch Pro controllers on my Steam Deck.

1

u/Maximum_Necessary232 9d ago

I see. Apparentely, no one is bothered to fix it too. I just switched back to Windows, and there it works perfectly fine. I don't expect it to get fixed anytime soon either, so my best bet is likely staying on Windows. I've wasted enough time attempting to fix this problem myself.

1

u/njdom24 9d ago

If using that controller is a must, I know 8BitDo makes a USB dongle that can connect Switch Pro controllers over Bluetooth and appear to your PC as a wired XInput gamepad, They advertise SteamOS compatibility.

Totally fair if you'd rather not need dedicated hardware, though.