Userspace Xbox/Xbox360 USB Gamepad Driver for Linux

Long story short, the xpad kernel driver that comes with the Linux kernel doesn't work with the Xbox360 gamepad and the newer ones found in the xbox-linux CVS trees, works in theory, but currently just crashes for me and causes the machine to halt on boot. So I wrote my own one and due to lack of Linux kernel knowledge one that works with libusb in userspace. As a nice side effect this makes it much easier to configure the gamepad for games with special requirements.

News

03. May 2008
0.2 released, adding guitar and wireless support
13. April 2008
0.1 released, Xbox and Xbox360 USB support

Features

Missing features

Supported and tested devices

How to help

Three things are currently not working, the headset, the chatpad and the racing wheel. With the headset it is relativly easy to capture and play sound, but I don't know the sound format that is used. Two samples of the raw data:

If you have any idea what format that could be let me know. Playing it as 8bit PCM, Mono, 8192Hz makes the sound somewhat understandable, but there is likely something more going on.

The chatpad is tricker, since it doesn't send out any data on its own, it likely needs some magical init string, but figuring that out might require a USB protocol analysing device to which I don't have access. Capturing the USB data from Windows won't work, since the official windows driver doesn't support the chatpad either.

The racing wheel support should be doable if somebody wants to spend some time on it, according to first reports the device sends out events, so those just need to be deciphered. It is also supported by the Windows driver, so capturing the communication is possible.

If you can help with either of these or just have a feature request, drop me a mail to grumbel@gmx.de or contact me via ICQ:59461927 or Jabber xmpp:grumbel@jabber.org.

Source Code Download

Git Repository

Links


© 2008 Ingo Ruhnke <grumbel@gmx.de>