There are some really nice synths which are unfortunately Windows-exclusive. After some Google search, there are two ways to run Windows VSTs in your Linux DAW, LinVst and airwave. From my perspective as a user, they both take a Windows
dll file and then turns it into a
so file that can be dynamically loaded by the DAW.
Airwave provides a very intuitive interface for converting
so, but it does not show the GUI interface of the plugins consistently, even after applying the suggested wine patch.
LinVst is equally easy to configure but I find the documentation from the github page somewhat confusing especially when you install
linvst from AUR only to find the conversion executable does not even exist.
In this blog post, I am going to explain step-by-step how I set up LinVst on my system with a globally installed linvst package available from the AUR. To make the steps more concrete, I will show specifically how you can get
Synth1 to run on Arch.
Install linvst using your favorite aur helper
~ $ pacman -Ql linvst linvst /usr/ linvst /usr/bin/ linvst /usr/bin/lin-vst-servertrack.exe linvst /usr/bin/lin-vst-servertrack.exe.so linvst /usr/bin/lin-vst-servertrack32.exe linvst /usr/bin/lin-vst-servertrack32.exe.so linvst /usr/lib/ linvst /usr/lib/vst/ linvst /usr/lib/vst/linvst.so
The file that really matters is
/usr/lib/vst/linvst.so. You do not need to run any of the executables manually.
Download and Unpack Synth1
Here is the link: https://daichilab.sakura.ne.jp/softsynth/index.html
First, unpack Synth1 to a path that is searched by your DAW.
~ $ cd .vst ~/.vst $ 7z x ~/Downloads/Synth1V113beta3.zip ~/.vst $ cd Synth1/ ~/.vst/Synth1 $ ls Synth1 VST64.dll readme.html settings soundbank02 soundbank05 soundbank08 images readmeeng.html soundbank00 soundbank03 soundbank06 soundbank09 initsettings.exe reg2ini.exe soundbank01 soundbank04 soundbank07 zipbank
Synth1 VST64.dll to be loaded by the DAW.
I choose not to name this section
convert from dll to so because you do not really “convert” anything. Just as the title suggests, you simply copy/paste
/usr/lib/linvst.so to the directory where your
dll lives and rename it so they have the same name. That’s it. You don’t need to take extra steps and
Synth1 just magically works. On AUR, it has been alluded by the discussoin that this is all you need to do, but my brain filtered out the information because the github wiki has this
linvstconvert executable which convinced me that copy/paste
linvst.so is not enough.
~/.vst/Synth1 $ cp /usr/lib/vst/linvst.so 'Synth1 VST64.so' # and you're all set! ~/.vst/Synth1 $ ls Synth1 VST64.dll initsettings.exe reg2ini.exe soundbank01 soundbank04 soundbank07 zipbank Synth1 VST64.so readme.html settings soundbank02 soundbank05 soundbank08 images readmeeng.html soundbank00 soundbank03 soundbank06 soundbank09
Now you should have the two files
Synth1 VST64.dll and
VST64.so, both share the name
Make sure the vst directory is in your DAW’s load path
Note how I added
.vst to the plug-in path in Reaper. Reaper is able to search recursively for
.so files so I do not have to specify
Your DAW might complain that it cannot load
linvst.so, which, at least in Reaper, is always safe to ignore.
linvst.so is meant to be loaded only when it is “paired up” with a dll, as we have done in the previous step (again, I have to emphasize that “pairing up” is nothing more than copying & renaming). It does not make sense to have your DAW to load a
linvst.so file alone. The AUR package could have been structured differently so
linvst.so is not located in
/usr/lib/vst, which is a path that’s loaded by most DAWs.