I do have quite a few different controllers, all work fine on linux for me:
- Xbox One controllers (newer models, older ones don’t support bluetooth)
- 8bitdo SN30 Pro 2
- Gulikit KK3 Pro
- Steam Controller
- Google Stadia
The Stadia Controller is not my favourite, but it still works well. I mainly use the Gulikit and 8bitdo ones, depending on the game and wether my main input is meant to be d-pad or left joystick.
The Steam Controller is unique, but I rarely use it.
Bonus points for the 8bitdo Pro 2, the Steam Controller and the Xbox Controllers using AA batteries instead of relying on built in, proprietary rechargable batteries. Pair them with some good IKEA Ladda rechargables and they are awesome.













The Stadia Controller and the Gullikit KK3 Series have built in batteries and therefore come with their own charging circuit.
The Steam Controller does not charge the batteries, you have to use an external AA charger
The 8bitdo Pro 2 comes with a rechargable battery pack that sits in the AA compartment of the controller (similar to the old xbox 360 play-and-charge kits) and can be charged via USB. I don’t know if that charge function is limited to their battery pack, or if it will work with AA rechargables as well. My guess is, though, that it doesn’t, because it would have to somehow identify if the cells are actually rechargable, or if they are just alkaline batteries - trying to charge alkalines can be dangerous.
Allthough persoanlly, I consider using an external AA charger a convenience.