How do I get an XBOX 360 controller working?
I have a Microsoft XBOX 360 gamepad with the wireless adapter and I was wondering what I would have to install to use them with Ubuntu I do know that when using this on Windows I have to manually install the drivers for the wireless receiver (if that is relevant.)
11 Answers 11
If you find difficulties running your XBOX 360 controller, then this will help you install it on a computer running Ubuntu, and also show you how to configure it. These instructions are workable for both wired or wireless X-Box 360 controllers.
Getting Started
To be able to use your Xbox 360 wired/wireless controller under Ubuntu 12.04 (Precise Pangolin), you need first to install some required packages.
Open the terminal and run this command:
sudo apt-get install --install-recommends jstest* joystick xboxdrv
You also need to ensure that xpad is not getting loaded:
echo "blacklist xpad" | sudo tee -a /etc/modprobe.d/blacklist.conf sudo rmmod xpad # unload module if already loaded
Configuring the pad
Connect now your game controller to your PC via USB (wired) or connect your XBOX 360 PC wireless gaming receiver for your wireless controller, then run this command to start the configuration:
In the window that shows up, select your controller (Microsoft X-Box 360 pad, Generic X-Box pad, etc.) and click Properties:
Note If your controller is not listed, try to click the «Refresh» button.
A new window will pop-up which will help you calibrate your gaming controller, remap the buttons of your game controller (changing the order of axis and buttons), etc.
After you finish your configuration, save your new settings and close the window. You will be able now to use your Xbox 360 controller to play games under Ubuntu.
Configure xboxdrv to start at boot
If you’re making a dedicated machine or want to ensure that xboxdrv is loaded on startup you can do this:
First create an upstart job:
sudoedit /etc/init/xboxdrv.conf
and in there add the following contents:
start on filesystem exec xboxdrv -D expect fork
This will ensure xboxdrv is started on boot.
I created a PPA to get this working in 14.04 (some minor differences). Additionally this PPA marks xpad as conflict, properly removes broken configs at install, and creates a System Settings entry called «Joysticks». Check here: launchpad.net/~rael-gc/+archive/ubuntu-xboxdrv
In order for xboxdrv to start in daemon mode, you may have to add a rule to dbus (see here: github.com/Grumbel/xboxdrv/issues/42)
Ubuntu 14.04, 15.10, 16.04:
I created an PPA to install and create a proper daemon for xboxdrv in 14.04 and above.
Additionally this PPA will cleanup broken config, mark xpad as conflict (stop it if necessary), start the xboxdrv daemon and create a «Joysticks» entry into System Settings.
To install it, run in a terminal:
sudo apt-add-repository -y ppa:rael-gc/ubuntu-xboxdrv sudo apt-get update sudo apt-get install ubuntu-xboxdrv
PS: I cloned the package to other releases and even changed it to work with systemd .
Nothing I found could get my XBox 360 Wireless Receiver to work in Linux Mint 17.1 until I did this, then suddenly I saw my controller sync in front of my eyes for the first time in Linux. Thank you so much for this.
Finally solved it. Just type in this in the Terminal
sudo apt-get update sudo apt-get install xboxdrv xboxdrv --silent &
and done you just installed Xbox driver and you’re all ready to use your Xbox 360 controller :D. I guess when everyone says the controller is a Plug&Play and it does not then you have to install the necessary drivers to use it.
And then install jstest-gtk either via a following «sudo apt-get install jstest-gtk» or it can also be found via the Ubuntu Software Center. Unfortunately the whole XBOX package and some kind of GUI/test program has not been submitted to the software center.
UPDATE: This is not required for Kernel 4.2 (maybe 15.10 or 16.04) and higher. This Bug has finally been fixed: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1272765.
If you have problems with blinking LEDs just add this ppa and install the fixed xpad kernel module from SteamOS. Thanks Valve!
sudo add-apt-repository ppa:mdeslaur/steamos sudo apt-get update sudo apt-get install steamos-xpad-dkms
This updates the xpad module in Ubuntu, so you do not need xboxdrv.
This is an update to existing answers for a way to get an XBox360 controller working in Wine >= 1.7, including Steam games in Wine on Ubuntu >= 13.10. No root permissions needed for installation and operation.
The below method makes use of x360ce.exe, which basically provides Dinput codes for Wine to communicate with a game (Note that your XBox controller still sends Xinput controls).
- Plug in your XBox360 (or compatible) controller to have it automatically recognized with the xpad kernel module.
No need to install and run xboxdrv because at present the controller appears to be recognized. Do not blacklist the Xpad kernel module as was recommended in older tutorials.
- x360ce.exe
- dinput8.dll
- xinput1_3.dll