psycha0s / airwave

Airwave is a WINE-based VST bridge, that allows for the use of Windows 32- and 64-bit VST 2.4 audio plugins with Linux VST hosts
MIT License
572 stars 35 forks source link

error related to recent wine-update (wine 5.9-1) #111

Closed udaemon closed 4 years ago

udaemon commented 4 years ago

Hi, on my Arch Linux pc there’s a problem with airwave since the recent update of wine to version 5.9-1. when I try to open a project in Reaper DAW with bridged vsts the program is stuck loading it; the terminal output goes:

[udaemon@x270 ~]$ reaper 002c:fixme:ver:GetCurrentPackageId (000000000021FD10 0000000000000000): stub Airwave host endpoint, version 1.3.3error: wrong number of arguments: 6usage: /usr/bin/airwave-host-32.exe.so <vst path> <port id> <log level> <log socket path>003c:fixme:ver:GetCurrentPackageId (000000000021FD10 0000000000000000): stub

can someone else confirm this issue on their setup? are there any ideas to solve it? thank you! take care

robbert-vdh commented 4 years ago

Just chiming in to say that this is an issue with winegcc in Wine 5.7+. I ran into this as well while I was working on my own Wine VST bridge. The workaround is to explicitly specify the correct calling convention. I created a bug report for this issue here:

https://bugs.winehq.org/show_bug.cgi?id=49138

durutti commented 4 years ago

Weird behavior, two machines (ubuntu 18.04) both with wine 5.9 one with the airwave deb file installed 8 months ago and the other building airwave with cmake a couple of days ago. In the first maschine (deb) the plugins never open similar to what udaemon reports. On the second maschine (cmake build) only the 32-bit vsts work

ghost commented 4 years ago

It seems a little weird to me that Wine made this change, but going on the comment made by Zebediah Figura in the link posted by @robbert-vdh, it seems like a lot of code in the Wine tree was updated to explicitly use this calling convention.

See here: https://source.winehq.org/git/wine.git/commit/ed6a5e97e0

redthing1 commented 4 years ago

That PR solves the new crash, but 64-bit plugins that used to work are no longer working.

ghost commented 4 years ago

@xdrie Could you be more specific?

  1. Which plugins aren't working?
  2. What error messages if any do you see (and where do you see them)?
durutti commented 4 years ago

@xdrie Could you be more specific?

  1. Which plugins aren't working?
  2. What error messages if any do you see (and where do you see them)?

all 64-bit plugins (in this backtrace IK multimedia tape machine 80) produce a wine error. on the other hand 32 bits (addictive drums) work. This issue existed before your commit ( regarding the comment from robbert-vdh--- I dont now if it has been accepted) backtrace.txt

DiligentKeyPresser commented 4 years ago

I am currently having both troubles with 64-bit plugins and with Reaper stucking upon plugin load. I have current master build. Since PR #112 is not merged yet i am assuming that problem with 64-bit plugins is not caused by #112

redthing1 commented 4 years ago

Yes, I tried building the package before your patch, and that issue (64-bit plugins not working) still exists. However, your patch does appear to solve the issue with the 32 bit plugins on my system.

The problem with 64-bit plugins is probably separate.

durutti commented 4 years ago

I am currently having both troubles with 64-bit plugins and with Reaper stucking upon plugin load. I have current master build. Since PR #112 is not merged yet i am assuming that problem with 64-bit plugins is not caused by #112

Rebuild with cmake and the SDK provided in the josephmartin09 comment here https://github.com/obiwanjacobi/vst.net/issues/11 and the 32 -bit vsts will work again. However it doent help with the 64-bit vsts error

ghost commented 4 years ago

I'm unable to reproduce that error with #112 . Addictive Drums 2 (64-bit) takes about 30 seconds to load, but it does load, and it does work.

For reference, I'm running on Arch Linux (kernel 5.6.14-arch1-1), wine version 5.9-1, DAW used for testing is Bitwig 3.1.3.

I also had zero issues with 64-bit plugins before this issue was opened. Seems like #109 is more relevant.

@durutti and @DiligentKeyPresser : Only hint I can offer you is that I used a different version of the VST SDK than the one recommended by @durutti. I found it in the issue tracker for this project: https://github.com/psycha0s/airwave/issues/92#issuecomment-442582285

asb2m10 commented 4 years ago

112 also fixed the issue for me.

I did a fork that added a "testing" component that shows Wine logs that helps pinpoint the issue: https://github.com/asb2m10/airwave

Don't forget to build with the debug flag otherwise the Wine stacktrace is useless; eg: cmake -DCMAKE_BUILD_TYPE="Debug"

Then load the plugin from the command line:

$ export WINEDEBUG=fixme-all,warn+all
$ cd $AIRWAVE_HOME/bin
$ ./airwave-tester ~/.vst/$YOUR_PLUGIN

If it loads from here, you can discard wine compability issues... otherwise you can see the Wine logs.

durutti commented 4 years ago

@j-n-f could you provide the SDK you used because I cannot download that SDK from the link provided in the specific comment @asb2m10 I rebuilt airwave (from rdlie git) following your recommendation but I dont see airwave-tester in the bin directory. I still have an error message while scanning for a 64-bit plugin on mixbus. In additon this version of airwave doesnt seem to play well with 32-bit plugins. The scan time is high (without ever finishing)

Edit @j-n-f Ok I found the 2018 SDK