https://bugs.winehq.org/show_bug.cgi?id=56935
Bug ID: 56935 Summary: Softube VST plugins are not drawing their UI Product: Wine Version: 9.12 Hardware: x86-64 URL: https://www.softube.com/ OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: dwmapi Assignee: wine-bugs@winehq.org Reporter: notasas@gmail.com CC: jzeng@codeweavers.com Regression SHA1: f397807415b4807aeabac7243a13a15599008ee7 Distribution: ---
The plugin UI never updates, it's window is cleared with black on startup and then it just shows the remains of anything that was ever drawn over it, like unrelated windows. With the commit is reverted everything redraws normally.
Softube provides a free plugin that reproduces the issue ("Saturation Knob"), but sadly it's not very straightforward to set it up. First you need some DAW software what can run windows VST plugins through wine, like lmms. Then Softube doesn't provide it's plugins directly but insists on installing them through their bloated downloader, which then insists to install several licensing services. I could not get it to work through wine and used a windows vm for that part. Once you get the plugin dll however everything works through wine, including "activation" (even for a free plugin) except that the UI is not updating.
https://bugs.winehq.org/show_bug.cgi?id=56935
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=56935
matt@emenel.ca changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |matt@emenel.ca
https://bugs.winehq.org/show_bug.cgi?id=56935
--- Comment #1 from Jactry Zeng jactry92@gmail.com --- Could you submit a +dwmapi,+loaddll log? Thanks.
https://bugs.winehq.org/show_bug.cgi?id=56935
--- Comment #2 from matt@emenel.ca --- (In reply to Jactry Zeng from comment #1)
Could you submit a +dwmapi,+loaddll log? Thanks.
Thanks. I'm happy to do this, but I'm not sure how to use those flags. Are there any instructions for getting the right log?
https://bugs.winehq.org/show_bug.cgi?id=56935
--- Comment #3 from Grazvydas Ignotas notasas@gmail.com --- Created attachment 77661 --> https://bugs.winehq.org/attachment.cgi?id=77661 +dwmapi,+loaddll log
https://bugs.winehq.org/show_bug.cgi?id=56935
--- Comment #4 from Grazvydas Ignotas notasas@gmail.com --- I was able to figure out the cause and have already sent a patch for this, but it was ignored: https://gitlab.winehq.org/wine/wine/-/merge_requests/6006
matt: just set WINEDEBUG=+dwmapi,+loaddll environment variable for the log. Also ignore "Remote plugin crashed" in the log, lmms alwas does that for me on exit.
https://bugs.winehq.org/show_bug.cgi?id=56935
--- Comment #5 from Jactry Zeng jactry92@gmail.com --- (In reply to Grazvydas Ignotas from comment #4)
I was able to figure out the cause and have already sent a patch for this, but it was ignored: https://gitlab.winehq.org/wine/wine/-/merge_requests/6006
matt: just set WINEDEBUG=+dwmapi,+loaddll environment variable for the log. Also ignore "Remote plugin crashed" in the log, lmms alwas does that for me on exit.
Thanks for the information! So the application needs DwmFlush() to be implemented or at least improve the current stub. I read through the conversation in MR! 6006, looks like DwmFlush() isn't a thing we can really implement before implementing DWM compositor behaving[1]. Paul also has a patch for improving the stub in https://gitlab.winehq.org/wine/wine/-/merge_requests/2463, if that one also works for a real-world application (e.g. Softube VST plugins), perhaps we can try to get that one upstream?
[1] https://gitlab.winehq.org/wine/wine/-/merge_requests/6006#note_75514
https://bugs.winehq.org/show_bug.cgi?id=56935
--- Comment #6 from Grazvydas Ignotas notasas@gmail.com --- (In reply to Jactry Zeng from comment #5)
Paul also has a patch for improving the stub in https://gitlab.winehq.org/wine/wine/-/merge_requests/2463, if that one also works for a real-world application (e.g. Softube VST plugins), perhaps we can try to get that one upstream?
Yes it works, when I sent my patch I simply wasn't aware of his work.