Announcement

Collapse
No announcement yet.

Valve Improves Linux Input Driver For Steam Controller

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

  • Valve Improves Linux Input Driver For Steam Controller

    Phoronix: Valve Improves Linux Input Driver For Steam Controller

    For helping out their Steam Controller with SteamOS, a Valve engineer along with Greg Kroah-Hartman have improved the Linux kernel's XPad driver with a series of patches that will be queued up for mainlining...

    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'm not entirely certain what's going on with that article, but just to clarify - isn't XPad the Linux driver for Xbox gamepads? As in 360 pads? Does this mean that Vavle's gamepad masquerades as a 360 pad in some way? That would make a lot of sense, a lot of PC games use XInput over anything else but I hadn't seen anything official from Valve about that. I thought the controller was just another HID of some kind.

    Comment


    • #3
      Originally posted by Kushan View Post
      I'm not entirely certain what's going on with that article, but just to clarify - isn't XPad the Linux driver for Xbox gamepads? As in 360 pads? Does this mean that Vavle's gamepad masquerades as a 360 pad in some way? That would make a lot of sense, a lot of PC games use XInput over anything else but I hadn't seen anything official from Valve about that. I thought the controller was just another HID of some kind.
      I would make sense that it mimics xbox controller... that said if that's the case I am confused my madkatz xbox controller already had working LEDs indicating joypad number?

      Comment


      • #4
        Originally posted by Kushan View Post
        I'm not entirely certain what's going on with that article, but just to clarify - isn't XPad the Linux driver for Xbox gamepads? As in 360 pads? Does this mean that Vavle's gamepad masquerades as a 360 pad in some way? That would make a lot of sense, a lot of PC games use XInput over anything else but I hadn't seen anything official from Valve about that. I thought the controller was just another HID of some kind.
        I think that is a confirmation that Steam Controller it is a XInput and not a Direct Input compatible pad.
        And it is expected. XInput it is now the defacto gamepad standard.

        Comment


        • #5
          This is a slightly complex thing, but as someone who uses a lot of gamepads I'll try to shed some light on it:

          There is no such thing as Xinput on Linux - a joystick is just a joystick. They all show up as /dev/input/jsX devices. On Linux, the only difference between an xbox 360 controller and other controllers is the name, and the axis/button layouts. Unlike Windows, where there are two distinct input systems (Direct Input and Xinput). That said, a lot of Linux games just assume you're using a wired x360 controller due to their dominance. Most games default to the x360 layout, so if you re-arrange your axis you can get any controller to work. However, some really shit-brained games actually look for the x360 device names or device ID, effectively only working with x360 controllers, even if another controller would work fine (see Runner 2 by BitTrip).

          To make matters worse, the Wireless Xbox 360 controllers have a different name and slightly different layout to the wired one. Also, the LEDs don't properly work with the xpad driver (they just keep blinking forever). This is where Valve's xpad improvements come in. They made it so that the wireless controllers show up with the same name and layout as the wired ones, and also fixed the LED stuff. This has nothing to do with Valve's own Steam Controller as far as I know.

          Also, for anyone who wants to play with a generic joystick/gamepad, there is a userspace driver called "xboxdrv" that has the option to create a virtual xbox 360 controller. This works with any evdevice, so it's pretty handy even if you don't have any xbox controllers. For better or worse, Linux has kind of standardized on that x360 controller despite not having to.
          Last edited by benmoran; 01 February 2014, 01:22 PM.

          Comment


          • #6
            Originally posted by benmoran View Post
            For better or worse, Linux has kind of standardized on that x360 controller despite not having to.
            Which is a shame, since the Playstation controller is by far superior for extended gameplay comfort.

            Yes, I don't like either company, but if I'm going to get a controller Sony's are still bar none the best out there and I'm not giving any money to Microsoft that way.

            Comment


            • #7
              Originally posted by benmoran View Post
              That said, a lot of Linux games just assume you're using a wired x360 controller due to their dominance. Most games default to the x360 layout, so if you re-arrange your axis you can get any controller to work. However, some really shit-brained games actually look for the x360 device names or device ID, effectively only working with x360 controllers, even if another controller would work fine (see Runner 2 by BitTrip).
              This, SO much this. Exbox controllers suck ASS, I've never seen a decent xbox controller, period. Games who assume the player to use an xbox controller are horrible abominations and their developers should be, I don't know, shouted at or something.

              To put a few names on the hall of shame: Mark of the Ninja, Bastion, Fez - all suffer from xboxitis to some degree or another. Mark of the ninja was literally unplayable for me, the controls didn't work with a regular gamepad **at all**. Bastion and Fez were playable with only slight annoyances (some buttons not recognized at all, leaving not enough buttons for all functions, that sort of thing).

              Comment


              • #8
                Give xboxdrv a try with the --mimic-xpad option. You can use whatever joystick you like once you take a few minutes to create a config file to match the axis. Despite the name, it's really an amazing piece of software for any joystick.


                There is a new driver out for the DualShock 4 (PS4) controller called ds4drv, which has a --mimic-xpad option as well. This driver is cool because you can use the DualShock 4 touchpad as a mouse. It's not quite finished yet, so you have to start the controller in bluetooth pairing mode each time. It does work great though for anyone who wants a non-Microsoft Wireless gamepad, with a mouse. That damn touchpad as mouse option is really useful for games that don't have 100% joystick support in the menus!
                A Sony DualShock 4 userspace driver for Linux. Contribute to chrippa/ds4drv development by creating an account on GitHub.

                Comment


                • #9
                  I'm admittedly not much of a gamer, but my cheap Logitech F310 has been excellent on the few games and emulators I've tried it on. I did have to remap the axes with jstest-gtk (and jscal-store to make the changes persistent), but that only took a minute. Definitely less of a hassle than the DS3 and wireless Xbox controllers I've borrowed for testing before.

                  Comment


                  • #10
                    Originally posted by tuubi View Post
                    I'm admittedly not much of a gamer, but my cheap Logitech F310 has been excellent on the few games and emulators I've tried it on. I did have to remap the axes with jstest-gtk (and jscal-store to make the changes persistent), but that only took a minute. Definitely less of a hassle than the DS3 and wireless Xbox controllers I've borrowed for testing before.
                    How's the d-pad on it? Accurate?

                    Comment

                    Working...
                    X