VST3 Built on Linux Not Appearing in DAW


I am using JUCE 6.0.1 to create a VST3 plugin on Debian. JUCE was installed from the provided .tar and not through the apt package. I am using the included VST3_SDK, and not using an external installation.

I am able to compile and run the example NoiseGate plugin in standalone mode just fine and dandy (after disabling the JUCE_WEB_BROWSER in the juce_gui_extra). However, when I try to load the .so VST into either Ardour or Reaper there seems to be an issue with loading it. I am assuming it segfaults on start but I have trouble getting proof. On Ardour I get the following message:

2020-09-21T19:10:49 [INFO]: VST Blacklist:

It also seems that I am not able to attach a debugger to the VST, as Ardour might do some sandboxing? I’m not quite sure. I’ve run Ardour under GDB and wasn’t able to see a stacktrace.

I’ve also fired up CLion and attempted to attach a debugger to the generated .so file, but that segfaults immediately. Can’t seem to time it with an Ardour plugin scan, which also makes things tricky.

I was wondering if anyone could provide tips to debug this further. Could this be related to disabling the JUCE_WEB_BROWSER flag?


Did you try to load in single .so file in DAW or .vst3 directory (bundle)? Afaik Ardour hasn’t VST3 support, Reaper does.

1 Like

Looks like using the .vst3 directory with Reaper is what did it. Greatly appreciated.

Hi! I seem to have a similar problem and found this thread during my search. None of the example plugins are recognized by Reaper or Ardour. Also in my case, the standalone versions work without problems.

I use JUCE 6.1 and CLion under Linux Mint 20.2. The VST3 build works fine without errors. After that I put the so file into the .vst or the .vst3 folder, but none of them works. Are there any other files that need to be placed into those directories? How can I check whether my shared library is corrupt or not? The problem is that I don’t get any error messages along the way.

Any help is deeply appreciated.

Did you put the ‘.so’ in your vst3 folder or did you copy the entire ‘myplugin.vst3’ directory bundle into your vst3 folder? vst3 is like a mac bundle or an lv2 - it is a directory not a file. so juce will make something that looks like ‘myplugin.vst3’ which contains ‘contents/x86_blah/something.so’. You need to copy the top level not the lower level to your plugin folder.

if (using cmake) you use COPY_PLUGIN_AFTER_BUILD the right thing will happen. When I set that and built surge on ubuntu20 I saw

-- Installing: /home/paul/.vst3/Surge XT.vst3
-- Installing: /home/paul/.vst3/Surge XT.vst3/Contents
-- Installing: /home/paul/.vst3/Surge XT.vst3/Contents/x86_64-linux
-- Installing: /home/paul/.vst3/Surge XT.vst3/Contents/x86_64-linux/Surge XT.so

and that scans just fine with the various hosts.

If you have the same and it doesn’t scan, try building and running the juce audio plugin host under a debugger.

1 Like

Thanks a lot! That helped me discover an error I made. For some reason I still don’t fully understand, I used CLion incorrectly. The VST3 build did not create a .vst3 folder, but only a folder names VST3.dir. The cmake command I used was

/home/xxx/programs/clion-2021.2.3/bin/cmake/linux/bin/cmake --build /home/xxx/juce_modules/SamplerPlugin/Builds/CLion/cmake-build-debug --target VST3 -- -j 6

However, when I build the plugin using the Linux Makefile, I get the desired .vst3 folder and everything works fine. I’m still figuring out how to get a working build result with cmake, though.

The CLion exporter of Projucer is deprecated. It doesn’t have all the features of the other exporters, as you’ve noticed. If you want to use CLion, please use the CMake API provided by JUCE, or FRUT, but don’t use the CLion exporter of Projucer.