Bug 219789 - [regression] Moving Logitech mouse causes WINE to lag
Summary: [regression] Moving Logitech mouse causes WINE to lag
Status: RESOLVED INVALID
Alias: None
Product: Drivers
Classification: Unclassified
Component: USB (show other bugs)
Hardware: All Linux
: P3 normal
Assignee: Default virtual assignee for Drivers/USB
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-02-16 21:19 UTC by Esteve Varela Colominas
Modified: 2025-02-18 09:26 UTC (History)
0 users

See Also:
Kernel Version:
Subsystem:
Regression: No
Bisected commit-id:


Attachments

Description Esteve Varela Colominas 2025-02-16 21:19:55 UTC
I have a Logitech G502 Lightspeed mouse, set to 1000Hz polling rate. When moving the mouse, wine lags. This didn't use to happen, which feels like a regression.

This issue started happening when upgrading from 6.6.67 to 6.12.7. Downgrading causes it to work again, and for good measure I've tested an unpatched version of 6.13.2 with an exact copy of the 6.6.67 config (make olddefconfig && make). All the results for 6.12.7 mentioned below have been re-verified with 6.13.2.

Since upgrading, moving the mouse around in any WINE application, including games and other applications, will cause the application to become sluggish. This happens exclusively with this mouse, as the laptop's touchpad and trackpoint both function properly, as well as an old HP mouse that I had laying around. I haven't tested any other input devices beyond those listed here, all the devices tested had a sub-300Hz refresh rate.

To rule out a WINE regression, I've tested different versions of WINE: wine-staging-9.22, wine-staging-9.0 and wine-vanilla-9.0. Only when I boot the 6.6.67 kernel is it resolved.

I've read that high polling rates can cause WINE applications to lag[1][2]. As such, I wondered if the mouse's polling rate had changed across kernel versions. To verify this, I used the evhz tool[3] on both working and non-working kernel versions. Both 6.6.67 and 6.12.7 reported around 1000Hz for this mouse. Using libratbag/piper to configure the mouse for a lower polling rate did make a difference, but I had to lower it to 250Hz, as 500Hz caused (more minor, but still apparent) stutters. This seems unreasonably low, given the reports on the issue are always about rates higher than 1000Hz.

How to reproduce:
- Connect LG G502 mouse to computer using either the wireless dongle or USB cable
- Download BGB (https://bgb.bircd.org/bgbw64.zip)
- Run the demo game in WINE (wine bgb64.exe bgbtest.gb)
- Move the mouse around, notice how the animation starts stuttering

As an anecdote, when testing a directx input latency meter for windows linked on the arch wiki[4], I only occasionally get some 700-800Hz out of kernel 6.12.7, whereas with kernel 6.6.67, I easily get the 1000Hz. I assume this is related to the stuttering as well.

[1]: https://bugs.winehq.org/show_bug.cgi?id=46976
[2]: https://wiki.archlinux.org/title/Mouse_polling_rate#Polling_rate_resulting_in_lag_with_wine
[3]: https://git.sr.ht/~iank/evhz
[4]: https://web.archive.org/web/20160327105037/http://razerblueprints.net/index.php/Download-document/18-DirectX-mouserate-checker.html
Comment 1 Esteve Varela Colominas 2025-02-18 09:26:21 UTC
I've tried bisecting the issue, but was getting bogus results. On some reboots, it would lag, but after rebooting again, it wouldn't lag at all.
After rebooting 6.6.67 a few times, this issue was reproducible there as well.
I'm under the impression that since 6.12, this issue has gotten worse, but I cannot prove this appropriately. I've tried everything: downgrading microcode, every in-between kernel version, disabling TLP, etc etc, and nothing seems to make a difference.

The annoying bit is that I *know* it's a regression, but now I can't tell what's causing it anymore. I don't play WINE games frequently enough to narrow down when this happened.

Thanks, anyway.

Note You need to log in before you can comment on or make changes to this bug.