Official joycons (one of which I took apart and can’t get the battery back in)
USB GameCube controller (broken)
Third-party Switch Pro pad (semi-broken)
At some point I will have a comparison of all these controllers and how they fare on Linux. I will say right now though, I definitely favor the DS over the Series X pad; the Series X pad doesn’t always stay on wirelessly, and has no gyroscope (you’d think MS would incorporate stuff like that at this point). Since the DS driver isn’t officially in the kernel, you have to compile the kernel yourself with the driver in order to get support for games outside of Steam, or get the driver from the AUR. But Steam has official support for the DS, including gyro and vibration.