https://bugs.winehq.org/show_bug.cgi?id=53100
Bug ID: 53100 Summary: Euphoria: freezes every second while controllers are plugged in Product: Wine Version: 7.10 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: minor Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: lahvuun@gmail.com Regression SHA1: 4f1095a0ee4c7577e5287e56e388c36d0ba659ad Distribution: Gentoo
Created attachment 72531 --> https://bugs.winehq.org/attachment.cgi?id=72531 Output of WINEDEBUG=trace+winmm wine euphoria.exe
If any controllers are plugged in, approximately every second Euphoria will freeze for a brief moment.
Euphoria is a Visual Novel made by Clockup. Be warned, it's (very) NSFW. I'm using the English release by MangaGamer: https://mangagamer.org/euphoria/ The problem affects other games by Clockup. They likely run on the same engine, since the file structure is very similar.
This wasn't a problem with older versions of wine, git bisect points to 4f1095a0ee4c7577e5287e56e388c36d0ba659ad — winmm: Reimplement joystick APIs on top of dinput, by Rémi Bernon.
Since this started after a winmm change, I ran the game with WINEDEBUG=trace+winmm, the log is attached. Looks like find_joysticks is regularly called, the game freezes at the same time these calls are logged.
My guess is that find_joysticks is slow for some reason, so it blocks the game. The more controllers are plugged in simultaneously, the longer it freezes for (I tested with 0, 1 and 4).
The game doesn't freeze on my Windows 10 install at all, even with 4 controllers plugged in.
https://bugs.winehq.org/show_bug.cgi?id=53100
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rbernon@codeweavers.com Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=53100
--- Comment #1 from Ken Sharp imwellcushtymelike@gmail.com --- Does this occur with the demo? https://s3.amazonaws.com/mangagamer_public/MangaGamer_euphoria_trial.zip
https://bugs.winehq.org/show_bug.cgi?id=53100
--- Comment #2 from Ilya Trukhanov lahvuun@gmail.com --- Yes, it occurs with the demo.
The demo is SFW for the first few scenes, in case anyone wants to test it. The issue is very noticeable when text is being printed to the screen — it just stops mid-sentence for a moment, then the rest suddenly appears. But it's not just the text, the whole game becomes choppy, so I suspect the game queries controllers in the render thread, because sound works fine.
Seems like the game really does use winmm, judging by some of the imports: 1 0x005703d4 NONE FUNC WINMM.dll joyGetNumDevs 2 0x005703d8 NONE FUNC WINMM.dll timeGetTime 3 0x005703dc NONE FUNC WINMM.dll joyGetPosEx 4 0x005703e0 NONE FUNC WINMM.dll timeBeginPeriod 5 0x005703e4 NONE FUNC WINMM.dll timeEndPeriod
I also did some "profiling" with gettimeofday, and it seems that find_joysticks spends the most time in the call to IDirectInput8_EnumDevices.
https://bugs.winehq.org/show_bug.cgi?id=53100
--- Comment #3 from Rémi Bernon rbernon@codeweavers.com --- I suspect this to be fixed after 6d9dd6e4882ea8ba63510ae467720ca851333605 if anyone can confirm.
https://bugs.winehq.org/show_bug.cgi?id=53100
Ilya Trukhanov lahvuun@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED
--- Comment #4 from Ilya Trukhanov lahvuun@gmail.com --- (In reply to Rémi Bernon from comment #3)
I suspect this to be fixed after 6d9dd6e4882ea8ba63510ae467720ca851333605 if anyone can confirm.
Yep, fixed by 6d9dd6e4882ea8ba63510ae467720ca851333605
https://bugs.winehq.org/show_bug.cgi?id=53100
Ilya Trukhanov lahvuun@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |6d9dd6e4882ea8ba63510ae4677 | |20ca851333605
https://bugs.winehq.org/show_bug.cgi?id=53100
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 7.21.
https://bugs.winehq.org/show_bug.cgi?id=53100
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |7.0.x
https://bugs.winehq.org/show_bug.cgi?id=53100
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|7.0.x |---
--- Comment #6 from Michael Stefaniuc mstefani@winehq.org --- Drop 7.0.x target milestone from bugs that didn't make it.