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.


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 Mediacenter. [Update: 2016-09-28] However, development of 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:

Leave a Reply

40 Comment threads
77 Thread replies
Most reacted comment
Hottest comment thread
32 Comment authors
Notify of

I still have problems pairing my gasia controllers with this guide. I did everything step by step and still no connection. sudo bluetoothctl gives me the following: [NEW] Controller 00:15:83:6D:34:6C retropie [default] [NEW] Device 00:26:5C:10:53:A7 PLAYSTATION(R)3 Controller [NEW] Device 00:26:5C:10:57:B6 PLAYSTATION(R)3 Controller I think the controllers are being recognized, but they won’t pair. Any idea?


Hi Luetzel, First of all I would like to thank you for the some much effort you put in creating this guide. I wanted to create a fresh installation from scratch on my Pi3 with Retropie and pairing my bluetooth PS3 controller to it via the onboard BT of Pi3. I have started the procedure with upgrading Retropie to the latest version. After that I have followed your step-by-step procedure which worked fine in most cases. Whoever there were some steps where I got stuck with the compilation of QtSixA. Google told me that the errors are referring to that… Read more »


Hi luetzel, Your guide is fantastic! Thank you very-very much! 🙂 I’ve just made it to connect via BT to my Ubuntu machine. I just have one question. I have a Shanwan controller and the mapping is really messed up in Steam. What would you suggest I use to properly remap the controller?


If I do an install from scratch starting with rasbian. Do I follow your instructions and only install retropie after completing your instructions. I have a pi 2 and a Shanwan controller.


If I download your patched blues source code do I still need to do steps 1-3? or can I just start with step 4?


When doing step 4 I get the message Configure: error: libical is required. What is libical and how do I aquire it?


I tried linking /etc/firmware but that doesn’t seem to be the problem. I still get aa:aa:aa:aa:aa:aa. Also it worked the first time its only after the restart that it fails. Since I already paired once I can see it in bluetoothctl it’s just no able to reconnect when I hit the PS button. In my ignorance it feels like something hasn’t restarted correctly. This was a vanilla install of Rasbian (2016-11-25), on a PI 3 using the built in bluetooth. I wonder if something changed in that version.


Thanks for the excellent work. The instructions worked and I was able to set up two controllers on a fresh install of raspbian. However after reboot the controllers failed to reconnect. After reboot hciconfig is not showing ISCAN, my two controllers are shown as paired in bluetoothctl and the service is running your patched bluez (I have tried repeating make install just to be sure). Here is the formatted output of a few commands. At the end if I try hcidump -x and press try to pair from the controllers I see no pairing attempt made.


Hi all, i use an old netbook, toshiba NB505 2GB/Ram and Intel Atom N455, i use Lakka for retrogaming, i have a P3 shanwan that i wold like to use through bluetooth, is it possible to apply this pach in that system?