In an attempt to overcome the limitations of M1 thread performance with VCV, I’ve been trying to get VCV to load itself in VCV Host. I get an immediate crash. Anyone other Apple Silicon users able to get this to work? Other VSTs load fine.
Due to how Rack works internally, I do not think this is possible, technically speaking. That said, you can load a plugin bridge wrapper thing that loads Rack Pro inside, has a little performance penalty but works around the limitations
A workaround for a workaround… OK I’ll give it a shot—thanks for the tip!
I did try using Cardinal but I get the same crashes. I’ve also tried looking for other VST hosts for VCV/Cardinal but since I work primarily in quad, there’s very little choice out there. Almost everything is set up assuming stereo output. Logic works well with quad, but since it’s AU format there’s not much love from the VCV world (for now anyway)
best to report those on the github project page, but can definitely say it is not expected to crash.
I wonder if you put another install of VCV rack pro on another hard drive or partition on the same drive and try running one inside the other wether that might work. Again this is just another thought experiment and I haven’t got the resources to try, just so much time on my hands that now I have retired to think about things.
doubt it. the issue is due to how all internals of Rack need to be exposed for it to be able to load other plugins (ie rack modules).
for example, this means the “APP” context needs to be a global variable that any loaded module/plugin needs access to.
so when the audio processing starts, the “APP” context is set to the 1st Rack plugin in the chain, and works fine. then this 1st plugin does the Rack inside Rack plugin thing, which in turn modifies the global “APP” context that was set in the outer/1st Rack plugin. this breaks everything…
Introduce multi-threading done by plugin hosts and Rack itself, and this becomes even more complex.
This is just one of the many technical problems.
If the Host/DAW uses the same function names in their DLLs as Rack Pro does, this generates undefined behaviour. The Host could be calling internal functions that end up being Rack ones, and vice-versa. This has already been seen in action in ArchLinux where some GPU drivers use libzstd, which Rack also does, but with a different version.
This mismatch of versions can be solved by building both sides with the same version, but since Rack Pro is proprietary this is simply not possible…
FYI got a reply from VCV support. Hosting VCV Rack as a VST within VCV Host isn’t a supported configuration for the time being.