osxmidi / LinVst

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

All plugins are trying to be run as 32-bit #52

Closed brandflake11 closed 5 years ago

brandflake11 commented 5 years ago

I have installed Linvst on Ubuntu Studio 16.04 by running these commands:

make -f Makefile-embed-6432
sudo make install -f Makefile-embed-6432

After doing this, I created linvstconvert with this command: g++ linvstconvert.cpp -o linvstconvert

Both of these did not produce any errors.

Now after doing this, I copied the linvst.so and linvstconvert that I created to ~/WinVST which has all of my 32-bit and 64-bit plugins together in the same folder, and I ran ./linvstconvert creating .so files of all of my windows .dll plugins.

When loading Reaper (x64) and scanning for plugins, linvst in Reaper tries to load all of the plugins as 32-bit and the ones that aren't 32-bit spit out an error saying that the plugin is 64-bit, and then Reaper crashes. How do I get Linvst to load 32-bit and 64-bit plugins to load properly as 32-bit or 64-bit plugins?

osxmidi commented 5 years ago

It could be that your Wine is using a 32 bit prefix and not a 64 bit prefix.

Try to create a 64 bit (~/test) prefix and check for any errors.

WINEARCH=win64 WINEPREFIX=~/test winecfg

If your default prefix (~/.wine) is 32 bit then you might need to delete it and then create a new 64 bit default prefix but usually just deleting ~/.wine and then running winecfg should do this by default.

WINEARCH=win64 WINEPREFIX=~/.wine winecfg

Then you will need to reinstall plugins again so that they install into the 64 bit default ~/.wine prefix or that they use the 64 bit default prefix (even if some plugins are installed into folders not within the ~./wine prefix, they can still use the ~/.wine prefix for dlls and reg info etc).

brandflake11 commented 5 years ago

I'm going to try making a 32 bit prefix and reinstall linvst and will get back to you. I currently have a 64 bit prefix it seems using wine-rt. Also, linvst complains about not finding linvst or matching the architecture, but Reaktor loads fine which is interesting.

brandflake11 commented 5 years ago

Okay, so I've installed the 32-bit prefix in wine under ~/.win32 with WINEPREFIX="~/.win32" WINEARCH=win32 wine winecfg Then I reinstalled linvst with:

make -f Makefile-embed-6432
sudo make install -f Makefile-embed-6432

I'm still getting the lin-vst-server/vst not found or LinVst version mismatch box when scanning for plugins. I guess my question would be, how do I make sure that linvst is using the 32-bit prefix for 32-bit plugins instead of the 64-bit prefix that's installed in .wine?

osxmidi commented 5 years ago

I'm not sure about wine-rt and it's current status.

Wine staging would usually be used instead IMO.

64 bit versions of LinVst (including the 6432 Linvst version) use a 64 bit Wine prefix.

The 6432 LinVst version runs 32 bit vst plugins using a 64 bit Wine prefix.

brandflake11 commented 5 years ago

Well, I couldn't figure out why it gives these errors and I don't want to switch from wine-rt as this is what Kxstudio supports. Thanks for your help, and Linvst is working just fine with 64-bit plugins now, so I will use it for that.