Using a previously made VST 3.x plugin made with Juce

I’m a very new and inexperienced with Elk and Juce (and programming in general) so please bare with me.

I found this documentation about building plugins for Elk OS but I want to know if it’s possible to make VST 3.x plugins using JUCE.

I understand that currently (release 5.4.x), JUCE only generates VST 2.4 plugins for Linux (my release version is 5.4.5) but is there any other way? I see that it’s possible to just use the VST3 SDK (I’m not sure how exactly.)

The main problem I’m trying to solve: I have previously made a VST3 plugin using JUCE and Visual Studio 2019 and it works well. I would not like to use this plugin on the Raspberry Pi (Elk OS). How can I easily do that?

I would be also ok with using a VST2 version of the plugin instead but I don’t have the proper license and VST2 SDK so I’m facing some issues with that.

Thanks a lot!

1 Like

juce 6 has just been announced with vst3 support for linux. in the repo I think this code has already been rolled out. also juce 6 has support for headless plugins (is this because they merged your branch ELK guys?) which hopefully means you probably won’t need a customized juce to build plugins for elk.


Just to add to what frederic said. JUCE 6, while just announced, is not yet tested with Elk. Correct me if I’m wrong, but the JUCE 6 release repository is not yet public.

With that said, In theory it should make everything much easier, in that headless builds will work without using our fork, and finally they support VST3 on Linux.

We will definitely announce and post here as soon as we have had a chance to test this new JUCE functionality!

In the meanwhile, if you build your plugin with JUCE, and have access in some way to the VST2 SDK, you can use our JUCE fork to build your plugin as a VST2 for Elk. But you did say you didn’t have the VST2 SDK…

Porting your plugin to LV2, the other plugin format we support, is not as realistic an option, that may well be more effort than makes sense given that JUCE 6 is coming up soon.

Then the final step (also in our documentation), is that you cross-compile your plugin for Elk Pi, and you’ll be ready to run it on the device.

Ilias of Elk.

a couple of other things:

It’s not released as stable but a preview branch is available to everyone on their Github:

No, it is not a merge of our fork. We had discussed the thing with them more than one year ago, however, and they took our input for their implementation (which is indeed easier to maintain the ours). When I tried a preview they sent me, it was not working straight away with our SDK but it shouldn’t take much work on our side to add a couple of things.

Now that JUCE also has (finally!) a good native integration with CMake, we could think about integrating it directly in our SDK.

Doing a manual port will indeed require a lot of work, but you can use FalkTX’s DISTRHO framework to wrap a JUCE plugin to LV2 easily: