Connect fake PS3 joystick controller via bluetooth wirelessly to retropie 4.2
-
PS3 JOYSTICK CONTROLLER FAKE GASIA WITH RETROPIE 4.2
Have a keyboard connected via USB (not bluetooth!) and setup A,B,START and SELECT keys (the rest can be anything)
Go to retropie main screen and press A on retropie (main app).
Go to retropie setup > manage packages > drivers > ps3controller >
install from source (wait) > configuration/options (press OK) >
install ps3 controller (clone support gasia) (WAIT)
pair ps3 controller (clone support gasia) (follow instructions)it will not pair!!
SSH into your pi using username pi and password raspberry
wget https://github.com/luetzel/bluez/archive/master.zip (the file is in the folder)
unzip master.zip
cd bluez-master
sudo apt-get install libical-dev
sudo apt-get install libreadline-dev
sudo apt-get install libusb-dev
./configure --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --enable-sixaxis
make -j3
sudo make installBe aware that this will overwrite your distribution’s bluetooth/bluez package. It is highly recommended to purge/uninstall your distributions bluez package prior to the installation of patched bluez in order to avoid version conflicts.
Now, restart the bluetooth daemon with:
sudo systemctl daemon-reload
sudo systemctl start bluetooth
sudo service bluetooth restart
sudo rebootIf this doesn’t work, run:
sudo /usr/bin/sixad -sAnd try to pair your joystick.
RESTART DAEMON AFTER JOYSTICK DISCONNECTS RECONNECT
After I connect the joystick for the first time, if it disconnects after staying idle for some time, then it won’t reconnect unless you reboot your retropie. In order to solve this...
Create file /etc/systemd/system/sixad.service and put the following contents
[Unit]
Description=PS3 joystick[Service]
Type=simple
ExecStart=/usr/bin/sixad -s
ExecStop=/usr/bin/sixad --stopRun:
systemctl daemon-reload
Add the following to the last line of /etc/udev/rules.d/99-sixad.rules:
SUBSYSTEM=="input",ACTION=="remove",RUN+="/bin/systemctl restart sixad"
Then run the following to reload udev rules:
udevadm control --reload-rules && udevadm trigger
Add the following before exit 0 on the file /etc/rc.local:
/bin/systemctl restart sixad
That's it! Now everything works fine for me.
See also:
https://raspberryblog.de/?p=1870&page=2
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.