RetroPie hat keinen Standard Treiber für die PS4-Controller mit an Board oder in den eigenen Quellen. Dieser kann aber manuell installiert werden um den Wireless Controller ans laufen zu bekommen. Über USB-Kabel funktionieren die meisten Controller problemlos und der PS3-Wireless-Controller hat einen Treiber im RetroPie-Setup-Script drin.
Ich beschreibe hier dien Weg der Installation und das pairsen des PS4-Controllers über die TTY (Console/Shell) mit dem Kommandozeilenbefehl “bluetoothctl”.
1. In der Emulationstation F4 drücken um diese zu Beenden oder wahlweise über eine SSH-Verbindung (da kein F4).
Windowsuser können dazu das Tool PuTTY verwenden
(Standard Logindaten – user: pi Password: raspberry [ACHTUNG: Bei englischsprachigem Tastaturlayout ist das Y auf der Z-Taste, also vertauscht])
2. Systemquellen aktualisieren und Treiber installieren
sudo apt update sudo apt install python3-dev python3-pip sudo pip3 install ds4drv
Fehler sollten keine auftauchen, wenn doch bitte mit Posten.
2.1 PS4 Controller mit USB verbinden und die PS-Taste drücken, dann zum Test
sudo ds4drv --hidraw --led 000008
eingeben und beobachten. PS4 LED sollte dabei blinken
STRG+C Beendet den Test (Traceback Meldung kommt – stammt vom Pythonscript, keine Panik)
3. Treiber mit dem boot laden
sudo nano /etc/rc.local
vor exit 0 eintragen: /usr/local/bin/ds4drv –hidraw –led 000008 &
STRG+O und mit J bestätigen (bei englischsprachigem Tastaturlayout ist das Y auf der Z-Taste, also vertauscht)
STRG+X (zum Beenden)
4. Neustarten des Systems
sudo reboot
5. PS4 Wireless Controller mit RPi pairsen
Wieder in der Emulationstation F4 Taste drücken oder über SSH-Verbindung (ohne F4).
bluetoothctl
eingeben und PS4-Controller vom USB trennen und in den Pairing-Modus bringen (share und PS Taste gedrückt halten bis blinkt)
eingeben von Kommandos:
scan on
agent on #Controller sollte nun als Wireless Controller mit MAC angezeigt werden
pair MAC
trust MAC
connect MAC
hierbei ist es empfehlenswert die MAC-Adresse des Controllers zu kopieren und immer mit SHIFT+STRG+V einzufügen
Controller LED leuchtet dann dauerhaft, wenn alles richtig und ohne Errors abgelaufen ist. Nicht lange warten, sonst ist der Pairing-Modus wieder aus.
Ist das erledigt verlassen wir den Bluetooth-Modus mit „exit“.
6. PS4 Controller einrichten.
Ist man den Weg gegangen mit der F4-Taste am Anfang, so kommt man mit dem Befehl „emulationstation“ wieder in die Emulationstation.
Bei SSH-Verbindung ist das nicht notwendig.
Sollte bereits ein Controller eingerichtet sein, so kann man mit diesem über das Start-Menü (Main Menu) in die „Configure Input“ gehen und den eben gepaarten Controller einrichten.
Das wars auch schon. Hat man nun einen zweiten PS4 Controller so kann man diesen ebenfalls auf diese weise paaren, die Konfiguration sollte da bei die selbe sein, wenn nicht muss dieser Controller ebenfalls gemappt werden.
H A V E F U N ! ! !
HiHo,
hatte auch das Problem das der Controller nicht gefunden wurde.
Lösung für mich:
-in der Datei
/usr/local/lib/python3.5/dist-packages/ds4drv/backends/hidraw.py
-den Abschnitt
HID_DEVICES = {
“Sony Computer Entertainment Wireless Controller”: HidrawUSBDS4Device,
“Wireless Controller”: HidrawBluetoothDS4Device,
}
-in
HID_DEVICES = {
“Sony Interactive Entertainment Wireless Controller”: HidrawUSBDS4Device,
“Sony Computer Entertainment Wireless Controller”: HidrawUSBDS4Device,
“Wireless Controller”: HidrawBluetoothDS4Device,
}
-ändern und Neustart
Grüße
Frank
Hi Freddy,
dank dir für die Anleitung. Mit etwas hin und her habe ich einen meiner beiden PS4 Controller damit zum Einsatz bewegen können. Besten Dank dafür :).
Jetzt habe ich noch meinen zweiten Controller, bei dem es leider nicht klappen möchte.
Er wird im Scan leider nicht gefunden. Wenn ich in per USB anstecke kommt:
[NEW] Device MAC_VOM_ZWEITEN_PS4_CONTROLLER
[DEL] Device MAC_VOM_ZWEITEN_PS4_CONTROLLER
Beim Scannen sehe ich den Controller leider nicht.
Hast du eine Idee?
Danke und Grüße
Thomas
Heilo
Versuchs mal bitte über RetroPie-Settings System aus der Emulationstation heraus, bei bluetooth. Das Verbindungskabel dabei nicht vergessen.
Hallo,
Ich bin gerade dabei einen PS4 Controller mit dem Retropie zu Verbinden, leider funktionier folgender Befehl nur teilweise
sudo ds4drv –hidraw –led 000008
nach diesem Befehl kommt nur scanning for devices.
wenn ich dann aber den Controller abstecke und neu anstecke kommt die Meldung erneut. Das Interpretiere ich so, das er den Controller erkennt, aber die daten nicht ausliest, Verbindung baute er auf Led leuchtet dauerhaft.
Nun noch eine frage: Wie kann ich das ändern?
Gruß Johannes