Setting up PS3 controllers on Retropie (Gasia/ Shanwan clones)

If you like retro-gaming you probably came across RetroPie, which allows to turn your Raspberry Pi into a retro-gaming machine.

RetroPie supports game-controllers of many different brands, however it can be difficult to configure them, especially if you chose a wireless (bluetooth) controller. I decided for a wireless Sony PS3 controller and purchased a pair of “compatible” devices from Aliexpress a.k.a. Gasia/Shanwan clones.

IMG_7667a

The RetroPie Wiki  provides some useful information on how to pair these controllers with a bluetooth dongle. At the moment RetroPie supports PS3 controllers using the sixad daemon, which is part of the QtSixA package.

The QtSixA  Sixaxis Joystick Manager can connect PS3 hardware, but it takes over bluez/ bluetoothd service and other bluetooth devices, so that keyboards or mice can’t connect when sixad is active.

Thus, I was wondering why there is no ‘native’ bluez support for PS3 devices. A Google search revealed that bluez comes with a ‘sixaxis’ plugin supporting only “genuine” PS3 controllers. However, I found on the gmane mailing list that bluez patches are currently under development, but none of them made it into an official or main developer branch, yet.

BlueZ PS3 support using the Sixaxis plugin

Fortunately Szymon Janc, one of the bluez developers, provided some patches for the OpenELEC.tv Mediacenter. [Update: 2016-09-28] However, development of OpenELEC.tv seems to be dead, since there were no updates for quite a while. Therefore, I do not expect that patches supporting other PS3 clones will be released soon.

Here is a short tutorial on how to use these patches for RetroPie and to fix the annoying PS3 Shanwan/Gasia pairing problem:

117
Leave a Reply

40 Comment threads
77 Thread replies
6 Followers
 
Most reacted comment
Hottest comment thread
32 Comment authors
  Subscribe  
Notify of
Hjalte

Hi. Thanks a lot for the detailed walkthrough, i’ve followed every step. I’ve purchased a ‘golden ps3 controller’ on eBay, it shows up in dmesg as: “input: SHANWAN PS3 GamePad as /devices/pci0000:00/0000:00:1d.0/usb2/2-2/2-2:1.0/0003:054C:0268.001C/input/input44”. bluetoothctl can see the BT MAC addr, but for the life of me i can’t make it pair/connect. I rumbles constantly when plugged into USB. sixpair shows to lines: current and setting bt addr, both being written as my usb bt dongle mac. Any tips on what I could try or some output I could post here to help you help me. Thanks a lot in advance

noname

Thanks a lot for your work. Got my shanwan clone paired on pi3 with internal bluetooth. Now got it paired on gentoo system with usb-bt. In both cases it did not work out of the box. sixpair was always ok, but no bt-pairing. I only got it working after running sixad (killing bluetooth) and qtsixa. gentoo wiki says clones not working, but they do with your bluez.

Josh

Martin, Your guides seem to be the most thorough explanation of these issues. I’ve tried to follow your instructions to the T, including redoing a Pi3 with retropie, bluez, QtSixA. I can get SixPair to give me a good MAC address output. But then I can’t pair. If I go into bluetoothctl it can see the controller, and will “connect” when I press the PS button such that it is on. But it won’t ever pair…. Any thoughts on this or how to debug? Thanks

Hello leronardo and everyone here . could someone please guide me in this tutorial ? I’m totally lost in this tutorial , I’m noob with RP . I have 3 ps3 shawman controls and can not use any = ( somebody help me, please

Leonardo

thanks, it worked fine! 😉

Stevo

Hi Luetzel, when I am getting stuck when I try to make the sixpair utils. When I run make, I get: gcc -Wall -O2 hidraw-dump.c -o bins/hidraw-dump gcc -Wall -O2 sixad-jack.c -o bins/sixad-jack -ljack -lm gcc -Wall -O2 sixpair.c -o bins/sixpair -lusb sixpair.c:9:17: fatal error: usb.h: No such file or directory #include ^ compilation terminated. Makefile:8: recipe for target ‘tools’ failed make: *** [tools] Error 1 Any ideas how get past this?

auwear

Thank you for this tutorial but I am still having issues connecting 2 controllers at the same time, and I can’t stop the controllers vibrating when I connect them via USB to charge. Can you please help me at all?

acdc go

Also be sure that: sixad-sixaxis have appropiate permissions: cd /usr/sbin/ chmod 755 sudo reboot this worked for me.

trev E

awesome stuff, thanks for the guide! my 2 PS3 Shanwan controllers now work via BT- but the gasia doesnt.. guessing cant get both working together?

Trev

Ha took me 10 mins to spot the typo! sudo service bluetooh restart should read “bluetooth”