

Speaking from experience, generic Switch controllers on Linux often suck. Many off-brand controllers use crap Bluetooth modules that will only connect half the time. I’ve tried two or three. Get a wired controller, 8BitDo, Xbox, or PlayStation controller.
If you want to go as cheap as possible while retaining usable status, I’d recommend generic Xbox 360 controllers. You can get deals on two of them in a set for sub-$20 and they’re usually fine functionally. They will have cheap sticks and poor build quality, but they take AA or the Play N Charge packs and their 2.4ghz dongles they come with work on Linux perfectly for every “brand” I’ve tried.
If you want a nice non-Xbox/PlayStation controller, as others have said: get an 8BitDo.
Don’t bother with anything else. I’ve bought plenty of generic Switch controllers, off brand Xbox or PlayStation controllers, etc. They all lead to pain, connection issues, and frustration. ESPECIALLY if they’re Bluetooth. You might be OK if they come with a dongle for 2.4ghz, but even those are spotty sometimes and often have range issues.