Brief
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
dll
to 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.
Steps
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
We want Synth1 VST64.dll
to be loaded by the DAW.
Copy/rename linvst.so
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 Synth1
VST64.so
, both share the name Synth1 VST64
.
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 ~/.vst/Synth1
.
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.