2

Backstory

I wanted to use xbox controller for some steam-on-wine games.

I found xboxdrv which claims to make xbox controller work for wine programs.

When I run $sudo xboxdrv I get:

xboxdrv 0.8.5 - http://pingus.seul.org/~grumbel/xboxdrv/ 
Copyright © 2008-2011 Ingo Ruhnke <[email protected]> 
Licensed under GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> 
This program comes with ABSOLUTELY NO WARRANTY. 
This is free software, and you are welcome to redistribute it under certain 
conditions; see the file COPYING for details. 

Controller:        Microsoft Xbox 360 Controller
Vendor/Product:    045e:028e
USB Path:          003:008
Controller Type:   Xbox360

-- [ ERROR ] ------------------------------------------------------
 Error couldn't claim the USB interface: LIBUSB_ERROR_BUSY
Try to run 'rmmod xpad' and then xboxdrv again or start xboxdrv with the option --detach-kernel-driver.

So the wine driver is suggesting, what I understand to be, removing the xpad kernel module.

Question

What does the xpad kernel module provide, and as such, what will I lose by disabling it? Furthermore, is it easy to re-enable, and are reboots required for changing this status?

With details on the xpad kernel module I'd rather leave it in place then risk losing xbox controller fort native applications over for wine applications.

ThorSummoner
  • 4,312
  • 6
  • 30
  • 47

1 Answers1

4

xpad is the driver for Xbox controllers included in the kernel; it doesn't fully support the newer controllers though (the button mappings are incorrect and the LEDs never sync). xboxdrv is a user-space driver for Xbox controllers and provides all the functionality of xpad, minus the bugs. You won't lose any features by switching from xpad to xboxdrv.

To disable xpad permanently you can blacklist it: create a file named say xpad.conf in /etc/modprobe.d containing

blacklist xpad

To use xboxdrv now without rebooting, rmmod xpad and then start xboxdrv as appropriate.

Even with the blacklist in place you can still load xpad: stop xboxdrv and run modprobe xpad.

For more information on modprobe and more configuration options like blacklist, see: http://linux.die.net/man/5/modprobe.d

Stephen Kitt
  • 411,918
  • 54
  • 1,065
  • 1,164