I started playing Dark Souls 3 which I now understand has a controller strongly recommended. I may as well just look into getting a controller of some kind as I have a few games that have somewhat janky kbm controls and are better enjoyed with a controller.
I just wanted to ask for general advice about what controller to get in terms of compatibility. Also if someone has made a controller that's more in the spirit of foss that also works fine with Steam and Proton games that would be nice?
I know Steam is pretty good with Playstation controllers and I used to use a PS controller (don't remember what generation) with some native Linux Steam games, not sure how the whole PS vs Xbox controller thing is affected by running games through Proton if at all? If it matters let me know, and I'll see if I can procure a controller for myself.
At least on the Steam Deck it's great. With or without Steam. In terms of compatibility it's probably best to get an Xbox or PlayStation controller. As far as I know most off-brand controllers present themselves as Xbox controllers.
If you want to do emulation I'd recommend PlayStation controllers because some PlayStation games only work with those because of unique features like the touchpad and motion controls.
Most modern games actually show different buttons depending on whether you have a Nintendo, Microsoft or PlayStation controller. And they all have Linux drivers and also work especially well with Steam and Proton.
Worth adding that several PS5 games that have come to PC support some of the special features of the DS5. For example, Ghost of Tsushima, Rift Apart and Forbidden West, will all utilize the adaptive triggers when played with a DS5.
Over the years, controllers have gotten more standardized and are generally well supported. I have a few, and have never had issues with them in Steam (both Mint and Manjaro).
I've gotten a few from 8bitdo and they've all been solid. If you have a favorite console from your childhood (or adulthood), they probably have one that resembles it.
For most of the games I play, I prefer to have the left stick above the d-pad (like the Xbox, as opposed to the PS). I also recommend getting a controller that has trigger throttles (similar to Xbox or GameCube), as those can be nice to have for many games. This one seems pretty good (I have an SN30 Pro, but don't love the left stick position).
I have an Xbox One controller, a Dual Shock 4, and various Bluetooth 8bitdo controllers, and all of them seem to work just fine through Proton, as long as the game has gamepad support built in. I don't have Dark Souls 3 but I'd bet the story would be the same.
I have an Xbox One controller. It worked well out of the box on my previous machine, but the current one somehow maps the buttons incorrectly when I connect with bluetooth. Installing the hid-xpadneo kernel module (xpadneo-dkms on the AUR), which is a driver specifically for Xbox controllers, fixed it completely.
It works flawlessly with everything I've tried, including emulators. The hardware is also extremely durable. It's survived several drops over five years (bought it for Sekiro's launch) and being mangled by a dog. The only disadvantage is the stupid fucking flimsy micro-USB port, but the newest Series models have USB-C. If you can, get a rechargeable battery pack and a charging dock.
If you care about repairability, it's not the worst, but not particularly good either. Parts of the shell are held by plastic tabs that are easy to damage, the internals are all located on one PCB, and the wires to the haptic motors are soldered on.
There's a setting called "Steam Input" that I've enabled and I haven't had any issues with that using my Steam controller and my Xbox One controllers. When it's not enabled, I've had some weird connectivity issues and sometimes the buttons aren't recognized properly in fullscreen.
Steam supports most of the more popular controllers out there (Xbox, PlayStation, Nintendo, and Steam controllers, plus other Bluetooth-enabled brands like 8bitdo).
Steam manages their own controller support so a lot of gamepads should be okay. Now I know I didn't want to fiddle with that Xbox dongle to get the wireless so I bought wired Xbox controllers for my steam deck and they are plug and play. Work perfect. 8BitDo didn't work at all and needed special packages I didn't bother with.
Anything connected via USB should work, as long as they don't require a special driver. I have a Gulikit controller and it seems to work in all configurations - although you might need to remap some stuff depending on what exactly you use.
Never had any issues with my controllers (8bitdo SN30 Pro+, Gulikit King Kong 2), tho they all present as Xbox controllers if you want them to. I don't currently own any Playstation controllers so I have no personal experience with using them on linux.
I play with the guilikit King Kong pro and really like it. It integrates seamlessly with my switch and computer, and is really well built. I use it to play fallout on steam using proton with no issues.
I'm sure there's teardown videos online but even the internal components show a very high level of attention to detail and build quality. The thing is a tank.
One thing to note is it can be a bit tricky to get first party xbox one/series controllers to work wirelessly via bluetooth. Aside from that, xbox controllers work great. I don't have any PS controllers, so I can't personally speak to those, but they should work perfectly fine as well.