How to use VST3 format on Linux?

Here under “New Features” it is explicitly stated that Ardour supports VST3 plugins accross all platforms, including Linux.
Can anybody give me specific instructions on how to set this up because OOB it doesn’t work for me.

I’m running Xubuntu 20.04 LTS

How does it fail? What plugins have you tried?

In short: Install some Linux VST3 plugins and then in Ardour: Preferences > Plugins > Scan
(or enable Prefs > Plugins > VST> Scan for new VST plugins on Application Start).

More details needed, what have you tried, how does it not work? What version of Ardour are you on, where did you get it from?

Also see here and make sure your plugins are installed in the correct locations:

Seablade

I did try the Variety of sound plugins. I couldn’t find any information whether they are vst2 or vst3, but since they are not working I suppose they are vst2.
I did put them in $HOME/.vst3, running Ardour 6.5 and already did the aforementioned scan procedure.
It fails in that way, that the plugins simply don’t show up anywhere.

Btw.: Wow, that was a badass fast response.

Those are for windows. The download pages says

Requirements:
Win32 compatible system with SSE2 (or higher) instruction set support

So they don’t work on Linux, nor macOS. There are some tools to run Windows plugins on Linux, but if you need to use Windows plugins, you’re usually better off using Windows.

Edit: You can check Menu > Window > Log to get information about the plugin scan information. Likely the plugin(s) are blacklisted because they cannot be loaded, or they’re ignored if they’re .dll files.

At this point in time there are not yet a lot of Linux VST3 plugins. Some commercial vendors that already do include https://www.auburnsounds.com/, https://u-he.com/

Most free/libre plugins are released as LV2, you can get those via synaptic on Ubuntu
(there is a meta-package multimedia-audio-plugins).

Ah, I see. I thought that feature meant that Ardour somehow managed to implement support for any VST3 and not just Linux VST3. That was quite confusing. So, then I will stick with the LV2 plugins.

Thanks for the help.

I can confirm that Variety of Sound plugins are VST2 and that they require a compatibility layer to work on Linux. Easily achieved with LinVst and a little WINE knowledge.

1 Like

I just cannot load Surge :frowning: I’m constantly getting this on a plugin scan:

2021-02-18T15:31:43 [WARNING]: LADSPA: cannot load module “/usr/lib/ladspa/sifter_1210.so” (/usr/lib/ladspa/sifter_1210.so: undefined symbol: q_sort)
2021-02-18T15:31:43 [INFO]: VST3</usr/lib/vst3/SurgeEffectsBank.vst3>: Cannot load VST3 module: ‘/usr/lib/vst3/SurgeEffectsBank.vst3/Contents/x86_64-linux/SurgeEffectsBank.so’

2021-02-18T15:31:44 [INFO]: VST 3 Blacklist:
/usr/lib/vst3/SurgeEffectsBank.vst3/Contents/x86_64-linux/SurgeEffectsBank.so
/usr/lib/vst3/Surge.vst3/Contents/x86_64-linux/Surge.so

2021-02-18T15:31:44 [INFO]: VST3</usr/lib/vst3/Surge.vst3>: Cannot load VST3 module: ‘/usr/lib/vst3/Surge.vst3/Contents/x86_64-linux/Surge.so’

I’m on Ubuntu 16.04.07 and Ardour 6.5. I downloaded the pre-build installer from the site. Could you point me int the right direction? The files are there, the surge .deb package was installed.

The same message appears in Ardour 6.6

Sometimes you need to go in Ardour Preferences > Plugins > VST, and clean the Blacklist.

These are two independent issues.

This is a problem with your distrbution shipping an ancient version of swh-ladpa. This issue was fixed in October 2015. In any case you may prefer the swh-lv2 version over the old LV1 one.

As for surge, which version have you downloaded?

That may be the issue. The surge binaries are likely not compatible with that old version. In a terminal window run

ldd /usr/lib/vst3/Surge.vst3/Contents/x86_64-linux/Surge.so

I expect some of the xcb libraries are missing.

That is not it, otherwise it would have had an explicit “Blacklisted” message in the logs. But thanks!

I’ve downloaded version 1.8.1.
The ldd output is the following:

$ ldd /usr/lib/vst3/Surge.vst3/Contents/x86_64-linux/Surge.so
/usr/lib/vst3/Surge.vst3/Contents/x86_64-linux/Surge.so: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27’ not found (required by /usr/lib/vst3/Surge.vst3/Contents/x86_64-linux/Surge.so)
linux-vdso.so.1 => (0x00007fff135f1000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fd0ea707000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd0ea503000)
libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 (0x00007fd0ea1ef000)
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007fd0e9fac000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fd0e9d02000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fd0e99c8000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fd0e97a6000)
libxcb-cursor.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-cursor.so.0 (0x00007fd0e95a0000)
libxcb-util.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-util.so.1 (0x00007fd0e939a000)
libxcb-xkb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-xkb.so.1 (0x00007fd0e917f000)
libxkbcommon.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007fd0e8f40000)
libxkbcommon-x11.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon-x11.so.0 (0x00007fd0e8d38000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fd0e89b6000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fd0e86ad000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fd0e8497000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd0e80cd000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd0eb36a000)
libpixman-1.so.0 => /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007fd0e7e25000)
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007fd0e7c00000)
libxcb-shm.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007fd0e79fc000)
libxcb-render.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007fd0e77f2000)
libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007fd0e75e8000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fd0e73d6000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fd0e71bc000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fd0e6fb4000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fd0e6d8b000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fd0e6b87000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fd0e6981000)
libxcb-render-util.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render-util.so.0 (0x00007fd0e677d000)
libxcb-image.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-image.so.0 (0x00007fd0e6578000)

OK so your system is too old, specifically the GNU C-library (libc6) which provides libm.so

You might be able to work around this, by compiling the plugin from source.

1 Like

Thanks for your help, I’ll try to figure it out… But to be honest, a system refresh is now long overdue, so yeah, hopefully an upgrade will solve it. :slight_smile:

I took the liberty of forwarding the issue upstream, so that other users won’t run into the same:

1 Like

Yes thanks @x42 and as I mentioned over on the surge issue, the binary builds on an ubuntu 18 pipeline host, but the code itself compiles on all sorts of compilers and platforms. Building from source on ubuntu 16 should work (we tested it pretty recently just don’t have CI hosts for that OS anymore).