4

Since the last officially supported version is "vivid"(Ubuntu 15.04) from QtSixA PPA and don't work for Ubuntu Xenial (16.04).

Maxwel Leite
  • 2,334
  • 3
  • 20
  • 28
  • In recent versions of Ubuntu, it is not necessary to install anything anymore. I described the process in [an answer](https://askubuntu.com/a/1333047/38631) over [the original question](https://askubuntu.com/questions/409761/how-do-i-use-a-ps3-sixaxis-controller-with-ubuntu-to-control-games) since this one is specific to 16.04. – Didier L Apr 21 '21 at 23:11

1 Answers1

9

On Ubuntu 16.04 - Xenial (maybe work on above)

Note: Don't work for PS3 Gasia / Shanwan game controllers (China/fake PS3 controllers) -- I tested only with a Shanwan controller!

Install from source

Since the last officially supported version is "vivid"(Ubuntu 15.04) from QtSixA PPA and don't work for Xenial (16.04). So we need compile from the only repo that works (and has updated) and allow to connect two controllers at the same time was the fork of RetroPie:

sudo apt-get install dialog build-essential pyqt4-dev-tools libusb-dev libbluetooth-dev python-dbus -y
wget https://github.com/RetroPie/sixad/archive/master.zip -O sixad-master.zip
unzip sixad-master.zip
cd sixad-master
make
sudo make install

Configuring

1.) First make sure you have Bluetooth on your computer.

2.) Plug in the controller via USB first to do the initial pairing. Run the sixpair command:

sudo sixpair

Sample of output when successful pair:

Current Bluetooth master: XX:XX:XX:XX:XX:XX
Setting master bd_addr to XX:XX:XX:XX:XX:XX

XX:XX:XX:XX:XX:XX is the MAC of your Bluetooth device.

3.) Unplug the controller and run:

sudo sixad -s

This starts the sixad daemon which waits for incoming PS3 controller connections. sixad will completely take over the Bluetooth adapter (exclusive control, so no other Bluetooth devices other than PS3 controllers will work after you start sixad).

4.) Press the ps3 button on your PS3 controller and wait for 2-3 seconds. You'll feel the controller vibrate when it successfully connects.

Sample of output when successful connected:

[ ok ] Starting bluetooth (via systemctl): bluetooth.service.
sixad-bin[23052]: started
sixad-bin[23052]: sixad started, press the PS button now
Watching... (5s)
sixad-sixaxis[23069]: started
sixad-sixaxis[23069]: Connected 'PLAYSTATION(R)3 Controller (**XX:XX:XX:XX:XX:XX**)' [Battery 05]

To turn off sixad and disable control: Just press CTRL+C

Test the functionality [Optional]

You can test the functionality of your controller through Jstest-gtk (install: sudo apt-get install jstest-gtk)

Disable sixad service [Optional]

Warning: sixad will completely take over the Bluetooth adapter (exclusive control, so no other Bluetooth devices other than PS3 controllers will work after you start sixad).

sudo update-rc.d sixad disable
sudo service sixad stop

References:

https://askubuntu.com/a/834907/139248
https://retropie.org.uk/forum/topic/2913/guide-use-qtsixa-on-ubuntu-16-04-and-derivatives

Maxwel Leite
  • 2,334
  • 3
  • 20
  • 28
  • 1
    To give the control to the bluetooth controller you have to use: `sudo sixad -r` – William Ardila Sep 14 '17 at 21:06
  • 1
    Thanks! My controller worked with jstest-gtk, and then I configured it with steam (https://askubuntu.com/questions/348612/ubuntu-13-04-steam-dualshock3) Just a note for future users: the controller shuts down if idle for too long – josinalvo May 15 '18 at 16:04
  • 1
    This is also working for Bionic. Thanks, I was looking for something like this some time! – TheFisch Oct 13 '20 at 20:31
  • *NOT RECOMMENDED in 2021*: even after a `make uninstall` and a reboot, my bluetooth adapter was not found. Took me about an hour of trial and error to even start bluetooth after `sixad` took over. – kraxor Nov 14 '21 at 19:01
  • @kraxor which version of ubuntu you have tested? – Maxwel Leite Feb 19 '22 at 20:25