Slashdot Mirror


Linux 3.17 Kernel Released With Xbox One Controller Support

An anonymous reader writes The Linux 3.17 kernel was officially released today. Linux 3.17 presents a number of new features that include working open-source AMD Hawaii GPU support, an Xbox One controller driver, free-fall support for Toshiba laptops, numerous ARM updates, and other changes.

3 of 114 comments (clear)

  1. Please explain by stair69 · · Score: 5, Interesting

    Why does a driver for a game controller need to be incorporated into the kernel?

    1. Re:Please explain by Kjella · · Score: 3, Interesting

      The problem is that you can not control a kernel driver through an ABI, it all runs as root so bad driver code can corrupt or crash everything. If you can compile and trace/fix the driver yourself that's a manageable risk, if it's just a blob you're at the vendor's mercy. And since Linux doesn't have the market share (carrot) or a big certification program (stick) that wouldn't be a very good idea. The best case scenario is when you have a low-level ABI and can put the high-level driver code in a userspace driver, that way it can't harm the rest of the system at a slight performance penalty due to the context switches.

      That does depend on the hardware complying to some low level ABI though, otherwise the kernel wouldn't know how talk to the hardware. Fortunately USB is such a thing, plug in any USB device be it a keyboard, mouse, printer, scanner, memory stick or an XBone controller and Linux has a low level kernel driver (one per USB generation I think, actually) to read/write data. That's what the alternate "xboxdrv" driver does, it reads USB events, translates them to input events and returns them to the kernel. It only works for USB though, you still need drivers to talk to PCIe devices, disk drives, network controller and whatnot else though.

      --
      Live today, because you never know what tomorrow brings
    2. Re:Please explain by HalAtWork · · Score: 4, Interesting

      Couldn't they just have a USB ID/Bluetooth ID whitelist?