https://bugs.winehq.org/show_bug.cgi?id=56799
Bug ID: 56799 Summary: dxgi MJUCjr VST GUI hangs Product: Wine Version: 9.4 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: d3d Assignee: wine-bugs@winehq.org Reporter: xj@wp.pl Distribution: ---
MJUCjr freeware plugin works in version 1.3. https://klanghelm.com/contents/products/MJUCjr
However latest in version 1.5.0 GUI is hanging. It works when "dxgi" module will be disabled in winecfg. Attached log from failed run.
https://bugs.winehq.org/show_bug.cgi?id=56799
--- Comment #1 from Nikolay Sivov bunglehead@gmail.com --- Could you explain how to test this? Installer provides plugins, what should I use to host them and how?
https://bugs.winehq.org/show_bug.cgi?id=56799
--- Comment #2 from Xj xj@wp.pl --- Sure. I initially tried Reaper, but the simplest solution is to use:
After installing VST2 version you can use for example this: https://www.hermannseib.com/programs/vsthostx64.zip
Then wine64 vsthost.exe 'C:/Program Files/Steinberg/VSTPlugins/MJUCjr.dll'
With this I have additional output: wine: Read access denied for device L"\??\Z:\", FS volume label and serial are not available. 01d4:fixme:thread:NtSetInformationThread ThreadIdealProcessor stub! wine: Read access denied for device L"\??\Z:\", FS volume label and serial are not available. wine: Read access denied for device L"\??\Z:\", FS volume label and serial are not available. wine: Read access denied for device L"\??\Z:\", FS volume label and serial are not available. wine: Read access denied for device L"\??\Z:\", FS volume label and serial are not available. 0164:err:winediag:wined3d_dll_init Setting multithreaded command stream to 0. 0164:err:winediag:wined3d_dll_init Using the OpenGL renderer. 0164:fixme:win:NtUserLockWindowUpdate (0x100e2), partial stub! 0164:fixme:win:NtUserLockWindowUpdate ((nil)), partial stub! 0164:fixme:win:NtUserLockWindowUpdate (0x20158), partial stub! 0164:fixme:win:NtUserLockWindowUpdate ((nil)), partial stub! 0164:fixme:win:NtUserLockWindowUpdate (0x2017a), partial stub! 0164:fixme:win:NtUserLockWindowUpdate ((nil)), partial stub!
https://bugs.winehq.org/show_bug.cgi?id=56799
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
https://bugs.winehq.org/show_bug.cgi?id=56799
--- Comment #3 from Nikolay Sivov bunglehead@gmail.com --- Created attachment 76606 --> https://bugs.winehq.org/attachment.cgi?id=76606 patch
It doesn't hang, it simply does not refresh. UI otherwise is operational. This diff makes it work for me.
https://bugs.winehq.org/show_bug.cgi?id=56799
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|dxgi MJUCjr VST GUI hangs |MJUCjr VST GUI needs | |WaitForVBlank() to refresh | |its window
https://bugs.winehq.org/show_bug.cgi?id=56799
--- Comment #4 from Nikolay Sivov bunglehead@gmail.com --- *** Bug 56419 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=56799
--- Comment #5 from Xj xj@wp.pl --- I totally forgot that it I reported this already, sorry about that :)
Is this mean that there is something wrong with this plugin ? Something that I can report to the plugin creator ?
https://bugs.winehq.org/show_bug.cgi?id=56799
--- Comment #6 from Nikolay Sivov bunglehead@gmail.com --- No, there is nothing to report. The issue is clear I think.
https://bugs.winehq.org/show_bug.cgi?id=56799
--- Comment #7 from Fabian Maurer dark.shadow4@web.de --- There is a few similar issues: Bug 46091 (GameMaker game Deltarune plays at too high a framerate, impacting game speed) Bug 9154 (Balls of Steel demo v1.3 fails to start a game (ddraw7_WaitForVerticalBlank stub too fast, needs real implementation)) Bug 55520 (Witch's Heart and its two other games: Runs too quickly in windowed mode)
In the last I attached a small hack that is probably slightly better than a simple sleep: https://bugs.winehq.org/attachment.cgi?id=75447 (It's for ddraw, but the concept should be the same)
https://bugs.winehq.org/show_bug.cgi?id=56799
--- Comment #8 from Nikolay Sivov bunglehead@gmail.com --- I'm not sure if separate thread achieves a lot in this case. I think it's unusual to have updates tied to vblank in windowed mode, when compositor is always on, on Windows.
https://bugs.winehq.org/show_bug.cgi?id=56799
Xj xj@wp.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|MJUCjr VST GUI needs |JUCE based VST plugins (eg. |WaitForVBlank() to refresh |MJUCjr,Room Reverb,Tal |its window |Reverb) needs | |WaitForVBlank() to refresh | |its window
https://bugs.winehq.org/show_bug.cgi?id=56799
--- Comment #9 from Xj xj@wp.pl --- Seems that this issue is so-called "optimization" in JUCE framework. There's more plugins affected. I found out those: - all klanghelm (MJUC jr., DC1A, IVGI and probably others) - ElephantDSP Room Reverb - TAL (TAL Reverb 4, TAL Chorus LX)
I can confirm that this patch (with sleep in it) is solving this issue.