https://bugs.winehq.org/show_bug.cgi?id=57754
Bug ID: 57754 Summary: GUI offset in VST plugins Product: Wine Version: 10.0 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: critical Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: project.music@web.de Distribution: ---
VST plugins, that are loaded through tools like yabridge or LinVST can't be used. If I try to click a button or some other element in the plugins interface, I have to click way up and way left of the actual displayed thing (button, knob...).
This occurs in all distros I tested (fedora, endeavouros, openSuse, kubuntu), from wine version 9.22 up to version 10, stable or staging.
The only way to use windows vst plugins since then is to downgrade to an older wine version.
If there is anything I can provide to help, please tell me what and how.
http://bugs.winehq.org/show_bug.cgi?id=57754
Matej Prerovsky bofin@skaut.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |bofin@skaut.cz
--- Comment #1 from Matej Prerovsky bofin@skaut.cz --- I can confirm this. The only way to get it working without downgrading to an older version is to put the VST window at the top left corner (position 0x0).
http://bugs.winehq.org/show_bug.cgi?id=57754
--- Comment #2 from fabio project.music@web.de --- @ Matej Prerovsky I found that interesting. It's logical but I haven't thought about it. So I tried and it really would work, but since I can't (and don't want to) get rid of the window frame, I'm not able to get the plugins to position 0x0. It really works, but this little offset that lasts makes it still almost impossible to klick into some digit-areas.
Thank you for your feedback.
http://bugs.winehq.org/show_bug.cgi?id=57754
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|critical |minor
http://bugs.winehq.org/show_bug.cgi?id=57754
saberking321@protonmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |saberking321@protonmail.com
--- Comment #3 from saberking321@protonmail.com --- You(In reply to fabio from comment #2)
@ Matej Prerovsky I found that interesting. It's logical but I haven't thought about it. So I tried and it really would work, but since I can't (and don't want to) get rid of the window frame, I'm not able to get the plugins to position 0x0. It really works, but this little offset that lasts makes it still almost impossible to klick into some digit-areas.
Thank you for your feedback.
You don't need to get rid of the frame, there is a key you can hold in order to move windows around by dragging them. Which key this is depends on your DE. It still is a pain to have to line up the VST perfectly in the top corner of the screen.
http://bugs.winehq.org/show_bug.cgi?id=57754
Stian Low wineryyyyy@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wineryyyyy@gmail.com
--- Comment #4 from Stian Low wineryyyyy@gmail.com --- VST offset issues are detailed by: https://bugs.winehq.org/show_bug.cgi?id=58552
To summarize the latest findings:
Many VST hosts broke by this merge including yabridge for Wine 9.22: https://gitlab.winehq.org/wine/wine/-/merge_requests/6569
Yabridge windowing behaviors include hacks as workarounds for compatibility with Wine's broken state prior to the merge changes.
After the merge the hacks of many Linux VST hosts like yabridge are no longer compatible forcing yabridge users to Wine 9.21 for compatibility.
Despite the merge breaking many VST hosts, the changes seem valid and are unlikely to be reverted.
Therefore yabridge and other VST hosts need to remove/correct their hacks for compatibility with the fixes to windowing behaviors by the merge.
WineHQ already assisted yabridge with correction to fix the offsets for the latest version of Wine: https://github.com/robbert-vdh/yabridge/tree/new-wine10-embedding
However there are still issues with the branch considered regressions from Wine 9.21 version so it is still pending more fixes before merge.
Thus the remaining work to correct these VST issues is for the VST hosts to fix their code for compatibility with the latest version of Wine.
Carla has already fixed the offsets with their Experimental Wine features: https://bugs.winehq.org/attachment.cgi?id=79196
I am continuing to patch yabridge new-wine10-embedding so that it is fixed as well.
The difficulty of fixing yabridge vs Carla is yabridge handles lower level windowing behaviors directly by calling XCB whereas Carla uses Python Qt which may take care of that lower level windowing behavior automatically.
I also test the Windows versions of DAWs via latest versions of Wine just to make sure that the VSTs work without offsets. So far none of the Windows binaries of DAWs exhibit offsets thus suggesting the merge that broke many of the Linux versions of DAWs is valid and not the cause of the offsets. Rather the Linux versions that handle their own windowing behavior is likely at fault and needs to be corrected on their end.
http://bugs.winehq.org/show_bug.cgi?id=57754
--- Comment #5 from Stian Low wineryyyyy@gmail.com --- (In reply to Stian Low from comment #4)
Thus the remaining work to correct these VST issues is for the VST hosts to fix their code for compatibility with the latest version of Wine.
Wine may perhaps be modded to continue supporting Linux VST host broken windowing logic which was partially fixed by this patch: https://bugs.winehq.org/show_bug.cgi?id=58552#c11
The patch largely fixes the offsets for many VST hosts without them needing to correct their own code. However, more minor bugs have still been reported against the patch so it's not a complete fix.
Therefore my efforts are now focused on replicating fixes of Carla experimental Wine features to yabridge and other VST hosts.
Perhaps during this effort a backwards compatible solution may be found so that VSTs do not have to change their code but that may be unlikely and even ill-advised if they in fact all contain hacky code that is no longer required to play well with Wine's previously broken state.