So for the past couple of years (... coming on a decade?) I've liked the 8bitdo controllers a lot. Build consistency is a bit of a shitshow but you can tell almost instantly if you have one of the bad ones (and it is usually a matter of just loosening one screw unless the PCB itself is cracked). And the Ultimate Pro Whatever The Hell With Charging Dock is really nice and I love that I never have to worry about my controller needing new batteries when I am on my PC. In theory I can just plug it in but that gets into a mess with games that auto-detect what is connected and so forth. The charging dock that doubles as a receiver is delightful.
But when I switched to linux for fulltime gaming a while back... things got messier. 8bitdo has no linux support whatsoever. Mostly that is "fine" because the controller is a controller and I can use a phone app when I want to change what the rear buttons do. But I can't update firmwares. Which, again, is "fine" except I finally wanted to get back into Crosscode and have learned that shitshow of an html5 engine ONLY supports xinput on PC and apparently the functionality to tell the 8bitdo to present as an xinput might only be in a beta firmware? So all the joys of debugging but with very non-technical resources on google.
Not the end of the world (was mostly planning to moonlight to my xbox anyway) but kind of the straw that broke the camel's back as it were. Because Crosscode is a mess of a game technically that even the devs acknowledge was a mistake (AMAZING experience though) but what happens the next time I run up into a corner case? Not ready to throw this in the bin and rage purchase a new gamepad but very much ready to start browsing what my options are. Especially as (some) third parties are actually pretty good these days.
Huh I have that same controller with the 2.4ghz receiver dock and have no issues. I only use it with my htpc running bazzite. I don't remember if I've played crosscode with it but I'll check it out and report back. Every other game has been great.
Edit: 8bitdo Ultimate 2.4ghz worked just fine with Crosscode for me.
I use an 8bitdo Ultimate Bluetooth with Hall effect thumbsticks -- which may be what you're using -- but in wired mode.
It, unfortunately, has a Nintendo-style button layout rather than an XBox-style layout, but at least when I bought it, and maybe still, you couldn't get both an XBox-style layout and Hall-effect thumbsticks. They did sell replacement button caps and you could replace them, but Steam Input allows remapping.
I do think that it's a little obnoxious that Linux doesn't have One Unified System for creating up virtual gamepads or other controllers out of other controllers. Like, the technical plumbing to create virtual devices is there -- you can create virtual libevent devices. But there isn't a great backend for doing that systemwide and in a persistent fashion, no controllerd that takes some sorta description file setting up controllers both systemwide and on a per-application basis. Like, I should be able to have a virtual controller where if a program wants to fiddle the LED color, I just have, I don't know, colored keyboard LEDs change or something like that. Or remap buttons, or set up macro functionality -- which is what you want -- or set up buttons to switch between multiple settings in-game or whatever.
It's great that Valve's doing some of that with Steam Input -- and they do offer some neat things, like people sharing Steam Input configs on Steam -- but I feel that we shouldn't really need to rely on Valve for something like that.
Various controllers that I've used on Linux in the past:
Playstation 2 controller. Worked great, used until it wore out. Had some kind of USB adapter, IIRC.
A Logitech F710. The D-pad rolled to diagonals too easily for my taste, but other than that, perfectly fine, worked well for quite some years. Took removable AAs, which I liked (though that does come with some weight). Unfortunately, it uses a proprietary wireless protocol on 2.4GHz, and at some point, something in my environment started occasionally disrupting it. Bluetooth and wired controllers aren't affected. I had to switch, couldn't stand every now and then the controller not functioning for a brief period.
Various XBox controllers. I don't really like the XBox layout as much as the Playstation layout, but, eh, not a huge deal; they're reasonably interoperable. And most vendors had adopted the XBox layout. However, I have something like three different controllers using potentiometers that have drift issues. Yeah, probably possible to hide that in software, increase size of the dead zone, but goddamn it, I want to have a controller that just works correctly. Prompted me to get a controller with Hall effect sticks, which have been fine.
A PS4 controller. IIRC that worked, but in 2024, too many games on the PC recognize and set themselves up properly for XBox controllers, but not Playstation controllers. There's another issue that could have been fixed with a controllerd exposing a virtual XBox controller...
I also have various non-gamepad controllers floating around, like a HOTAS setup and pedals. I would not buy a HOTAS setup these days unless you are really in love with a flight sim that uses it -- gamepads with thumbsticks are "good enough" for analog input axes on the PC, and widespread enough that a lot of games will only support those.
I have a couple Xbox controllers. Wired they work fine. If you use Bluetooth it really depends on the Bluetooth chip and I've had some really bad ones. Also certain models will require firmware updates from Windows before they will pair.
I've yet to find a better controller than the DS4.
It has the perfect feel in the hands. And with Steam's controller support, Ive yet to have an issue with functionality or button remapping(I haven't played crosscode, so no info there)
I also use the DS4, I'm impressed by the work Sony have done there, especially by the out of the box support for gyro. No configuration for Dophin, Citras and Yuzu (and their forks). Literally easier than on Windows.
Funnily enough, I just use my old Stadia controller. Works perfectly with wired or wireless (in order to utilize Bluetooth, you need to use Google's tool to "unlock" the Bluetooth mode on it - you only need to do this once), and I can't say I've ever had a game not work with it. I think it just emulates Xinput/an Xbox controller under the hood?
Before that however, I just used an Xbox One controller (particularly, the "Xbox One S" ones that have native Bluetooth support, but my non-S one worked fine over both wired and with the addon dongle that you can purchase) which also always worked out for me. I think I still prefer the Stadia controller for how it feels in the hand, and the fact that it uses USB-C however.
At some point I would like to pickup a GuliKit KK3 Max controller since it seems quite intriguing, however I can't really justify the price point when my Stadia controller works just fine for me.
I use the Steam controller, (obviously not helpful since they don’t make it anymore) most of the time.
I also have the remake of the old Xbox “duke” from a few years back. The largeness of it in my smaller hands always felt surprisingly comfortable.
It’s wired and recognised as generic xbox one controller - BUT only when running steam. If steam isn’t open, then the controller continuously turns off and back on every 20 seconds.
I have a few DS4 controllers sitting here that still work. Eh. Not much use but they work fairly well. I don’t really like the PlayStation control design.
I have never tried a Switch / Switch-compatible controller on yet. My partner has a couple for.. the Switch!
But I’m hoping they do well because I just bought my daughter a Sonic-themed, Gamecube-style wired controller for her upcoming birthday (she obsessed with Sonic and saying she wants to play a game one day instead of just watching).
It would be good if she can just take it between playing Switch with her mum or PC with me.
Final comments -it’s wired or replaceable batteries for me. So many dead DS3 and DS4 controllers sitting around from years back that won’t charge, or last about 15 minutes. But wires never get in the way anyway, and I always have eneloop AAs ready to go.
I use a ps5 controller for all my gaming needs and it works great on Linux (Kubuntu/Nobara) and Steam Deck. I use hardwired when playing on my Linux desktop, but when playing on my Steam Deck it's over Bluetooth while docked. Still works perfectly fine. I even played Crosscode with my controller just fine on both systems.
I primarily use it on my desktop for FFXIV which is why I do hardwired. Bluetooth can be squirrely if the game isn't launched through Steam
I've been using a PS5 controller lately. I'm on Windows, but I think it works on Linux. I also launch every game through Steam, which handles compatibility issues well.
The Steam controller is my favorite, but I wanted something that I could buy replacements for, so I started using a PS5 controller. The touchbar is not really useful (hard to reach and pretty imprecise), but it does have a gyro for aiming in FPS games. And I play a few racing games, so I wanted analog triggers, which the Switch controllers don't have.
I bought an upgraded one from aimcontrollers.com, just to get some clicky microswitches on the d-pad, face buttons, and shoulder buttons. I hate how much I paid for it, but I do love some clicky buttons. Having looked at their site just now when posting this, apparently they now offer hall effect joysticks, too. So I might need another one. 😬
edit: Just realized that this was posted in linux_gaming. Well, I'm still pretty sure that PS5 controllers work on Linux. And I'll be switching soon anyway, since my perfectly good PC doesn't meet the requirements for Windows 11.
Saw the title and I came here to say that I have the 8BitDo Pro 2, I didn't need to customize the buttons a lot, but if you really need to do this I'm not sure I've seen any other controllers that support this feature, even on Windows.
Same goes with updating the firmware. While researching it, I found that they provided a firmware update for a 2.4GHz controller to make it work with Bluetooth (!). I’m not sure I've seen many controllers with upgradeable firmware in general, let alone the company choosing to make it support Bluetooth instead of forcing you to buy their more expensive controller in their lineup.
I like the build quality, I don't know what you mean but i.e. my Pro 2 of course is not going to have the same build quality as a €200 controller that has metal parts etc.
It was also nice to see that it has a button to change the input mode, which I guess it would be more useful if I had to connect it to consoles etc (but I think I remember I did need to use it once when Steam input was misbehaving or sth)
Oh also I was surprised by the battery life; I think it was advertised as having 12 hours, but after 2 years of using it I happened to notice that I had 25-30 hours of playing time in a game and I hadn't charged it (now that I'm looking at their website it says 20 hours, but I think there's been another revision since I bought it)
Last thing I really liked was the removable battery: when your battery needs replacement, with other comparable controllers you either need to buy a new one, or try getting inside the case and solder one yourself etc. Meanwhile my controller comes with a rechargeable LiPo battery, for which you can buy an official replacement, or change it for 2 AA batteries, either rechargeable or not
Oh also I was surprised by the battery life; I think it was advertised as having 12 hours, but after 2 years of using it I happened to notice that I had 25-30 hours of playing time in a game
If it has a rumble motor, that probably dominates power usage. I don't know how they come up with an "hours" number, probably work out some percentage of time that the rumble motor is active, but I could easily see that varying game-to-game.
Xbox controllers (Xbox One and newer) have been absolutely solid for me with the xone driver + xpadneo, regardless of distro. Bazzite has everything I need baked in, so it was completely plug and play. Not a very interesting answer, I know. But it still blows me away that it "just works."
My current go-to controller is the Switch Pro pad, however it has a colossal issue in not having analogue triggers. I'm actually heavily considering getting the 8Bitdo Ultimate pad myself
I use a PS5 controller connected through an 8bitdo USB adapter 2. It works great and has a much more stable connection compared to the bluetooth adapter I used to use. I've had no issues using it in xinput mode on Linux; games pick it up as a normal xbox controller and just work. The adapter also works great for bringing your own contoller to friends' houses for any console party games without having to do the bluetooth pairing roundup minigame. The only real issues I have with it is that there's no auto disconnect when it's idle, and as you mentioned the firmware flashing tools are all Windows only.
Because my desktop doesn't have Bluetooth, I usually use a wired Xbox One controller, though because of the micro-usb I can't say I'm a fan.
On my deck however, I typically use my Wii U Pro Controller because it's big and comfortable in my hands, has an insane battery life due to having a 3DS battery, and I just like the joystick placement. Definitely worth trying if you have a Wii U and can find one for a decent price.
Because my desktop doesn’t have Bluetooth, I usually use a wired Xbox One controller, though because of the micro-usb I can’t say I’m a fan.
It's not hard to get a USB Bluetooth controller for a PC.
All that being said, I don't really think that wireless is generally worthwhile for a PC, unless you have some kind of home theater setup in your living room. If you have a wire, you have plenty of power, no concern about battery life, no interference potential (though I haven't had problems with Bluetooth, I have with proprietary 2.4GHz protocols), less moving parts.
With video game consoles, running a wire across someone's living room was really obnoxious; the tradeoff makes a lot of sense there. But if I'm sitting right in front of the computer, none of that really applies. It avoids me maybe managing to wrap one cord around another, but that's about it, and I don't think that that's enough of a benefit.
And I'd rather not be broadcasting unique Bluetooth IDs. Okay, probably not that big a deal from a privacy standpoint with desktop hardware that doesn't move around, doesn't have the kind of "tracking someone's movements" concerns that Bluetooth devices that are carried around do, but I don't really need every nearby cell phone telling Google or Apple when I'm playing a video game, having them build up a database spanning my whole life.