Haptic broken (for sixad) |
quequotion
|
Hello! This is my first post in the SDL forum; sorry to say it's a bug report :/
I noticed this while doing tests for broken force feedback in pcsxr. I suspect the same bug affects Dolphin and mupen64plus (unreported, but I cannot get force feedback there either, despite a lack of error messages). Haptic is not making force feedback happen, at least on sixad controllers.
I've tested with a few controllers; no force feedback actually happens. The controllers are working and can get force feedback through FF_RUMBLE. fftest succeeds on effects 4 (strong rumble) and 5 (weak rumble). I've also sent this in to the mailing list, but I'm not a member so it's going to take a while.[/url] |
|||||||||||||||
|
JayneHJKL
|
SDL detects my DS3 and DS4 controllers as non haptic.
I know using xboxdrv can be used to trick SDL into thinking it is an Xinput 360 controller. Haptic will then work, though uploading effects seems to fail saying not enough space. You can play a simple effect using SDL_HapticRumblePlay though. It seems that Wireless and Haptic support for DS3 and DS4 are not fully supported by SDL currently, even though other gamepad utilities on linux seem to have no issue. I'll do some more poking around in the joystick and haptic source, but I doubt I'll be able to find or fix the issue myself. |
|||||||||||
|
Haptic broken (for sixad) |
Que Quotion
Guest
|
Haptic is not making force feedback happen, at least on sixad controllers.
$ ./testhaptic INFO: 1 Haptic devices detected. INFO: Device: PLAYSTATION(R)3 Controller (00:07:04:5B:62:61) INFO:Â Â Â Supported effects [16 effects, 16 playing]: INFO:Â Â Â Â Â Â sine INFO:Â Â Â Â Â Â triangle INFO:Â Â Â Â Â Â left/right INFO:Â Â Â Supported capabilities: INFO: Uploading effects INFO:Â Â Â effect 0: Sine Wave INFO:Â Â Â effect 1: Left/Right INFO: Now playing effects for 5 seconds each with 1 second delay between INFO:Â Â Â Playing effect 0 INFO:Â Â Â Playing effect 1 $ ./testrumble INFO: 1 Haptic devices detected. INFO: Device: PLAYSTATION(R)3 Controller (00:07:04:5B:62:61) INFO: Playing 2 second rumble at 0.5 magnitude. INFO: Stopping rumble. INFO: Playing 2 second rumble at 0.3 magnitude. I've tested with a few controllers; no force feedback actually happens. The controllers are working and can get force feedback through FF_RUMBLE. fftest succeeds on effects 4 (strong rumble) and 5 (weak rumble). |
|||||||||||
|
Haptic broken (for sixad) |
Elias Vanderstuyft
Guest
|
Hi,
- So both "testhaptic" and "testrumble" don't work on your controllers? - Did you test with SDL2.0.3, or latest SDL mercurial? - What kernel version are you using, and can you provide the productId (use "lsusb")? - Where did you get "fftest" from, and what version? (there are some different versions out there in the wild) Regards, Elias On Fri, Aug 8, 2014 at 7:34 PM, Que Quotion wrote:
|
|||||||||||||
|
Haptic broken (for sixad) |
Elias Vanderstuyft
Guest
|
I heard there are 2 versions of the DualShock3 controller:
   - the first one, and    - the second one with the additional "SIXAXIS" text in blue letters:        http://upload.wikimedia.org/wikipedia/commons/4/43/DualShock_3_Lights_and_Text.jpg The fist one doesn't support force-feedback/haptic by hardware, while the second one *does* support it (that's why "fftest" works in that case). Maybe SDL mistakenly thinks that *every* DualShock3 controller doesn't support haptic, and therefore forces to report it as "non-haptic". Elias On Wed, Aug 13, 2014 at 11:13 PM, JayneHJKL wrote:
|
|||||||||||||
|
Haptic broken (for sixad) |
mungewell
|
I think that the kernel version is going to be important, there was quite some work done to refactor/fix things for the Dualshock4. https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/drivers/hid/hid-sony.c
The dualshock gamepads don't natively support these effects, I believe that there is some emulation going on here - probably by Xpad driver (kernel?) or xboxdrv (userland). I remember having some issues with gamepads reporting these effects, although not really having them - I wanted to be able to detect between a gaming wheel and a gamepad. I'd suggest that you ensure that you are using the correct (look for 'hid-sony' in 'lsmod' output) driver and test again. Simon. _______________________________________________ SDL mailing list http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org |
|||||||||||||||||
|
Haptic broken (for sixad) |
Elias Vanderstuyft
Guest
|
On Thu, Aug 14, 2014 at 6:16 PM, wrote:
I think this Sine->Rumble emulation is done in "ff-memless.c". Elias _______________________________________________ SDL mailing list http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org |
|||||||||||||||||
|
quequotion
|
I am using the linux kernel 3.15. I did install the hid-sony driver, but I am not using it: this driver remains incomplete (it was abandoned for years) and last I checked does not support force feedback. As I said, I am using the sixad (userland) driver which does support force feedback.
As for the controllers themselves, I'll be back with some specific data later but I assure you they are force-feedback capable Dualshock 3 units. I don't know anything about the Xpad or Xbox drivers. |
|||||||||||
|
Haptic broken (for sixad) |
mungewell
|
Seems pretty 'active' for an abandoned driver... you might want to try it https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/log/drivers/hid/hid-sony.c If you don't want to build a kernel yourself your distro's kernel-team probably has daily builds, Simon _______________________________________________ SDL mailing list http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org |
|||||||||||||
|
Re: Haptic broken (for sixad) |
quequotion
|
|
|||||||||||||||
|
Workaround! |
quequotion
|
Well, there doesn't seem to be any way to get SDL's Haptic working with sixad.
sixad is a userland driver that overrides the bluez4 stack. SDL's Haptic only seems to work with the bluez5 stack and it's new sixaxis plugin. This is a non-trivial upgrade: The bluez5 sixaxis plugin is non-configurable: The accelerometers cannot be disabled, making controller configurations all but impossible (this can be worked around by setting them to an impossible range with jstest-gtk) bluez5 is incomplete (support for HSP/HFP was omitted: no skype, teamspeak or other telephony applications can be used with bluetooth devices. there are no plans to ever restore this functionality in bluez.) Those are some serious sacrifices for me, but I'll find a way to overcome them I suppose. I have run testrumble with the bluez5 stack and the new plugin; it works. Force feedback in mupen64plus was restored. Force feedback is still broken in PCSXR and PCSX2. PCSXR's problem may or may not be internal (apparently valid code is throwing errors). PCSX2's SDL2 support seems quite broken, still looking into it. Long story short: SDL2 does not support force feedback on sixad. This is not documented. The only workaround is to upgrade to bluez5 and the new plugin, which may significantly change how your system works, including the permanent removal of important functionality. |
|||||||||||
|