gotzl / hid-fanatecff

Driver to support FANATEC input devices, in particular ForceFeedback of various wheel-bases
GNU General Public License v2.0
167 stars 21 forks source link

Support Podium Wheel Base DD1/DD2 #39

Closed fgadaleta closed 9 months ago

fgadaleta commented 1 year ago

What's the state of support for the Podium? What does experimental mean exactly? Is it usable (maybe without some minor features)?

gotzl commented 1 year ago

Hi, it's experimental in the sense that I personally don't own the device and therefore can not test it.

That said, I hear that people are successfully using the Podium bases with this driver and I would expect that FFB works fine. What might not work are additional features like displays, LEDs, some non-standard buttons on the wheel.

People with a Podium base, please correct me if I'm wrong ;)

fgadaleta commented 1 year ago

This is great! Also what's the situation with pedals?

As soon as I get my hands on a Podium I'd definitely find some time to contribute and test if further.

gotzl commented 1 year ago

In general, the 'input' part of input devices (Wheel-base-axis, Wheel-Buttons, Pedals-axis) are all handled by the general Linux HID driver. Only additional functionality, like the FFB, need special driver implementation.

So, the pedals-axis input should work just fine, no special driver needed. Some pedals have special functionality, for instance I have the CSL Elite Pedals with load-cell, where the load-cell sensitivity can be adjusted. And there are the Clubsport Pedals V3 that have rumble functionality. These things need special driver implementation ...

Looking forward hearing from you when you get your device!

fgadaleta commented 1 year ago

Wonderful! Overall this is not bad news for Linux. Will keep you posted as soon as I have my hands (and feet) on the Podium :P

bdefore commented 1 year ago

Here's some early anecdata on my first attempt to use my Podium DD1 on Linux with hid-fanatecff

My Setup: Fanatec Podium DD1 + Hub + Magnetic shifters + Endurance Module Simtrecs ProPedal

I am on Manjaro Sway edition (think Wayland i3). I installed hid-fanatecff-dkms from AUR, which failed until I also installed my kernel specific linux headers (easy enough, until I change kernels). I also installed Oversteer. I'm running the latest firmware on all the hardware, installed on Windows. Note that Fanatec recently made a significant rewrite of their firmware, released earlier this year.

I turned on my wheelbase, opened Oversteer and to my surprise the wheel movements were recognized as well as most paddle actions (the magnetic front ones trigger a button action, but the backside ones don't. the axes-based paddles show up as clutch).

Now to my understanding, none of what I'm experiencing up to this point is due to the work of hid-fanatecff, which is specifically around the force feedback functionality right?

I opened up ACC and was able to remap steering axis, but was unable to drive due to my pedals not being detected. I was able to get these working by downloading Protopedal (https://gitlab.com/openirseny/protopedal) and building from scratch. I ran with a --buttons 1 flag as a workaround to a known regression in Proton: ./protopedal --verbose --name Whatevs --product 0001 --buttons 1 /dev/input/by-id/YOUR_PEDAL_EVENT_ID). You can find this event id via lsusb. Took a couple restarts of ACC for them to be able to map properly.

At this point I was able to drive around. The FF felt higher than I was used to, and may be at or near full strength when I normally use around 45% in Fanalab profiles on Windows. I see Oversteer has the ability to adjust this, but all of the UI elements are disabled. I brought ACC's in-menu FF gain from 100% down to 75% and for now and it feels pretty good, but some interactions feel disproportionately soft or strong. I think the better solution would be getting the overall strength down on the wheel.

A single LED is lit on the endurance module, nothing on the LED display. As mentioned in the README here, that's the domain of https://github.com/gotzl/hid-fanatecff-tools but I'm not sure I care enough to get that working.

Overall, this is farther along that I expected and already quite enjoyable. I'd be happy to diagnose further if needed.

bdefore commented 1 year ago

Following up one further, I also can verify that with my setup, force feedback is working nicely in Dirt Rally 2 with my Podium DD1. I needed to force to use Proton Experimental to prevent a crash when loading the track.

Unrelated to this library, but pretty crucial to Linux rally racing: I was also able to get my Heusinkveld Sequential Shifter and the Heusinkveld Handbrake inputs to work via Protopedal. Both needed to have --axes 4 flag on or they wouldn't be recognized in ACC (unsure if DR2 would have the same issue).

irseny commented 1 year ago

Hello @bdefore,

protopedal developer here. I stumbled across this thread by accident while thinking about purchasing fanatec equipment. I thought it might be of interest to you that protopedal has currently undocumented options --gain and --autocenter While ACC should already disable auto centering by itself, you can set your preferred overall strength with --gain 45 which is analogous to setting gain in fanalab profiles or oversteer and as such might produce a different feel than setting the FF gain from ACC's menu. I am curious about the results.

bdefore commented 1 year ago

@irseny thanks for your work on protopedal!

if i understand you correctly, you are suggesting running the fanatec podium motor through protopedal to leverage the gain and autocentering functionality? it's an interesting idea but will be away from my rig for a week. i am currently only using protopedal for pedal, shifter, and handbrake.

irseny commented 1 year ago

So I actually had the imagination that you were already using protopedal between the podium motor and the game. But as i see the Simtrecs ProPedal is a standalone pedalset not connected to the base. Doing the comparison would clear up if there is some gain related FFB processing in ACC that does not translate well over the windows to linux barrier. Since this got my attention I will try the same with a T300 (but strenght is rather limited)

irseny commented 1 year ago

So I have not noticed any dramatical changes between going with 100% driver side + 70% in ACC and a matching combination in the other direction (though 70+100 produed noticably stronger self alignment). Road details were more discernible with lower FFB in game (50-60% range) which I would attribute to the rather limited power output of the T300.

yhg8423 commented 1 year ago

Hi @irseny

Thank you for your work on protopedal! As you mentioned above, I used the undocumented options --gain and --autocenter with protopedal? It works well in terminal and does not say any error to execute. However, it does not support force feedback and auto-centering mechanism in my Fanatec podium wheel base dd2, so it does not go to the center automatically! Do you know how to solve this problem?

irseny commented 1 year ago

Hello @yhg8423 TBH I do not know what the DD2 is supposed to support, whether there should actually be auto centering. What have you tested so far? Does the module load when the DD2 is plugged in? lsmod | grep fanatec Do you get FFB effects without protopedal? fftest /dev/input/by-id/usb-Something-With-Fanatec Does protopedal advertise FFB support?

...
Supporting 16 FFB effects
Enabling effect RUMBLE
Enabling effect PERIODIC
Enabling effect CONSTANT
Enabling effect SPRING
Enabling effect DAMPER
Enabling effect SQUARE
Enabling effect TRIANGLE
Enabling effect SINE
Enabling effect SAW UP
Enabling effect SAW DOWN
gotzl commented 9 months ago

Closing due to inactivity, and AFAIK, DD1/DD2 are working.