Force Feedback with Fanatec products, is it possible?

TLDR: FF doesn’t play back on my Fanatec racing wheel and I want to know what I should do next.

I made a program that probes sdl_joystick layouts and haptics support and gives sort of a generic diagnostic/test screen. It works beautifully for the Microsoft Sidewinder Force Feedback 2 joystick and I can run every type of effect (except leftright, of course). It also works with the xbox360 gamepad where leftright works.
Things are a little more shaky with my Thrustmaster T300RS, some effects claim support but give errors, but all effects that return success on run do actually work and I’m able to spin the wheel left and right as expected.
However, with a Fanatec CSL Elite, I can read the inputs just fine but Force Feedback doesn’t work at all. Here’s a list of results:

– API (probably correctly) reports “Not Supported”:

– API reports support present but gives error on creating effect:
Condition (all)
anything with polar directionality

– API returns success on playing FF effects but the effect doesn’t actually play on the device:
Constant (cartesian/spherical)
Periodic (cartesian/spherical)
Ramp (cartesian/spherical)

– Works

It does work in games so the wheel is fine.
In fact, I found someone on the Fanatec forums saying “in some situations […] all games/apps which use the SDL library don’t see the wheel as a haptic device. I’ve seen a few other people reporting that too.”

So it looks like some compatibility issues between the Fanatec driver and SDL. However, where is the problem likely to be?

  1. I should complain to Fanatec?
  2. I should file a bug on SDL_Haptic?

If it can be fixed in SDL_Haptic I may be able to contribute a patch, however it would be nice to get some confirmation that it’s the right path to go down

There is already a bug reported and I didn’t manage to get it working either:

Steering wheel only have 1 axis, so it doesn’t matter anyway.

Even if steering have only 1 physical axis, some device report having more than 1. Try playing the effect in a different direction. If it doesn’t work, take a look at this patch: