How to Play Games in Android mini PCs / STBs With a PS3 Bluetooth Controller
Android mini PCs ( HDMI TV dongles) are great to make your TV smart, and you may expect to be able to play Android games on your TV easily. The reality is that the keyboard and mouse, or remote controls used with those devices, are not suitable for games, and most games do not play at all. Of course, OUYA and GameStick projects will take care of this, as well as the recently available Project SHIELD ($349) , but if you already have one of those mini PCs, you may not want to spend the money for another device. Luckily there’s a solution, and with some efforts, you can play many games, but not all, with a PS3 Bluetooth controller connected to your Android mini PC or Set-Top Box.
I decided to give it a try by buying “GOIGAME Rechargeable Bluetooth Wireless DoubleShock III Controller for PS3” for $16.60, which is a clone of Sony’s PlayStation 3 Dualshock 3 Wireless Controller, and costs about three times less. Today, I’ll start by showing pictures of the controller, then explain how I managed to play Dead Trigger in Tronsmart T428 Android mini PC, and SuperTuxKart in a computer running Ubuntu 13.04.
Goigame DoubleShock III Unboxing
I received the controller in the package below, which was *almost* not damaged…
The wireless controller comes with a silicon case, and nothing else, so you’ll also need to find a mini USB to USB cable to charge the device.
It does indeed look like a PS3 Dualshock III controller, but for some details such as the “P3” key. I can’t compare the build quality to an original controller since I’ve never used one. The model number at the back is CECHZC2U.
I’ve also partially disassembled the thing for those of you who want to see its guts.
Playing Android Games with PS3 Wireless Controller
At the beginning, I though my controller was damaged because I failed to see it in the list of Bluetooth devices in both Linux computers and Android devices. But apparently, this BT device does not work that way, and won’t be detected at all in the list of devices.
The first thing to do in Android is to download Sixaxis Compatibility Checker, a utility that checks if your Android device and your controller are compatible, before you buy Sixaxis Controller app (~$2.50 US).
Launch Sixasis Compatibility Checker, and click on Start. This is check if your Android device is compatible, and if it is successful show the message below with the master address. The message tells you to use SiaxisPairTool in Windows or sixpair in Linux, but since all mini PCs run Android 4.x, we can just connect our PS3 controller to the mini PC via USB for the next step.
If you don’t get the message above, your device firmware is not compatible, you need to investigate, and possibly re-build the Linux kernel and/or required drivers in as explained in that post.
After having connected the controller to the USB port, click on Pair, make sure the master address is correct (the one detected previously), and click OK.
Disconnect the USB cable, click on Start again in the app, and click on the PS3 Button (original controller) or P3 Button (Clone). LED 1 should be on, and the other 3 off, and the following message should show up in Sixaxis Compatibility Checker.
Click OK, and if you play around with the analog joystick and buttons of your controller, debug messages should be displayed in the app:
Client 0: DOWN - 19 Client 0: UP - 19 Client 0: DOWN - 19 Client 0: UP - 19 Client 0: DOWN - 20 Client 0: UP - 20
With the number changing depending on the key pressed.
Now go over Google Play, buy and install Sixaxis Controller app to be able to play games.
The user interface is very similar to the free checker, just follow the same instructions to pair your controller. You can then click on “Change IME”, and select Sixaxis Controller.
Now let’s try to setup the system to play Dead Trigger. Still in Sixaxis Controller, click on Preferences->GamePad Settings’, and Enable Gamepad as shown below.
I’ve also changed the “Analog Poll Rate” to the maximum, but I’ve not sure it affects playability at all.
You may also want to enable “Mouse Emulation”, or you’ll have to use your mouse to control the menu in the game instead of your controller. I’ve done that, and selected the “START” key to toggle mouse, set the left stick to control the mouse, and assigned L1 and R1 as the left and right mouse buttons.
There’s also a “Touch Emulation”, which will be necessary in many games such as ShadowGun, but not in Dead Trigger, so I’ve skipped this part, which appears to be more complex as I understand you have to setup profiles for each games. Some people also mention the need to use Droidmote to be able to play more games on devices such as MK808.
Let’s start Dead Trigger. Press “START” once to toggle mouse emulation, and go to the setup menu to change the control scheme to “Free Move Pad”, and for my controller, I had to set the aim sensitivity for the game to be playable when turning left or right.
Finally click on Customize Gamepad to define the buttons used for firing, reloading, aiming, and more.. That’s it, start the game, press the “START” button on the controller again to disable mouse emulation, and kill’em all!
Sometimes, the analog sticks would just stop to work for a short, and/or appear to be stuck in position (which they weren’t). I don’t know the root cause of the issue. It could be a controller issue, a firmware bug, or Sixaxis Controller app bug.
PS3 Controller in Linux (Ubuntu)
Instructions to use the controller in Ubuntu are available in help.ubuntu.com.
I could install the tools:
sudo apt-add-repository ppa:falk-t-j/qtsixa sudo apt-get update sudo apt-get install sixad
and after connecting the controller via USB run the following command:
But the next step, where you disconnect USB, and run
would be unable to detect the device as I pressed P3 key. There seems to be issue with Ubuntu and my Bluetooth dongle, as Bluetooth often gets disabled.
USB mode however works perfectly, and after installing the packages below:
sudo apt-get install libusb-0.1-4 xserver-xorg-input-joystick
I could control the mouse pointer with the controller, and play SuperTuxKart without issues in Ubuntu 13.04. It did not work with Ubuntu 12.04 and an earlier version of the game.