How do I use a PlayStation 3 controller with Ubuntu?
6 Answers
You are able to connect the controller to the pc via usb cable. This is supplied with a PS3 device (it is the primary way to charge the controller). I don't know how to connect the controller via bluetooth to your computer (if you even have a bluetooth receiver), so this answer focusses on usb connection. It might be that the controller already works if you do this (You can test this with jstest-gtk as listed below). I use another similar PnP controller, and it works without difficulty.
if it does not work automatically, this link might answer your question. In summary:
- install xboxdrv from the Ubuntu Software Center or with
sudo apt-get install xboxdrv - start xboxdrv with
sudo xboxdrv --detach-kernel-driver - If you press the Playstation button, the computer will receive its input and simulate it as an Xbox 360 controller, which should work the same as the playstation controller.
You can test the functionality of your controller through Jstest-gtk (install: sudo apt-get install jstest-gtk)
Good luck, let me know if it works.
- 444
- 1
- 6
- 14
-
-
-
Doesn't work anymore with ubuntu 14.10. I tested it with the 14.04 debs. – migueleon Jan 05 '15 at 21:50
-
-
You should use sixad/QtSixA http://qtsixa.sourceforge.net/ . Just install from the repo and pair with sixpair while the sixaxis is connected with usb, and then connect with Bluetooth by pressing the PS button.
sudo add-apt-repository ppa:falk-t-j/qtsixa
sudo apt-get update
sudo apt-get install qtsixa
Connect with USB
sixpair
Disconnect sixaxis from USB
sixad -s
press PS button to connect over bluetooth
- 455
- 1
- 4
- 15
-
-
-
-
3This solution doesn't work anymore! Terminal says E: The repository 'http://ppa.launchpad.net/falk-t-j/qtsixa/ubuntu xenial Release' does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. – Cirelli94 Jul 10 '16 at 11:21
Sorry to be that guy but compiling from source worked for me and the PPA has been pretty quiet for a while now (not weird at all considering the GitHub hasn't been updated in 4 years and the "final" version was released around the same time), so don't hold your breath for a xenial package.
The excellent guide I linked gives you a few commands to download all prereqs and compile but I will summarize here:
sudo apt-get update &&
sudo apt-get install git dialog build-essential pyqt4-dev-tools libusb-dev libjack-dev libbluetooth-dev python-dbus checkinstall -y &&
git clone https://github.com/falkTX/qtsixa.git &&
cd qtsixa &&
make &&
sudo checkinstall
-
I get nathan@nathan-vm:~/projects/sixad-master$ sudo sixpair USB_REQ_GET_CONFIGURATION: Broken pipe Current Bluetooth master: Unable to retrieve local bd_addr from `hcitool dev`. Please enable Bluetooth or specify an address manually. – Void Nov 09 '19 at 14:29
There is nothing to install anymore on recent versions of Ubuntu, as Dualshock 3 (and 4 I believe) is natively supported by the Kernel, in both USB and Bluetooth.
USB Usage
If you want to use it also via Bluetooth, prefer to make the Bluetooth setup first.
Connecting the controller via USB just works™ out of the box. The main drawback is that the controller remains paired with your PlayStation, so when you disconnect the controller, it turns on the PlayStation. Remember to turn it off.
To avoid this, you need to pair the controller via Bluetooth.
Bluetooth usage
First connection
- If you controller is connected over USB, disconnect it first.
- Open Bluetooth settings in the Gnome Control Center
- Ensure Bluetooth is enabled, and keep that window open
- Connect the controller via USB
- Accept the confirmation dialog that opens:

- Disconnect the USB cable
From now on, you just have to press the PlayStation button to connect it via Bluetooth to your PC.
Note that this will dissociate the controller from your PlayStation (otherwise it would still turn it on when you press the PlayStation button). If you want to re-associate it, you will need to connect it via cable first, like you did with your PC.
Turning off the controller
There are 2 options to turn off the controller:
- Hold the PlayStation button for 10 seconds; or
- Go to the Bluetooth settings, select your device, and disconnect it with the toggle.
On Ubuntu 15.10/16.04 and Linux Mint 18, you can still use the QtSixA PPA, but specifying "vivid" as the Ubuntu version (15.04), since that was the last officially supported version. To do so, execute the following:
sudo add-apt-repository "deb http://ppa.launchpad.net/falk-t-j/qtsixa/ubuntu vivid main"
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 736E4F0B
sudo apt update
sudo apt install sixad
Note: as far as I can tell, the GUI based application is no longer useful, at least to detect and connect controllers through Bluetooth. Because of that, you need to use the command line-based applications, i.e. sixad and sixpair
Edit: Apparently and according to my tests, sixad automatically starts at the boot, but doesn't work at all when that happens, having to stop it an re-start it to make it to work. To prevent sixad from being started at the boot, you have to execute:
sudo systemctl disable sixad
and, when you're going to use it, execute:
sudo sixad -s
of course, all the above is because QTSixA is no longer supported. The PS3 and PS4 controllers are supposed to work natively in Linux, but I still prefer to use it instead of the native support. I haven't been able to connect my PS3 controllers natively, and when I use QTSixA, I can do other things like specify the Bluetooth MAC address to be paired with.
I think I will mail the developer to know if it's possible for him to resume the support. I believe that only applying small modifications, the project could work properly out-of-the-box. And, even without doing anything, the PPA could still work.
- 71
- 6
-
-
-
@Maxwel Leite are you able to start sixad successfully? Did you take into account what I explained about preventing sixad from starting at the boot? – Luisg123v May 11 '17 at 23:02
-
yes sixad starts and wait for press PS button - does work and yes, I disable sixad from start on boot .Thank you for try to help me but [I solve the problem for my own](https://askubuntu.com/a/913600/139248). – Maxwel Leite May 12 '17 at 00:45
PPA won't work on Ubuntu Xenial derivates but there is a solution. If you have Ubuntu 16.04 and would like to use qtsixa, you can use these commands to trick the PPA into thinking that you’re running 15.10:
sudo cp /etc/lsb-release /etc/lsb-release.backup
sudo gedit /etc/lsb-release
Change the following lines to the values below:
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.10
DISTRIB_CODENAME=wily
DISTRIB_DESCRIPTION="Trusty Tahr"
and save.
Now install the PPA for qtsixa. Then copy the original lsb-release file back to were it was.
sudo cp /etc/lsb-release.backup /etc/lsb-release
Now you can reboot.
sudo reboot
Useful for using Intel Graphics Installer for Linux™ too, tested in Linux Mint 18 thanks to this post.
-
1
-
1Answer downvoted. Changing the description of your release is NOT the way you do things on Ubuntu or Debian. – dotz Mar 19 '18 at 19:19
-
1Changing `lsb-release` files is a very bad idea and can lead to extreme breakage. While this may get the PS3 controller working, the draw backs of this approach outweigh any benefits. – Batcastle Sep 28 '21 at 21:14