Headless Mode in Rack v2

Sounds excellent. Thanks for the info and good luck developing this and all the other new features and modules!


Is there a rough timeline when the v2-branch will be made public?

Around January.

Will Rack v2’s headless mode work on a machine without a (decent) graphics card?

Yes. No OS windowing or OpenGL functions are called. Should work on embedded systems with no video card at all, although libGL is required to be installed on Linux because the Rack binary links to it.


You are my hero! :smiley:

Hello, and thanks for this great soft! Sorry i’m newbie. I’m on mac and looking for this headless mode for less ressources.
i just opened my terminal and copy ./Rack -h it doesn’t run, do i have to put that somewhere else?

Headless mode will only be available from Rack v2, it’s not implemented yet

Ok thanks :slight_smile: happy to try it soon

Any chance you’re planning to include any way to do non-realtime rendering as part of Rack v2’s headless mode? I’d imagine it’s not high on your list of priorities but thought I’d ask.

What I mean is something like this:

./Rack -h <patch file> <number of seconds to render> <output filename>

For example, this would generate a 10 second .wav file:

./Rack -h example-patch.vcv 10 output.wav

I suppose that an outputModuleId and outputId would have to be provided so that headless mode know’s what signals to render to the audio file channels.

non-realtime rendering is kind of the opposite of VCV, isn’t it? Is the idea you “press play” and then it renders away on its own?

Yes. Supercollider has this functionality: https://doc.sccode.org/Guides/Non-Realtime-Synthesis.html

VCV Rack doesn’t know what a “patch output” is.

Instead, use VCV Recorder in your patch.

1 Like

Non-realtime rendering has already been announced:

  • Modules like VCV Recorder that can run much faster than real-time can render minutes of audio in only seconds, if they are chosen as the “Primary audio module”.
1 Like

And when the GPU is idle … perhaps acceleration - 30x larger patches perhaps …

On the other hand … that road has been traveled by others, not much gain.

It takes a long time to get audio into and out of the GPU. Totally terrible for VCV modules. Not even that good for most VSTs.

There are many reasons that GPUs would be worthless for audio acceleration in VCV Rack.

Will the headless mode in Rack for DAWs intervene when Rack is hosted by a DAW as a VST, or headless mode has nothing to do with this and we will always be not-headless in this use case?

“Headless mode” just means a couple lines of code to disable window initialization, running, and destruction when the -h flag is passed. However in order for this to work properly, thousands of lines and dozens of classes were completely restructured to make these couple lines work.

Rack for DAWs is based on Rack v2, but it of course don’t have a -h flag because that doesn’t make sense for VST plugins. Instead, it behaves as normal VST plugins should and hides/shows the Rack window when requested by the user via their DAW.