DualShock 3/4 testers needed
-
@buzz said in DualShock 3/4 testers needed:
@psyke83 Thanks. RaspberryPi generally are open to kernel option additions etc via their github - https://github.com/raspberrypi/linux
Thanks - I've sent the PR: https://github.com/raspberrypi/linux/pull/2121
There's lots of weird quirks with the native driver. On first boot and first pair, the controller LED stays unlit, but subsequent pairings will light the LED correctly. Also, if you restart the bluetooth service, standard peripherals will pair OK, but the DS3 won't pair again unless you manually invoke "power on" via bluetoothctl.
-
If the updates get added into the kernel officially, how can I get it without breaking other things? I remeber doing an underlying OS update before, and it caused a lot of other problems. At the moment, I'd just be interested in getting the rumble support added for my dedicated PSX build. Is there a way to just do a rebuild oof just those bits? I'm not too tech savvy with Linux and all this, so if it's possible, I'd need a bit of hand holding. :)
-
The PR has already been accepted, but I presume it'll take some time before Raspbian's kernel packages are updated to include the change. Unfortunately, you'll need to update to that newer kernel (when it becomes available).
The native driver seems to suffer from some issues apart from missing rumble, so it may not be a good idea to switch from the ps3controller driver yet. I could send you a rebuilt hid-sony.ko for the current kernel with rumble enabled, but I'm guessing that you don't even have the latest kernel installed, so is it worth it? Instead, I suggest that you stay with the ps3controller driver and update the Retropie-Setup script. @BuZz has already merged my patch that allows coexistence between standard BT peripherals and the ps3controller driver. It should be possible to pair/unpair standard BT devices without issue now.
-
I've not actually tried to use the PS3 controller as a wireless bluetooth device yet. I remembered seeing some stuff in the forums about there being a lot of hoops you had to go through to get it to work, and the official RetroPie docs page on the controller looked like it had a lot of stuff I'd need to do too. So for now, I'm still just using the controller as a standard USB device. I'm not sure which driver is being used/etc. I can wait though. My dedicated PSX build is having some other hardware difficulties anyway.
-
If you didn't install ps3controller, the native Sony HID driver will be used both for BT & USB - rumble isn't enabled in that driver. So yes, the updated kernel will benefit you.
It's not too complicated to install ps3controller. Once installed, you probably need to select the menu option in the ps3controller menu configuration to pair the controller. Once that's done and you've made sure to update the RetroPie-Setup script, the standard Bluetooth menu should work OK with other BT devices.
-
So the reason I'm not having rumble is because I didn't install the ps3controller driver and I'm using the (for lack of better terms) built in one that doesn't support it? So the quick and easy solution is to install that driver. Otherwise, wait and get the new kernel update when RaspberryPi Foundation pushes out the update with a new version of Raspbian (or whatever they use).
I'm trying to remember what conflict I had when I last did a kernel update. I know there was one update I had to get, to patch in the Raphnet "northwest drift" fix on my NES build. After that, I did a kernel update and it broke something. I think it was when the branch of ES came out that brought in video preview art support. But I can't remember what part actually broke. It might have been skin related, or something to do with it locking up. I'll have to go back through my post history over the last few months to find it. :(
-
@hansolo77 said in DualShock 3/4 testers needed:
So the reason I'm not having rumble is because I didn't install the ps3controller driver and I'm using the (for lack of better terms) built in one that doesn't support it? So the quick and easy solution is to install that driver. Otherwise, wait and get the new kernel update when RaspberryPi Foundation pushes out the update with a new version of Raspbian (or whatever they use).
I'm trying to remember what conflict I had when I last did a kernel update. I know there was one update I had to get, to patch in the Raphnet "northwest drift" fix on my NES build. After that, I did a kernel update and it broke something. I think it was when the branch of ES came out that brought in video preview art support. But I can't remember what part actually broke. It might have been skin related, or something to do with it locking up. I'll have to go back through my post history over the last few months to find it. :(
I'm pretty sure that the ps3controller is only a userspace wrapper, which means it doesn't need any special kernel version or driver module to be built. You can most likely install it without updating the underlying OS/kernel; just make sure to update the RetroPie script so that it fetches the latest driver and includes the Bluetooth compatibility fix.
I'm not 100% certain if the ps3controller will override the Sony HID driver on the USB connection and I can't really test that for you (my Pi is powering a 2.5" drive & plugging in the PS3 controller causes the drive to disconnect due to lack of power).
You can see what version is used from the dmesg log (this is a Bluetooth log, but USB would be similar):
Native (hid_sony):
sony 0005:054C:0268.0007: input,hidraw1: BLUETOOTH HID v1.00 Joystick [PLAYSTATION(R)3 Controller] on xx:xx:xx:xx:xx:xxWrapped driver using generic HID:
input: PLAYSTATION(R)3 Controller as /devices/virtual/input/input1 -
Hi, unfortunately i can't make it work.
I have a rpi3, and an official ps3 controller.When i try the method from the Retropie bluetooth menu, i get the "no devices found" message.
If i try the bluetoothctl commands, then the controller pops up at the devices, but doesn't connect.
This happens with the built-in Bluetooth. Everything is updated.
Here is some info:
dpkg -l | grep blue ii bluetooth 5.23-2+rpi2 all Bluetooth support ii bluez 5.23-2+rpi2 armhf Bluetooth tools and daemons ii bluez-firmware 1.2-3+rpi1 all Firmware for Bluetooth devices ii pi-bluetooth 0.1.3 armhf Raspberry Pi 3 bluetooth
uname -r Linux retropie 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux
dmesg log [ 29.045503] usb 1-1.2: new full-speed USB device number 4 using dwc_otg [ 29.191017] usb 1-1.2: New USB device found, idVendor=054c, idProduct=0268 [ 29.191030] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 29.191038] usb 1-1.2: Product: PLAYSTATION(R)3 Controller [ 29.191046] usb 1-1.2: Manufacturer: Sony [ 29.251003] input: Sony PLAYSTATION(R)3 Controller as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:054C:0268.0001/input/input0 [ 29.251633] sony 0003:054C:0268.0001: input,hiddev0,hidraw0: USB HID v1.11 Joystick [Sony PLAYSTATION(R)3 Controller] on usb-3f980000.usb-1.2/input0
-
@headcrab said in DualShock 3/4 testers needed:
Hi, unfortunately i can't make it work.
I have a rpi3, and an official ps3 controller.I noticed the bluetoothctl commands from the Gentoo wiki didn't work for me unless I omitted "agent on" and "default-agent". Maybe you can try again...
It's probably best to hold off on testing until a new firmware is released that includes rumble support (kernel uname build #1018 or later). The sixad daemon also has better compatibility with other BT peripherals now, so it's not so urgent to find a replacement driver.
-
@psyke83
I am not interested in rumble support.I mainly want to see if analog triggers are properly supported since sixpad doesn't.
See hereThe reason i want analog trigger support is that, moonlight-embedded started using SDL2 for controller mappings and triggers mapped as buttons don't work properly.
See here.I'll give it a try with your instructions and report back.
-
Your controller is using the hid-sony driver for the USB connection. If the analog triggers work on USB, then most likely they will also work via Bluetooth as it will be the same driver.
If you can't get bluetoothctl commands working as I suggested, temporarily install sixad, pair it, then uninstall and follow the steps I outlined in the OP once more. It's a pain, but it should work.
I'll be looking more closely at the driver when the new firmware/kernel is released.
-
@psyke83
Ok, now it worked, thanks for the tip.As for which driver is being used, i observed the following.
If i change xpad driver settings in /etc/modprobe.d/xpad.conf
triggers_to_buttons=0
It affects the way triggers are mapped with the ps3 controller. This happens either with usb connection or with the new BT pair mode.
So this leads me to believe that xpad is being used. I'm not experienced with linux though, so i might be mislead.
-
Works beautifully. Connects faster and without the annoying rumble. I have paired with two PS3 controllers and they can both coexist in the system. Awesome!
-
I managed to switch vom ps3controller wrapper driver to the one by BlueZ.
It directly uses the already created ES autoconfig from the wrapper driver.One thing I miss is the controller led's are not showing anything after connecting.
With the wrapper driver LED 1 was glowing permanently. -
The unlit led appears to be a driver bug that occurs only on first connect after boot. Unpairing and re-pairing the controller will show the LED correctly. It's still an issue on the latest firmware on stretch, too.
I'd prefer to use the BlueZ driver, but it has the unfortunate issue of not respecting the BlueZ IdleTimeout setting. I leave my Pi on constantly, so it's not useful to me in its current form.
-
Does the commit 99bdad7 change something to this connection mode? Or is it only for the ps3driver wrapper?
-
It should only affect the wrapper driver, mostly to improve compatibility with Raspbian stretch (which is not supported by RetroPie yet).
-
Hello! First, thanks @psyke83 for the great work on the ps3/ps4 controllers support in RetroPie.
What is the current status of the driver/procedure for latest RetroPie 4.4 on Debian Stretch to use ps3/ps4 controllers? Are the instructions in https://github.com/RetroPie/RetroPie-Setup/wiki/PS3-Controller still the preferred method at the moment to use these controllers?
Thanks!
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.