https://bugs.winehq.org/show_bug.cgi?id=57504
Bug ID: 57504 Summary: Possible regression with Unity3D games: Framedrops when moving cursor. Product: Wine Version: 9.22 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: roidal@googlemail.com Distribution: ---
Created attachment 77534 --> https://bugs.winehq.org/attachment.cgi?id=77534 Output of ecognomix
I get huge framedrops (sometimes to 0) while moving the mouse/cursor in Unity3D games, after upgrading to wine 9.21/9.22 (from 9.20).
Specs: OS : Fedora 41 Kernel: 6.11.10-300 GPU : Radeon RX 5500 Driver: radv/mesa 24.2.8 DXVK : 2.5.1
Tested games: EcoGnomix, UBOAT, Breachway, Star Trucker, DREDGE.
If you need more Informations, logs, etc. let me know.
https://bugs.winehq.org/show_bug.cgi?id=57504
--- Comment #1 from roidal@googlemail.com --- Problem is also happening on a complete new wineprefix (and using WineD3D).
https://bugs.winehq.org/show_bug.cgi?id=57504
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #2 from Fabian Maurer dark.shadow4@web.de --- Can you try normal wine without DXVK? Also, does downgrading Wine help? This would make it a regression. Any free game to test with?
https://bugs.winehq.org/show_bug.cgi?id=57504
--- Comment #3 from roidal@googlemail.com --- A clean wineprefix without DXVK has the same problem.
All the games are working fine again when switching back to wine 9.20.
The pools-demo can be used for testing: https://tensori.itch.io/pools With wine 9.21 or 9.22 it comes to a complete halt while moving the mouse even in the main-menu (use mangohud or similar to check FPS).
https://bugs.winehq.org/show_bug.cgi?id=57504
--- Comment #4 from Fabian Maurer dark.shadow4@web.de --- Running the POOLS Demo with wine-9.20, I only get a blackscreen. It works with DXVK though. Self compiled wine-9.22 works for me, but doesn't seem to have framerate drops.
https://bugs.winehq.org/show_bug.cgi?id=57504
--- Comment #5 from roidal@googlemail.com --- Thanks for testing!
That is unfortunate though.
I made a complete fresh installation of Fedora and a new user, but the problem still exist. Might be combination of hardware and drivers? I also checked systemlogs and dmesg, but i can't see anything relevant.
Do you have an idea how i might be able to track down the problem?
https://bugs.winehq.org/show_bug.cgi?id=57504
--- Comment #6 from Fabian Maurer dark.shadow4@web.de --- You could do a regression test (see https://gitlab.winehq.org/wine/wine/-/wikis/Regression-Testing) to figure out what exactly causes this.
I'd offer to help, but since I can't reproduce the issue...
https://bugs.winehq.org/show_bug.cgi?id=57504
--- Comment #7 from roidal@googlemail.com --- The problem seem to be introduced by commit b3bae21789f9ca4240ef70a17985d1bf655fbfde
https://bugs.winehq.org/show_bug.cgi?id=57504
roidal@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |win32u
--- Comment #8 from roidal@googlemail.com --- Updated component to win32u since the problem seem to be related to commit b3bae21789f9ca4240ef70a17985d1bf655fbfde
Let me know if i should provide more informations, or do some specific testing.
https://bugs.winehq.org/show_bug.cgi?id=57504
--- Comment #9 from roidal@googlemail.com --- I did more testing and it seems like it's caused by
get_win_monitor_dpi() -> monitor_dpi_from_rect() -> lock_display_devices()
It's the lock_diplay_devices() which either seem to be blocked, or block something else by taking too much time. I believe it is rather the last one.
Worth mentioning here is that get_win_monitor_dpi() seem to be called at least for each mouse-update, and therefore more than 1000 times per second. When i move the mouse it is even more and i get 50k calls within just a few seconds.
https://bugs.winehq.org/show_bug.cgi?id=57504
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression CC| |rbernon@codeweavers.com Regression SHA1| |b3bae21789f9ca4240ef70a1798 | |5d1bf655fbfde
--- Comment #10 from Fabian Maurer dark.shadow4@web.de --- Alright, CCing commit author.
https://bugs.winehq.org/show_bug.cgi?id=57504
--- Comment #11 from Rémi Bernon rbernon@codeweavers.com --- Created attachment 77558 --> https://bugs.winehq.org/attachment.cgi?id=77558 Possible fix
Thanks for the report! Could you check whether this patch helps?
https://bugs.winehq.org/show_bug.cgi?id=57504
--- Comment #12 from roidal@googlemail.com --- Created attachment 77559 --> https://bugs.winehq.org/attachment.cgi?id=77559 build error
error after applying 0004-win32u-Use-the-winstation-monitor-update-serial-to-d.patch to wine-10.0-rc1
https://bugs.winehq.org/show_bug.cgi?id=57504
--- Comment #13 from roidal@googlemail.com --- wine failed to build after applying the patch to wine-10.0-rc1. see comment 12 for for the error-message.
https://bugs.winehq.org/show_bug.cgi?id=57504
--- Comment #14 from Rémi Bernon rbernon@codeweavers.com --- Ah sorry, you need to run `tools/make_requests` as well before building. I'm used to not including this in patches as it's automatically done when they get merged.
https://bugs.winehq.org/show_bug.cgi?id=57504
--- Comment #15 from roidal@googlemail.com --- With the patch i don't have the framedrops anymore.
Thanks!
https://bugs.winehq.org/show_bug.cgi?id=57504
Rémi Bernon rbernon@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |c6614894be3d465540fee1ecca0 | |59b68e02fe0f1 Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED
--- Comment #16 from Rémi Bernon rbernon@codeweavers.com --- Should be fixed after c6614894be3d465540fee1ecca059b68e02fe0f1
https://bugs.winehq.org/show_bug.cgi?id=57504
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #17 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 10.0-rc2.