I recently picked up an 8BitDo Ultimate 2.4g controller at a steep discount, and have enjoyed it immensely so far. As someone who grew up with video games I’ve tried essentially every controller variation possible, and have always found the Xbox controllers to be my favorite ergonomically. I love how big they are. I have larger hands, and find that on smaller controllers my thumbs occasionally collide with one another, especially on Playstation-like controllers where the thumb sticks are side-by-side in the middle.

As much as I like Xbox controllers, it has been my experience that trying to use them wirelessly in Linux is maddening. To start, newer controllers require a firmware update that can only be performed by connecting them to a Windows installation. That alone is a tremendous hurdle. After that, they work reasonably well when connected directly via USB. Trying to use them via Bluetooth, however, is a headache. Sometimes it works fine, and sometimes it absolutely refuses to work at all. Even when it works fine for weeks, a new update can suddenly mean that establishing a functional connection is impossible. Even with additional kernel modules, they’re just too finicky and temperamental.

These hastles, and others, lead me to the 8BitDo Ultimate controller. This isn’t my first 8BitDo controller; I’ve had several of the Super Nintendo-style controllers, and used to keep one in my bag to play during dialysis treatments. But the ultimate controller is a notch above. I love that it incorporates the best elements of different controller styles: Xbox-style controls and ergonomics, but Playstation-style trigger buttons. I really like that you can use it with an included dock, wirelessly via a 2.4GHz dongle, or even via Bluetooth (although I’ve found that the Xinput mode doesn’t work over Bluetooth unfortunately).

I also like that all of 8BitDo’s devices work relatively well in Linux, out of the box. Originally, they supported the Linux Vendor Firmware Service (LVFS) for quick and painless firmware updates within Linux. That has since been removed, but I’ve written an email to 8BitDo corporate to make a case for bringing LVFS support back, and would encourage you to do the same if that is something you care about.

Even without that, everything just works flawlessly with little or no additional configuration needed. You just connect it and start playing. That’s how it ought to be.

One of the real appealing things about open source is being able to use hardware you already have, but when it comes time to replace or upgrade, choosing devices and vendors that make an effort to support alternate operating systems and open source ecosystems is really important. It helps when those devices end up being even higher quality than the alternatives.