Hid multi TLC and Fanatec wheel-bases hidraw white-list #269
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR pulls upstream changes that implement multi TLC support (https://gitlab.winehq.org/wine/wine/-/merge_requests/6206) and adds a list of Fanatec wheel-bases for which HIDRAW should be enabled.
Background
Several sim-racing games crash upon detecting a connected Fanatec wheel-base. Affected titles include:
The root cause is that these games include the FanatecSDK, which provides advanced wheel functionality, such as LED and display support. However, the FanatecSDK is incompatible with the Windows input device derived from libinput/SDL. When the SDK detects a Fanatec wheel-base, it expects to find HID multi-TLC registry paths, which do not exist. As a result, the code encounters an exception and crashes the game.
Proposed Solution
To resolve this issue, this PR introduces multi-TLC support and enables HIDRAW for Fanatec wheel-bases. This approach ensures that:
Side Note
Additionally, I have modified the experimental Fanatec wheel-base driver to extend the HIDRAW HID descriptor with the required HID-PID components. This change enables force feedback (FFB) for the Windows input device.
For further details, see: