Serum 2 for Linux Beta was released, not compatible with Renoise

I realize this is not /exactly/ a Renoise bug, but just a heads up that Serum 2 for Linux is here/is coming and it doesn’t work with Renoise out the box.

The error message states: Serum2 requires the DAW to provide an IRunLoop via setHostContext

And then something about implementing VST3 v3.7.9 or later.

Pic attached:

Given it’s still a beta, and Renoise is otherwise doing what Renoise is supposed to do, I’m not complaining or expecting miracles, but it might be nice to have this option in Linux.

woah! very exciting for us :penguin: people. would love to get serum working in renoise!

I excitedly bought myself a copy of Serum 2 this morning when I heard it has a linux beta but unfortunately ran into this issue too. Hopefully Renoise can support it at some point in the not too distant future!

darth vader nooooooooooooooooooooooooooooooo gif

i would also like this

Can’t friggin wait for this. Serum2, Vital and the Tal stuff is all I need to happily make music on linux.

At the time we did the VST3 implementation, no host supported that IRunLoop thing (Redux itself works around that, too), so we happily skipped implementing that. Now, as some plugins rely on it, we’ll try to add it.

As a workaround, KushView Element works. This also solved the GUI problems and crashes I had using Vital in Renoise on Linux, btw.

Cheers. I haven’t tried KushView but did give Carla a shot for a while with Serum. Definitely was not as rock solid as one would hope a native version would be.

Have you tried Vitalium? It’s an open-source fork of Vital specifically ported for GNU/Linux systems. Has been working pretty reliably for me in linux renoise.

Vital/Vitalium are extraordinary good synths. But Serum has some features, Vital does not have. Some of those features are essential to create hardstyle-kickdrums.

One detail worth separating out: the IRunLoop error is not about VST3 version support in general, it is about Serum 2 asking the host for a timer/event-loop object on Linux so it can drive its own GUI. Renoise’s Linux VST3 plugin GUI code does not hand over an IRunLoop through setHostContext, so the plugin refuses to instantiate rather than falling back to a static window. That is why the same plugin binary loads fine in hosts that implement the interface, and why it fails at scan time on every Linux distro regardless of Wine, sample rate or buffer size.

Practical consequence: any wrapper that runs the plugin in its own process and provides its own event loop works, which is exactly why Carla and Element help. If you go that route, load the wrapper as a plugin in Renoise, then inside it expose only the parameters you actually automate, so Renoise still sees them as automatable parameters instead of one opaque device. Save the wrapper state with the song and enable plugin sandboxing in Renoise preferences, so a crash in the wrapper does not take the whole session down.

Also worth checking before you conclude the plugin is broken: run Renoise from a terminal and watch the scan output while rescanning the VST3 folder. If the message mentions setHostContext or a missing runloop you are hitting this exact issue, but if it is a symbol or GLIBC error it is a different problem and a distro or plugin update may fix it. And keep a note of the Serum version, because Xfer can also add the static-window fallback on their side, which would make it load without any host change.