Go to file
Paul Black eccc84de0c Updated Thrustmaster config 2023-12-13 14:40:56 -07:00
data Added data/org.seul.Xboxdrv.conf for dbus 2015-11-09 10:17:54 +01:00
doc Fixing typo sensitivty -> sensitivity 2018-03-03 00:00:37 -05:00
examples Updated Thrustmaster config 2023-12-13 14:40:56 -07:00
hal Some more stuff 2009-02-19 16:56:48 +01:00
runxboxdrv Updating python code to python3 2019-11-24 18:36:34 +01:00
src Replaced incorrect memset() usage with std::fill_n() 2018-06-06 13:17:07 +02:00
test Replaced grumbel@gmx.de with grumbel@gmail.com 2015-06-25 20:25:24 +02:00
tools Replaced grumbel@gmx.de with grumbel@gmail.com 2015-06-25 20:25:24 +02:00
.gitignore Add Nix flake build files 2022-03-01 17:09:02 +01:00
.travis.yml Added 'make install' to travis 2015-10-26 03:47:56 +01:00
AUTHORS Some more chatpad work 2011-01-02 19:12:32 +01:00
COPYING - added copying 2008-04-11 00:06:07 +02:00
Makefile Fixed Makefile so that scons is always called 2015-11-10 17:13:03 +01:00
NEWS Updated NEWS 2015-11-09 11:18:54 +01:00
PROTOCOL Added some info for the chatpad 2013-01-05 21:51:17 +01:00
README.md Added documentation for dbus 2015-11-09 10:18:03 +01:00
SConstruct Remove trailing whitespace 2019-11-24 18:30:14 +01:00
TODO TODO updates 2011-08-23 11:51:42 +02:00
VERSION Increased version number to 0.8.8 2015-11-09 11:19:35 +01:00
chatpad.xkb Use currency symbol for Microsoft Points symbol (see Wikipedia on currency symbol) 2011-01-10 18:32:04 +01:00
flake.lock Update flake.nix to nixos-22.05 2022-05-31 13:30:26 +02:00
flake.nix Update flake.nix to nixos-22.05 2022-05-31 13:30:26 +02:00
guix.scm Correct homepage URL 2019-12-05 23:53:45 +01:00
xboxdrvctl Cleanup whitespace issues 2019-11-24 18:40:04 +01:00

README.md

Xbox/Xbox360 USB Gamepad Driver for Userspace

Xboxdrv is a Xbox/Xbox360 gamepad driver for Linux that works in userspace. It is an alternative to the xpad kernel driver and has support for Xbox1 gamepads, Xbox360 USB gamepads and Xbox360 wireless gamepads. The Xbox360 guitar and some Xbox1 dancemats might work too. The Xbox 360 racing wheel is not supported, but shouldn't be to hard to add if somebody is interested.

Some basic support for the Xbox360 Chatpad on USB controller is provided, Chatpad on wireless ones is not supported. The headset is not supported, but you can dump raw data from it.

This driver is only of interest if the xpad kernel driver doesn't work for you or if you want more configurabity. If the xpad kernel driver works for you there is no need to try this driver.

Newest version of the driver can be found at:

The development version can be optained via:

Compilation

Required libraries and tools:

  • g++ - GNU C++ Compiler
  • libusb-1.0
  • pkg-config
  • libudev
  • boost
  • scons
  • uinput (userspace input kernel module)
  • git (only to download the development version)
  • X11
  • libdbus
  • glib

Once everything installed, you can compile by typing:

scons

On Ubuntu 10.10 you can install all the required libraries via:

sudo apt-get install \
 g++ \
 libboost1.42-dev \
 scons \
 pkg-config \
 libusb-1.0-0-dev \
 git-core \
 libx11-dev \
 libudev-dev \
 x11proto-core-dev \
 libdbus-glib-1-dev

To load the uinput kernel module automatically on boot add it /etc/modules, to load it manually type:

sudo modprobe uinput

On other distributions exact install instructions might be slightly different.

Installation

Once the compilation process is complete you can install xboxdrv with:

make install

You can also change the install PREFIX and DESTDIR as usual with:

make install PREFIX=/usr DESTDIR=/tmp

Note that there is no need to install xboxdrv, you can run it directly from the source directory if you prefer.

If you want to run xboxdrv in daemon mode on boot, copy data/org.seul.Xboxdrv.conf into /etc/dbus-1/system.d/, otherwise xboxdrv will complain with:

[ERROR] XboxdrvDaemon::run(): fatal exception: failed to get unique dbus name: Connection ":1.135" is not allowed to own the service "org.seul.Xboxdrv" due to security policies in the configuration file

Running

Extensive documentation on running xboxdrv can be found in the RUNNING XBOXDRV section of the xboxdrv manpage. When you haven't installed xboxdrv the man page can be found in doc/xboxdrv.1 and be read with:

man -l doc/xboxdrv.1

Documentation on xboxdrv-daemon, a daemon that will automatically launch xboxdrv when a pad is plugged in can be read via:

man -l doc/xboxdrv-daemon.1