I would like to use the Ouya controller with my Ubuntu machine... its a standard Bluetooth controller and when I attempt to pair it with Ubuntu 13.04 the pairing option box prompts me to enter a pairing code.

Now this is the odd part. The pairing code options dialog in the settings has a few options but none of the setting stick when closing the dialog (there is no ok or apply, just "Close").

So at the end of the day I am unsure if there is a simple way to pair Bluetooth gamepads in Ubuntu.

TL;DR: How do I pair a Bluetooth gamepad without a paircode?

  • if you can/did confirm that your original answer (which I've expanded on) works, could you accept it (or make any corrections as you see fit first?) thanks! – david.libremone Aug 29 '14 at 7:33
  • It turns out the controller wasn't compatible with my dlink 2.0 bluetooth adapter DBT-122. as soon as i used my laptop the pairing went smoothly. – Disk1of5 Jun 16 '15 at 3:28

It appears that the default Bluetooth GUI wasn't designed with gamepads in mind. You can still get your OUYA gamepad working, though. You should be able to use the default Bluetooth GUI (see the other answer) - if for some reason you can't this fallback method also works (with some caveats).


Before you start, install bluez-compat (to make the connection with hidd) and joystick-gtk (to test the gamepad) as follows:

sudo apt install bluez-compat jstest-gtk

Scan and connect

Now press hold down the OUYA button on the controller to make it discoverable. It should start by flashing all four lights, then flash only two lights. Once it is doing this, enter the following command to scan for it:

hcitool scan

It should appear as "OUYA gamepad" with a long address after it. You can now connect to it with:

sudo hidd --connect <ADDRESS>

(replace with the address from the scan).

Confirm it works

You should immediately be able to move the mouse pointer with the OUYA gamepad touchpad. Additionally, a wireless mouse indicator should appear next to the Bluetooth adapter icon.

Finally, you can confirm that gamepad input is working by running jstest-gtk from the Dash.

Drawbacks with this approach

  • bluez-compat is self-described as being a legacy package. "These binaries are not supported, and will go away again in the future." It would be ideal to use a more modern package.
  • Because we use sudo to connect, a lock icon appears on the Bluetooth indicator. (Does this have any effect?)
  • The gamepad is not permanently added to the list of Bluetooth devices, and is autodiscoverable (e.g. next time you reboot, you can't just make the controller discoverable again, you have to repeat the scan and connect process).
  • Using the default Bluetooth GUI does not have any of these drawbacks.
  • Also you can search for a device and auto connect using sudo hidd --search – jumpnett Nov 9 '13 at 5:43

You need to treat the gamepad as any other Bluetooth pointer device with a dummy PIN of "0000". When connecting for the first time:

  • Hold down the OUYA button on the controller to make it discoverable. It should start by flashing all four lights, then flash only two lights.
  • Once it is doing this, click on the Bluetooth indicator and select "Bluetooth Settings..."
  • Wait for the device search to complete
  • Select the gamepad from the list
  • Click "PIN options..."
  • In the new window pick "0000" from the fixed PIN list, then click "Close"
  • In the Bluetooth New Device Setup window, click "Continue"

The gamepad should now be available. You can confirm it works as described in the other answer.

The device will appear permanently under the Bluetooth indicator, even when it is not around. When you want to connect it subsequently:

  • Activate the gamepad
  • Click on the Bluetooth indicator and hover over "OUYA Game Controller"
  • Drag the connection from "Off" to "On"

Improvements from the other answer:

  • no extra (old) dependencies
  • the Bluetooth indicator does not get a lock symbol
  • When I first tried this on 14.04 it still prompted me to enter a displayed pin on the OUYA controller, even after selecting 0000 as the pin option (I think this is what the OP saw). After several attempts and a suspend and resume, it displayed a pin to enter for a few seconds and then successfully paired anyway without interaction. I don't know if I just wasn't waiting long enough on the first several attempts. – John O'M. Jun 15 '15 at 1:15
  • I tried this on Ubuntu 16.04 and it doesn't work. It says the pairing fails, and the controllers lights never stop blinking. I have a wireless "bluetoth" Logitech keyboard/mouse combo with its own dongle, could it interfere perhaps? – Some programmer dude Aug 17 '16 at 9:53

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.