how do I make my Dualshock 3 gamepad work in Ubuntu 14.04?
When my desktop computer was running Ubuntu 12.04, my PS3 controllers would work with USB. I didn't need to do any special setup. I could just plug it in before I start SuperTuxKart and it would recognize it. I can also do this on my laptop (still running 12.04). Since I gave my desktop a fresh install of Ubuntu 14.04, the controller would never work. I have played with some installed software that I found when looking for information. Here is what I get with xboxdrv
:
liam@Liam-CustomDesktop:~$ sudo xboxdrv --detach-kernel-driver
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: PLAYSTATION(R)3 Controller
Vendor/Product: 054c:0268
USB Path: 003:012
Controller Type: Playstation 3 USB
Your Xbox/Xbox360 controller should now be available as:
/dev/input/js0
/dev/input/event16
Press Ctrl-c to quit, use '--silent' to suppress the event output
So my computer does have a few hints of the existence of this controller. But it never works for input. I have wanted to use it on Stunt Rally and SuperTuxKart, but they don't recognize the device. In my old installation, I didn't even need to get software like xboxdrv
for it to work. I have never tried bluetooth on either computer, but I don't think I even have that on my desktop.
So now, how do I make my gamepad work in Ubuntu 14.04?
Solution 1:
There is a know bug in the kernel: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1326725
It is supposedly fixed in the 3.14 Linux kernel and newer, but I upgraded and it still didn't fix the problem. You could try to downgrade to an earlier version as described here: Emulating Xbox 360 controller using xboxdrv not working for Dualshock controller on 14.04
Solution 2:
Its a bug with the kernel 3.13 but I solved by updating the kernel to 3.14.5 using these commands on the terminal (Ctrl+Alt+T):
For 32-bit:
wget kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.11-trusty/linux-headers-3.13.11-031311_3.13.11-031311.201404222035_all.deb
wget kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.11-trusty/linux-headers-3.13.11-031311-generic_3.13.11-031311.201404222035_i386.deb
wget kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.11-trusty/linux-image-3.13.11-031311-generic_3.13.11-031311.201404222035_i386.deb
Install them with this command:
sudo dpkg -i linux-headers-3.13.11-*.deb linux-image-3.13.11-*.deb
Then reboot.
For 64-bit:
wget kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.11-trusty/linux-headers-3.13.11-031311_3.13.11-031311.201404222035_all.deb
wget kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.11-trusty/linux-headers-3.13.11-031311-generic_3.13.11-031311.201404222035_amd64.deb
wget kernel.ubuntu.com/~kernel-ppa/mainline/v3.13.11-trusty/linux-image-3.13.11-031311-generic_3.13.11-031311.201404222035_amd64.deb
Install them with this:
sudo dpkg -i linux-headers-3.13.11-*.deb linux-image-3.13.11-*.deb
And reboot.
If you have any trouble with the kernel, reboot and go to advanced options. Select the previous kernel. Install GRUB Customizer using these commands:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer
Once installed, go to general settings and select the previous kernel in the "predefined" row.