Announcement

Collapse
No announcement yet.

SDL Adds Default Steam Controller Mapping For Linux

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • SDL Adds Default Steam Controller Mapping For Linux

    Phoronix: SDL Adds Default Steam Controller Mapping For Linux

    It seems like it would have been done long ago, but upstream SDL2 now finally has out-of-the-box Steam Controller mappings for Linux and iOS...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    I haven't used my Steam Controller much since I got it as I really wanted to use it with xboxdrv. I think Valve has taken care of making it work with most games already but I'd like to use it outside of Steam too, and xboxdrv's hotplugging daemon feature is really handy. I hacked together some rough support for it but ran into trouble with haptic feedback, rumble, and power off. I'd seriously appreciate some help in finishing it off.

    This includes wired and wireless devices and haptic feedback support. The latter usually doesn't work and Xorg suddenly starts using the controller as a mouse when xboxdrv starts so this is still a...


    On a side note, is it just me or is the rumble in this device just really pathetic?

    Comment


    • #3
      But is it compatible with Web Gamepad API?

      The Gamepad specification defines a low-level interface that represents gamepad devices.

      The Gamepad API is a way for developers to access and respond to signals from gamepads and other game controllers in a simple, consistent way. It contains three interfaces, two events and one specialist function, to respond to gamepads being connected and disconnected, and to access other information about the gamepads themselves, and what buttons and other controls are currently being pressed.

      Comment


      • #4
        Originally posted by Chewi View Post
        I haven't used my Steam Controller much since I got it as I really wanted to use it with xboxdrv. I think Valve has taken care of making it work with most games already but I'd like to use it outside of Steam too, and xboxdrv's hotplugging daemon feature is really handy. I hacked together some rough support for it but ran into trouble with haptic feedback, rumble, and power off. I'd seriously appreciate some help in finishing it off.

        This includes wired and wireless devices and haptic feedback support. The latter usually doesn't work and Xorg suddenly starts using the controller as a mouse when xboxdrv starts so this is still a...


        On a side note, is it just me or is the rumble in this device just really pathetic?
        Try the sc-controller utility. I believe that it is what you are looking for

        Now, onto FF:
        Well, technicaly, there is no "rumble" in these gamepads, but high-precision linear actuators. So it will just not be the one you are used to.
        I personally find it very compelling, I can "feel" the bumps on the road in racing games, individual bullets being fired in FPSs, my car touching the ball in Rocket League, virtual buttons on the touchpad (try the on-screen keyboard), a satisfying "click" for the Analog/digital triggers, which is half-emulated trough the haptic feedback.
        The startup sound is also obtained by making the actuators vibrate at the desired frequency, and I believe they consume much less power, given that I still didn't change the battery from my controllers, after more than one year.

        Of course, one downside is that there is no big rumble effect when there is an explosion or similar (the only thing at which the rumble motors were good for, actually). But I personally prefer the high-precision haptics.

        All in all, I wouldn't call it pathetic, but it surely could be improved (likely with some tradeoffs, that I am not sure are worth it).

        Originally posted by uid313 View Post
        But is it compatible with Web Gamepad API?

        The Gamepad specification defines a low-level interface that represents gamepad devices.

        https://developer.mozilla.org/en-US/...PI/Gamepad_API
        In my opinion, those APIs are very impractical and loaded with legacy concepts. This is just not how you should design a controller API nowadays.
        The way Steam does it is Waaaay better (actions are forwarded to the application, not controls). I tried to argue for its inclusion in the Wayland gamepad protocol, but my emails were largely ignored.
        Oh, well, I guess I might write an nth+1 "standard" API for gamepad support one of these days, if I am motivated enough.

        But to answer your question: I would be surprised if it was the case (due to the nature of the Steam controller), but you can always emulate an xbox gamepad (see the aforementioned utility), which should work.

        Comment


        • #5
          Everything that makes it easier to use the steam controller is welcome.
          Using the steam controller isn't as hassle free as one expected it to be.
          I have steam games where it doesn't work or where it looses the controller every now and then.
          And there are almost no working profiles by default so one needs to chose profiles first and hope it works.
          I think the steam controller is good to use but i did expect its usage to be more hassle free using steam.
          I wonder if using an xbox gamepad instead is more hassle free.

          Comment


          • #6
            Will that bring any benefit for existing Steam games or will they have to rollout game updates to support it when they used libsdl2 before?

            Comment


            • #7
              Originally posted by theghost View Post
              Will that bring any benefit for existing Steam games or will they have to rollout game updates to support it when they used libsdl2 before?
              As far as I know, there won't be any changes to SDL2-using Steam games.

              The nice thing is that SDL2 allows to dynamically load another copy of it even if you link it statically, with an environment variable. This means that Steam can "update" a game's library with the one included in its runtime.

              Comment


              • #8
                I wouldn't have a huge issue with it losing connection occasionally if it didn't keep remapping controller numbers. Say the battery dies so you plug it in, suddenly there is a controller #1, #2, #3, #4, #5. At one point I had the steam controller act as two controllers simultaneously, where player 3 was being controlled by me (player 1).

                And having the controller plugged in doesn't fix those disconnect issues either. I actually use the steam controller as a remote for my computer to play movies on the TV from the couch.

                Comment


                • #9
                  I own 2 steam controllers. They collect dust near the TV.

                  I purchased 4 Dual Shock 4 controllers, aside from needing charging more often than i prefered they do everything i want them to. And thank god they have a look joystick for FPS games.

                  You cant just expect someone who plays fps for 15 years to suddenly play on touchpad imo.

                  Comment

                  Working...
                  X