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.

  • Bruhh@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    11 hours ago

    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.

  • soulsource@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    6
    ·
    1 day ago

    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…

        • I_Has_A_Hat@lemmy.world
          link
          fedilink
          arrow-up
          2
          arrow-down
          10
          ·
          14 hours ago

          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.

          • Vupware@lemmy.zip
            link
            fedilink
            arrow-up
            6
            ·
            edit-2
            13 hours ago

            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.

  • Bluegrass_Addict@lemmy.ca
    link
    fedilink
    arrow-up
    35
    arrow-down
    14
    ·
    2 days ago

    I’d personally buy a new controller from anyone that isn’t mucrosoft before I flash new firmware on a controller

    • vateso5074@lemmy.world
      link
      fedilink
      arrow-up
      53
      ·
      2 days ago

      Sometimes new firmware is good, though. The feature recently added to the PS5’s Dualsense that allows them to pair with multiple devices was such a huge QoL change.

      Still fuck Microsoft though.

      • LiveLM@lemmy.zip
        link
        fedilink
        English
        arrow-up
        7
        ·
        1 day ago

        The 8BitDo Ultimate Wireless 2 also only received full Steam Input capabilities after a couple firmware updates to the Controller and 2.4g dongle.

      • Domi@lemmy.secnd.me
        link
        fedilink
        arrow-up
        3
        ·
        2 days ago

        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.

        • vateso5074@lemmy.world
          link
          fedilink
          arrow-up
          7
          ·
          edit-2
          2 days ago

          Multiple PCs, or phones even. It’s very nice for using between my console, desktop, and Steam Deck.

          Basically the controller has 4 pairing slots it will remember. The original PS5 it connects to is remembered as slot #1, but you can manually change it by remapping it to a different slot.

          The different slots are activated by holding the home/PS button and one of the 4 face buttons for a couple seconds, or hold it for about 5-ish seconds to enter pairing mode for that slot. Pressing the PS button alone like normal defaults to the last used slot.

          The controller does need to be turned off before switching devices, which can be done just by holding the PS button for 5-ish seconds. But I can be playing a game on PC, get a message from a friend to hop on Nightreign on PS5, disconnect from my PC by holding the PS button for a few seconds, and then press PS+Triangle to turn on the PS5 using the same controller.

          Way better than my previous setup, which was to have 1 dedicated PS5 controller and 1 dedicated PC controller, then bitch and moan if I ever had to unpair/repair the second controller on PC or try to find my USB cord to pair again with PS5.

          Edit: also worth mentioning that you don’t need a PS5 to update the controller firmware, Sony released a firmware updating tool for PC that can be used to update controllers when plugged in using USB.

          • phx@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            10 hours ago

            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

          • vithigar@lemmy.ca
            link
            fedilink
            arrow-up
            3
            ·
            1 day ago

            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.

    • monkeyman512@lemmy.world
      link
      fedilink
      English
      arrow-up
      27
      ·
      2 days ago

      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.

        • LedgeDrop@lemmy.zip
          link
          fedilink
          arrow-up
          10
          arrow-down
          1
          ·
          2 days ago

          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.

      • Psythik@lemmy.world
        link
        fedilink
        arrow-up
        4
        ·
        edit-2
        1 day ago

        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.

        • VindictiveJudge@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          ·
          1 day ago

          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.

          • Psythik@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            12 hours ago

            Ex-fucking-actly! A world of possibilities would open up in the realm of emulators with a 6 button pad.

  • MudMan@fedia.io
    link
    fedilink
    arrow-up
    15
    ·
    2 days ago

    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.

    • JohnEdwa@sopuli.xyz
      link
      fedilink
      arrow-up
      8
      ·
      edit-2
      2 days ago

      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.

      • MudMan@fedia.io
        link
        fedilink
        arrow-up
        2
        ·
        1 day ago

        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.

        • JohnEdwa@sopuli.xyz
          link
          fedilink
          arrow-up
          2
          ·
          edit-2
          1 day ago

          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.

          • MudMan@fedia.io
            link
            fedilink
            arrow-up
            2
            ·
            1 day ago

            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.

            • JohnEdwa@sopuli.xyz
              link
              fedilink
              arrow-up
              1
              ·
              edit-2
              22 hours ago

              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.

              • MudMan@fedia.io
                link
                fedilink
                arrow-up
                2
                ·
                16 hours ago

                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.

                • JohnEdwa@sopuli.xyz
                  link
                  fedilink
                  arrow-up
                  2
                  ·
                  10 hours ago

                  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.

  • HouseWolf@pawb.social
    link
    fedilink
    English
    arrow-up
    11
    arrow-down
    2
    ·
    2 days ago

    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…

    • benny@reddthat.com
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      19 minutes ago

      I 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.

      • HouseWolf@pawb.social
        link
        fedilink
        English
        arrow-up
        3
        arrow-down
        2
        ·
        2 days ago

        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.

    • mephiska@fedia.io
      link
      fedilink
      arrow-up
      19
      ·
      2 days ago

      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.

    • Sophocles@infosec.pub
      link
      fedilink
      arrow-up
      1
      ·
      1 day ago

      Same here, been using Xbox series controllers on Linux for about 2 years, no problem. Never bothered to update the firmware.

    • MudMan@fedia.io
      link
      fedilink
      arrow-up
      10
      ·
      2 days ago

      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.