osxmidi / LinVst

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

Prefixes and wine bottles managment #133

Closed fourstepper closed 4 years ago

fourstepper commented 4 years ago

Hello,

I've watched one video just recently from Chris Titus Tech. In the video, he mentioned installing all different sorts of programs in their own respective Wine Bottles in order to better handle overrides and winetricks dependencies (?) for each of the program without nuking or affecting other programs (VSTs here)

Would you recommend doing this with plugins as well?

Thank you for the insight!

keybreak commented 4 years ago

Hi, i'd personally say based on my research that currently i would recommend to use single prefix: https://keybreak.github.io/linux-vst-compatibility-list/

Those are all in single prefix. You can see more info here Not much winetricks used to use all those plugins, it's pretty manageable.

So i would advice maybe to use 2nd prefix for those plugins which have problems on d2d1 and are usable with d2d1 disable or d2d1 override, at least until d2d1.dll will be finished in Wine.

Other than that you should be fine!


General advice like each prefix for each program are useful for something like games or programs which need way more winetricks and overrides, but vsts thankfully are not that hardcore for Wine now.

fourstepper commented 4 years ago

Thanks @keybreak - are there any apparent problems of using multiple prefixes overall? It seems that it might be a good practice either way

keybreak commented 4 years ago

I haven't tested it specifically with LinVst yet, but assume that if you use system Wine version to launch it with those prefixes - there shouldn't be any problem, @Goli4thus i believe had more experience with multiple prefixes & LinVst he may give you more info

fourstepper commented 4 years ago

Thanks @keybreak, looking forward to what @Goli4thus will be able to bring to the table

Goli4thus commented 4 years ago

So here's my setup: For each plugin vendor I created a dedicated wine prefix: ~/.wines/vst_vendor1 ~/.wines/vst_vendor2 ~/.wines/vst_vendor3

This is done by running export WINEPREFIX=~/.wines/vst_vendor1 winecfg before running the plugin's installer with wine _installer.exe_. (or simply copying the VST.dll into the respective wine prefix).

Why do I do this? Well, back when I stumbled upon LinVst and read the documentation, I liked the idea of having different wine prefixes and symlinking the contained bridged VSTs into a "link folder". LinVst's documentation states that if a wine prefix has overrides and VST are located in it, then loading those VSTs with LinVst will in fact pick up those overrides. Back then it just seemed to be the most versatile concept to me that would allow maximum flexibility in case many different dll overrides per vendor would be needed.

Truth be told though: I've only bridging below 30 VSTs and have ~10 wine prefixes and not a single one has any overrides, because it seems to work well enough without it (for the VSTs I use).

And one drawback: wine prefixes take space (1GB and up in my case it seems). But that amount of memory might be considered a non issue theses days.

This kind of setup with many different locations, where VSTs are located, was one factor in me developing LinVstManager (and previously linvstmanage-cli).

But ultimately it's a personal decision and about what works for someone's personal usecase.

fourstepper commented 4 years ago

This is great @Goli4thus, thank you! This setup seems to make the most sense to me as it grants a bit more control in case it's needed.