osxmidi / LinVst

Linux Windows vst wrapper/bridge
GNU General Public License v3.0
674 stars 41 forks source link

[VST] Arturia Mini filter #167

Closed keybreak closed 3 years ago

keybreak commented 3 years ago

That's a mystery freeze Renoise on plugin close, reproducible each time, but i really don't know why it happen.

I've tested this plugin some time ago with those conditions: Arturia M12 filter v1.1.0 x64 4.15-staging LinVst 2.8

And it behaved properly without any freezes / crashes!

Now i've tried to downgrade it all and match exactly same conditions and it still freezes each time... I don't know why, logically it shouldn't since nothing really changed.

Renoise LOG> VstWindow: Query the X11Window child...
Renoise LOG> VstWindow: Unexpected XGetWindowProperty ptr value: expected a userSize 32 with two entries, got userSize: 0 with 0 entries...
Renoise LOG> VstWindow: Child window has no '_XEventProc' property set...
Renoise LOG> VstWindow: Setting new Windowsize 1200, 631
Renoise LOG> VstWindow: Mapping the window...
Renoise LOG> VstWindow: Setting new Windowsize 1200, 631
Renoise LOG> VstWindow: Closing the Editor...
Renoise LOG> VstWindow: Editor was closed
Renoise LOG> VstWindow: Creating a new X11Window...
Renoise LOG> VstWindow: Setting X11Window properties...
Renoise LOG> VstWindow: Give the plug access to the X11Window...
00f4:fixme:win:RegisterTouchWindow (0x4005e 00000000): stub
00f4:fixme:msg:ChangeWindowMessageFilterEx 0x4005e 233 1 (nil)
00f4:fixme:msg:ChangeWindowMessageFilterEx 0x4005e 4a 1 (nil)
00f4:fixme:msg:ChangeWindowMessageFilterEx 0x4005e 49 1 (nil)
00f4:fixme:win:RegisterTouchWindow (0x30060 00000000): stub
00f4:fixme:msg:ChangeWindowMessageFilterEx 0x30060 233 1 (nil)
00f4:fixme:msg:ChangeWindowMessageFilterEx 0x30060 4a 1 (nil)
00f4:fixme:msg:ChangeWindowMessageFilterEx 0x30060 49 1 (nil)
00f4:fixme:wgl:ConvertAttribWGLtoGLX unsupported 201e WGL Attribute
00f4:fixme:wgl:ConvertAttribWGLtoGLX unsupported 201f WGL Attribute
00f4:fixme:wgl:ConvertAttribWGLtoGLX unsupported 2020 WGL Attribute
00f4:fixme:wgl:ConvertAttribWGLtoGLX unsupported 2021 WGL Attribute
00f4:fixme:win:RegisterTouchWindow (0x40060 00000000): stub
00f4:fixme:msg:ChangeWindowMessageFilterEx 0x40060 233 1 (nil)
00f4:fixme:msg:ChangeWindowMessageFilterEx 0x40060 4a 1 (nil)
00f4:fixme:msg:ChangeWindowMessageFilterEx 0x40060 49 1 (nil)
Renoise LOG> VstWindow: Query the X11Window child...
Renoise LOG> VstWindow: Unexpected XGetWindowProperty ptr value: expected a userSize 32 with two entries, got userSize: 0 with 0 entries...
Renoise LOG> VstWindow: Child window has no '_XEventProc' property set...
Renoise LOG> VstWindow: Setting new Windowsize 1200, 631
Renoise LOG> VstWindow: Mapping the window...
Renoise LOG> VstWindow: Setting new Windowsize 1200, 631
Renoise LOG> VstWindow: Closing the Editor...
Renoise LOG> VstWindow: Editor was closed
Renoise LOG> VstPlugs: Releasing /home/x133/.vst/Mini-Filter.so (finalizing the plugin)...

Log doesn't seem to show anything too out there. If you have some ideas on how to debug and what to try, please do share :confused:

P.S. Oh, and it's not one of those d2d1 messed up ones either

osxmidi commented 3 years ago

I'll try to test it out

osxmidi commented 3 years ago

I can't get it to work with Reaper or Renoise.

It seems to be a Wine problem, and if it runs it's not stable.

I did have it running with Reaper but with a black display that needed moving to get the display happening, and then the next time it ran it crashed and that is usually a wine problem.

keybreak commented 3 years ago

Now that's really weird.

Have you used same version of Arturia M12 filter (next ones require vcrun2019 and will certainly crash without it, but i don't use newer ones) and also same version of Wine?

I'm testing on Manjaro / Arch btw

osxmidi commented 3 years ago

Now that's really weird.

Have you used same version of Arturia M12 filter (next ones require vcrun2019 and will certainly crash without it, but i don't use newer ones) and also same version of Wine?

I'm testing on Manjaro / Arch btw

I had version 1.2.1, so I went back and got version 1.1 and basically it's the same sort of thing with a black display in Reaper and then a crash.

It's one of those problems, where it might work on some systems depending on Wine but it's not working 100%.

I've had some Wine unstable plugins crash using LinVst and not crashing with LinVst-X just because the Wine loading might be a bit different, but the plugin is still Wine unstable and might cause problems down the line.

There is some gui aspect of the plugin that Wine can't seem to handle properly.

For version 1.2.1 it uses vcrun 2015, so I tried installing it via winetricks but same result or a worse result in some testing.

The dll's can be listed using

strings vstdllname | grep -i dll

but I couldn't see a possible override to use for version 1.1.

SHCore.dll ntdll user32.dll Wmvcore.dll ExitDll InitDll UxTheme.dll WS2_32.dll KERNEL32.dll USER32.dll GDI32.dll SHELL32.dll ole32.dll OLEAUT32.dll COMDLG32.dll ADVAPI32.dll SHLWAPI.dll WINMM.dll IMM32.dll OPENGL32.dll

keybreak commented 3 years ago

but I couldn't see a possible override to use.

Same here

But weirdest thing is that i had it working perfectly with exactly same system and config, so it must be something outside... Oh wait, i think i know why.

I can't properly test downgrade to 4.15-staging, because of that https://github.com/osxmidi/LinVst/issues/143

So it makes sense, since system Wine to me now is 5.19-staging therefore i can't cleanly replicate 4.15-staging in a clean fashion :woozy_face:

It must be Wine's regression happened since 4.15-staging then.

osxmidi commented 3 years ago

I tried it again with the latest LinVst and Renoise.

This time I installed "winetricks cmd" because the plugin starts a console window and Wines inbuilt cmd gets changed by patches sometimes and the Windows cmd is more compatible.

It seemed to work ok (still with a black screen that needs moving to display, but no crashes).

Whether it has anything to do with cmd, I don't know, could be just luck.

keybreak commented 3 years ago

Not sure, maybe it's cmd regression but that would be weird...need more tests i'll try older Wine in VM

keybreak commented 3 years ago

Something ain't right with Wine...A lot of regressions from my list i see, that's weird