Skip to content
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

Hid multi TLC and Fanatec wheel-bases hidraw white-list #269

Open
wants to merge 2 commits into
base: proton_9.0
Choose a base branch
from

Conversation

gotzl
Copy link

@gotzl gotzl commented Feb 3, 2025

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:

  • Automobilista 2
  • Assetto Corsa EVO
  • EA Sports WRC
  • Rennsport

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:

  • Windows input devices are created directly from the HIDRAW descriptor, so that all expected device paths exist.
  • The FanatecSDK can communicate with the HID device via HIDRAW, allowing it to control LEDs and displays properly.

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:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant