Valve released a new Steam Deck Beta update that includes a useful tweak to its Xbox controller detection.
There’s a bit of a problem with modern Xbox controllers and Bluetooth, where they won’t properly connect up with SteamOS / Linux unless they’ve gone through a firmware update. I’ve seen a lot of support requests about this issue over the years and so it’s good to see Valve highlight it directly. While it’s a Steam Deck Beta Client update, it should apply to other SteamOS devices too.
Controllers? Upgrading?
Trailling off the issue here but xbox controllers sucks ass. I swear they add input delay if you use bluetooth instead their own dongle. Joysticks feel cheap and buttons are super loud and clicky. The shell is pretty decent with nice color selection and easy battery swaps but that’s about it.
Prefer the ps4 or ps5 controller which feel nice. The buttons are firm but quiet, joy sticks feel decent. Same with the switch controller but they have no analog triggers.
Are 8bitdo controllers similar? Playstation controllers are expensive and don’t have hall effect joysticks.
The worst part is that it is incredibly difficult (impossible?) to update the controller firmware on anything other than an Xbox or a Windows PC…
How inconvenient to only be able to upgrade on 95% of PC’s out there.
I mean, yeah, this is a thread under an article about issues with that 5%
“The Fediverse Disliked that”
The Fediverse is a fucking fantasy world. Some real shit takes from people who live on the fringe who have convinced themselves that everyone thinks and acts like them.
Show me on the doll where the linux users hurt you.
Welcome to Linux development!
Actually, the Fediverse is ideologically predisposed to this type of thinking. The Fediverse as a concept assumes that people will forgo convenience for a more granular experience. As such, it should come as no surprise that the people you find here think that convenience should be forgone for a more granular experience, because the people who don’t think that will never use the Fediverse.
They are here to save us!
LIBERATOR!
I’d personally buy a new controller from anyone that isn’t mucrosoft before I flash new firmware on a controller
I’ve bought an EasySMX X20 and will never buy anything else
deleted by creator
The 8BitDo Ultimate Wireless 2 also only received full Steam Input capabilities after a couple firmware updates to the Controller and 2.4g dongle.
The feature recently added to the PS5’s Dualsense that allows them to pair with multiple devices was such a huge QoL change.
Does that only apply to playstations or can you pair to multiple PCs? Might have to upgrade then.
deleted by creator
Agreed. Multi-pairing is such an underrated feature. It’s especially great when it comes with a hardware selector (in case you’ve got multiple devices paired in range).
I picked up a Logitech mouse that pairs up to 3 devices and has a button+LED’s on the bottom to switch between. It’s awesome
You might be interested to know that when connected to a PC and using Steam you can turn off the controller quickly with PS+Triangle.
God damn that is a nice little feature.
Are you trying to say, “Don’t buy a Xbox controller then flash it”? I can understand the decision to not do business with MS, but I assume most people already possess that controller and are trying make use of what they have.
This is not a critique, I just don’t understand what you are intending to communicate.
I assume the new ms firmware will inject copilot into the controller and make it worse. zero trust in anything microsoft
I mean, that just makes you an idiot.
sure whatever.
Why?
Maybe they like bugs that make their controller incompatible with other systems other than the manufacturers.
I’m often reluctant to upgrade firmware. Often because I like to tinker and upgrading firmware (now-a-days) doesn’t allow downgrading. Which is kinda silly (from a technical perspective) as it “forces” you to keep chasing the next updates for hardware I own.
If my network printer works and addresses all my needs (works on windows, apple, Linux, and Android) - I don’t gain a lot by upgrading the firmware, but I do risk a lot (in terms of compatibility) if I do upgrade (with no downgrade path).
Like wise with my controller firmware. I only update if it’s something in the internet (printer doesn’t count as it’s firewalled off) or if something is broken/I’m not happy with the device.
deleted by creator
I assume its just gonna get injected with copilot or some nonsense. zero faith in anything microsoft
8bitdo is perfect. There is no reason to buy anything else these days.
Do they make a pad that is exactly like the upcoming Steam Controller Mk.II, except with two extra face buttons next to B & Y (like an old Sega controller)? It should also have cooling fans for my hands without sacrificing rumble (just like an old Logitech controller I had back in the day).
Something like that is my dream controller and I’ve been waiting for someone to come along and make it for years. At this point I think I’m going to have to buy a 3D printer, and get in touch with someone who fabricates circuit boards, because I’m tired of waiting.
I don’t care about the fans, but having six face buttons instead of four would be huge for certain things, like emulating certain consoles.
Ex-fucking-actly! A world of possibilities would open up in the realm of emulators with a 6 button pad.
It’s hard to fault Steam’s controller layer, but I really wish they finally found a way to parse gyro data from third party controllers without having to run them on Switch mode. That goes for Microsoft and their own drivers. At this point it’s weird to keep pretending the Windows controller APIs are supposed to work on their first party Xbox controllers only.
It’s not possible as xinput doesn’t support gyroscopes, the controller simply doesn’t report that data. The “Switch” mode is setting it to be a mostly standard HID/DirectInput device so that all of those inputs can be accessed, but that requires something (Steam Input) to sit between the controller and the game to map the inputs together, and the game has to also support non-xinput controllers - otherwise you are just mapping them back to xbox inputs. The exception is a game that support directinput… well, directly. Like sim racers etc.
There is now the option of going “hardware” Steam Input as well, as is done by the HORIPAD for Steam, but it is something the controller has to do.
Yes, I’m aware, that’s why I’m calling out it’s weird that XInput doesn’t support gyro, because we’re a long way away of it being just based on Xbox controller support and a whole bunch of other controllers with a whole bunch of other features now go through it. If MS doesn’t want to add gyro that’s up to them, but Windows supporting it natively is way overdue. Of course at that point older controllers would probably need a firmware update, but hey, we’ll cross that bridge when we get to it.
In practice the situation we’re having is games are defaulting to Xinput and relying on Steam Input as an intermediate layer for additional features, so the end result is that gyro is… not NOT supported, but often not acknowledged at all, so you end up with a bunch of situations where you have to config gyro manually per game as a bit of a Steam-level hack, and then your controller is all wonky anywhere other than Steam because the way Switch/DI/PS input modes get picked up in non-Steam stuff can be weird.
And it gets worse in handhelds where you’re absolutely at the mercy of how the manufacturer decided to set up their controller and gyro support, and sometimes need to do a lot of weird stuff to pass it on outside of Steam.
It’s the jankiest part of controller set up left on PC gaming, and it’s all down to this weird “mom and dad aren’t talking” dance where MS keeps pretending PC controllers are fundamentally Xbox controllers at the XInput layer and Steam is the de facto curator of the controller support but has no interest (and to be frank no expectation or need) to have their controller layer work outside their launcher.
Researching this a bit more, there is an answer in the making already - GameInput. How long that will take to take over from every game using xinput is left to be seen.
That’s interesting, but considering this note:
We recommend the GameInput API for all new code, regardless of the target platform, because it provides support across all Microsoft platforms (including earlier versions of Windows) and provides superior performance versus legacy APIs.
For games developed on the GDK for Xbox One, GameInput is the only input API
I’m really not sure this would do what we both want it to do. If everybody has had a GameInput version of their controller support since last-gen and we’re still getting limited to the XInput feature set I don’t think it sorts out gyro-on-Xinput at all. I am not familiar with the behind the scenes of how modern engine controller code is handled, but this sounds like maybe it’s how games with native PS controller support are doing that, but not necessarily a new standard that will allow the default XInput PC setting of new controllers to pass gyro input to games detecting them as an XInput device. I think it’s more like MS’s answer to Steam Input as an additional layer between the games and the hardware, regardless of what the hardware is using.
It does show that all the tools are in place. MS has control over all the involved APIs. They could expand the Xbox controller API feature set tomorrow, whether or not they add the hardware feature to their base controller model. They just… don’t. And Steam could deploy a Steam-independent Steam Input driver or software to just take over all controller support on a dedicated full-feature OS layer, but they also don’t (on either Windows or Linux, as far as I can tell).
Honestly, there are enough workarounds (add games as non-Steam games, use Switch modes and so on), I just bump against the edge cases of it often because I’m both a controller and handheld nerd, so I’m stuck with a GPD Win handheld that insists on injecting their internal gyro as mouse inputs, which confuses the hell out of half the games, along with a bunch of GameSir and Gullikit controllers that do weird things with gyro, like injecting it at the firmware level instead of passing it to the OS. And I mess around with enough emulators to also end up with “oh, this was on DI mode when I booted RetroArch, so now all my buttons are in the wrong places until I quit”. It’s only dumb for like ten of us… but man, is it dumb.
They could expand the Xbox controller API feature set tomorrow
No, they couldn’t. There’s over 20 years of legacy hardware and software that expects Xinput data to be returned exactly in this format:
typedef struct _XINPUT_GAMEPAD { WORD wButtons; BYTE bLeftTrigger; BYTE bRightTrigger; SHORT sThumbLX; SHORT sThumbLY; SHORT sThumbRX; SHORT sThumbRY; } XINPUT_GAMEPAD, *PXINPUT_GAMEPAD;Changing any of that would break every single xinput controller and game made in the last 20 years. Modifications require a new API, which is exactly what GameInput is.
There are definitely ways to send backwards compatible data when required and separately support additional features in a new iteration of an API. This wouldn’t be in the top 10 backwards compatibility challenges MS has figured out.
But in any case, I don’t care if they call it XInput2 or Game Input. I just need it to support all controller features in all games. It’s a bit hard to tell whether Game Input will ever do that, but so far it seems more concerned with acting as a layer to explicitly support a bunch of different hardware, each with its own standards, than a XInput replacement for controllers. There doesn’t seem to be a concept for a “Game Input controller” there at all, actually, just supported controllers you can listen for regardless of what they’re sending through.
I guess over time if they stick with it and it does end up working as a Steam Input-style intermediary layer that just recognizes anything you’d just ship controllers that match whatever format with gyro support and Game Input-enabled games would just pick them up fine more or less universally, but that doesn’t seem to be what it does right now, or at least not something that either games or manufacturers are relying upon.
Anyway, this was interesting and informative, but I think I’m good now. I definitely don’t want to have a conversation formatted as an argument in which nobody is disagreeing with anybody else. Those are exhausting.
Agreed :)
And no matter how they do it, it’s clear they need to make changes; “everything is an Xbox controller and now just works” actually was pretty nice solution 20 years ago to fix the complicated mess that was PC gamepads with DirectInput, but it is very much outdated idea today.
Thankfully it appears changes are happening that might solve the issue in the near future, and all we can really do is wait and see.
I have NEVER heard of any controller before this current generation needing firmware upgrades.
Even the launch model PS4 controller I use on my PC never asked for an update and still works fine…
That’s on you. I updated the firmware on a Logitech gamepad in like 2006.
Updated my EOL’d Stadia controller to get bluetooth support and it works fine with the deck. The Luna controller also works well with the deck and has an android app that can update the firmware.
Even the PS3 controller received firmware updates. This isn’t all that new.
I mainly played on PS3 for years from release and that was never a thing…
The console got plenty of updates but never the controller.
Controller updates were performed during system updates, or could be done manually from the settings iirc. I mention it because I mainly played on PS3 for years too and definitely remember updating those controllers.
I don’t think any of the updates were ever mandatory though.
I believe they did it when you updated the regular ps3 firmware it was like an all in one thing.
Same here, been using Xbox series controllers on Linux for about 2 years, no problem. Never bothered to update the firmware.
Have you ever used that PS4 controller on a PS4? If you did the console would definitely ask you to plug the controller in with a USB cable to update it.
Yeah my OG xbone controllers got numerous firmware updates.
Ngl I only played the PS4 for about a month to play Bloodborne before I gave it to my brother. I just kept one of the controllers.
I’m almost entirely sure that PS4 and XOne controllers did get upgrades at some points. Definitely Switch 1 ones, which matters or not depending on how you split the gens. There were definitely revisions in older controllers, though. Some were labeled and had obvious new features, some were quieter. And PC-side drivers got updates all the time, obviously.
Also, your current gen controller will also keep working indefinitely without an update. In this case Valve is annoyed about a particular dependency where THEY need the upgrade to happen for a feature compatibility thing, but the controller proper will work if you plug it in.
I’ve run out of mouse clicks for the month!
Quest, Pico and I assume other VR controllers have been getting updates for years.
Warning! Shoot the thing!











