-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Expose HID PID descriptor via HIDRAW #86
base: master
Are you sure you want to change the base?
Conversation
7462b0e
to
e6d929a
Compare
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Thanks to @rbernon, the required changes for multi TLC have landed in wine! Now these changes only have to land in proton's wine fork as well...
Important note: Also, you can reach me on discord for questions etc. |
…ther fixes/cleanups
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
As per the last commit, no change to the driver-code should be necessary anymore and the wheel should behave normal in ACC/AMS2/R3E. (It actually had nothing to do with that code, but with effects 'leaking' from one game to the other.)
@tostr7191 See this screenshot: |
tested this branch in acc , works great sofar. On Windows the LED's and display can be configured in fanalab. i dont know if the settings are written into memory on the wheelbase itself or if fanalab has to be open all the time, have to test. fanalab can configure led colors, ranges and display formatting even for games that uses the sdk. if i can help you with pcaps or something just ask. quicknote: needing negative ffb values in rfactor2 isnt exclusive to this branch, happens on main branch too. |
There are again two possibilities here. Either reverse engineer what fanalab is doing using pcaps, or get fanalab running ontop of wine/proton. I think the latter should be possible using this branch. |
Hi, I don't know if I tried something stupid because it can't work for some obvious reason, but I tried this branch with my ClubSport v2.5 + F1 wheel Esport v1. With mixed results. Before testing:
On master branch driver: everything is working fine on Oversteer, AC, ACC and AMS2. Leds are firing with fanatecff-tools) On hidraw branch driver: Oversteer: OK, FF test working and button detected AC:
ACC:
AMS2:
|
This is the driver part of fixing #67, see my comment there for details. There is also the wine part, which adds the multi TLC support (see this MR).
Multi TLC support in wine will require to access the device via HIDRAW. To get FFB working with HIDRAW, the Linux driver extends the HID descriptor that's exposed on the HIDRAW device with a HID PID descriptor. Wine understands this descriptor and sends FFB commands via HID PID packets. The linux driver has to filter out these HID PID packets and feed them to the Linux FFB code. Other HID packets are passed directly to the device.
Using HIDRAW for Fanatec devices in wine also has the benefit that the FanatecSDK can talk to the device. This means that for games that include the FanatecSDK, LEDs and displays would just work. I've tested this already with Rennsport and F1 23. F1 23 also used the 'Flag LEDs', so this PR could also be a partial fix for #38. F1 23 however lacks forces from tyres (self-alignment/traction).
Edit: Tested with ACC, which uses FanatecSDK to drive RPM LEDs, Flag LEDs (ABS, TC), and shows Speed/Gear in the display. Preliminary testing showed also an improvement on #70.
R3E drives RPM Leds, Flag LELDs (eg yellow flags) and shows Speed in the display.