Conversation
Logitech's library streams 1,000 packets a second through Proton's raw HID, and the wheel answers each one; every packet crosses winedevice and the single-threaded wineserver, which on some setups stalls AC EVO and ACC (#74, #121). Measured in isolation: the raw joystick path costs the same as the normal one, the library's write-and-echo stream is the load. games.conf `tfroute=capture` keeps raw HID off so the library never opens the wheel, and carries the game's own TrueForce through the SDK proxy to logi-tf-sim instead, which streams it natively with the driver's force merged in. A captured.<id> session marker tells the daemon to synthesise nothing for that game, so the wheel gets the game's haptics or silence. The launcher warns when the proxy is missing from the prefix. Experimental until felt against the default route.
systemd-run --user resolves the command on the user manager's PATH, not the session's, so a daemon earlier on the game's PATH was reported while the installed one ran. Resolve the binary before handing it over.
|
Owner
Author
|
Closing: hardware testing showed the premise fails twice over. AC EVO sends no SetTorqueTF samples (its texture on Windows comes from G HUB, fed by the Escape RPM), and it refuses the unsigned SDK proxy this route needs. The one sound fix from this branch (the launcher starting the logi-tf-sim it reports) moved to #123, with guards against the proxy in those games. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.



Draft until it has been felt on hardware.
Why: under
logi-launch, Logitech's library drives a direct-drive wheel through Proton's raw HID at 1 kHz, and the wheel answers each packet. Each packet crosses winedevice and the single-threaded wineserver. A Wine benchmark using uhid virtual devices puts that at roughly double wineserver's load: 7.2% to 15.1% of a core, compared with the reporter's 23.8%. The raw joystick path costs the same as the normal one, so it is not the cause.What: a
tfroute=capturegames.conf key.hidraw=0,texture=none,tfsim=1and the game's relay, then writes acaptured.<id>session marker.SetTorqueTFsamples tologi-tf-sim, which streams them natively. The kernel merges its own force in, and nothing is synthesised.sdk) is unchanged.Tested:
-D warningsis clean, shellcheck is clean.PROTON_ENABLE_HIDRAW=0, and a marker created and removed.Still to test on hardware:
SetTorqueTFwhen the library cannot open the wheel?