VCV 2.0.4 compiled for Raspberry Pi 4/400

Hi ! Here is an LTO optimized build of VCV 2.0.4 compiled on Raspberry Pi 400. Over 1330 LTO optimized modules included.

Here is how it looks in action:

NOTE: Unfortunately due to possibility of breaking the license terms I need to take down the binaries. I will think how to distribute this in patch form only.

11 Likes

Very cool!

Fantastic News! Just purchased Pi 400… Happy Holidays!

Merry Christmas to you all !

do you have the sources you built this binary from somewhere or the patches against regular vcvrack?

btw. might be interesting for you - my vcvrack v1 linux/arm build: GitHub - hexdump0815/vcvrack-dockerbuild-v1: docker based build for vcvrack v1 on armv7l, aarch64 on ubuntu 18.04 and raspbian … you can use simde instead of sse2neon - it is more complete … maybe interesting too: the sonaremin - a bootable sd card image to run vcvrack: GitHub - hexdump0815/sonaremin-ng: sonaremin next generation :) - "vcvrack in a box" or "roll your own synth"

i plan to look at vcvrack2 soon - wanted to wait for it to settle a bit first

best wishes - hexdump

3 Likes

Time for some enterprising soul to stick a Pi4/400 into a eurorack module with some kind of ability to load vcv patches, with physical CV i/o and a link to customised front end/interface / OLED display ala Ornament and Crime. This can’t be far off

2 Likes

Hey hexdump! I have known about your project since quite long, and advertised it as appropriate whenever I could, though in a parallel to your effort and unaware of it I ported VCV 1.x to ARM myself quite some time ago, but never was very public about it. I use sse2neon because it is so much simpler and I’d rather add the missing intrinsics there than using the much more complex SIMDe project. I do have the patched sources, but they are still messy, meant for internal use only so far. I will clean them a little and put them on my github soon. You can still find them on a telegram group called “The Patch Bay” - hosted by Vega Deftwing - one of the VCV plugin developers. What you may be interested most likely are the optimization flags I used. I compiled almost everything with LTO, and I am pretty satisfied with the performance so far.

I am eyeing on Raspberry Pi Zero 2 exactly for this purpose

1 Like

did you maybe compare performance between non-lto and lto builds? might be interesting to know how much of a difference it makes …

Haven’t had time for performance comparisons so far. I just threw in all possible optimizations I could think of - had some prior experience compiling all opensource id software games for the Pi so that helped. Compiled with gcc 10 on 32 bit Raspbian Bullseye. I was pretty surprised that I can use smoothly around 30-40 modules (of course carefully selected) and even some heavy ones (Squinky labs) with 44 khz sample rate and 512 samples buffer (10 ms latency). When I go to 24 khz I can use even more modules while multitasking and at the same time playing youtube videos, etc.

yes - the rpi4 (or any other arm soc in this class) is not that bad :slight_smile: … btw. in my experience going from 32bit to 64bit gives about 10-20% better performance on the same hardware with vcvrack - i do not remember the exact numbers, but it was somewhere in this range and it is quite a difference … looking forward to your sources/patches and compiler options used - btw. i also experimented with different optimization options, but the gain usually was very low - maybe 1-2% if at all and sometimes it even got worse …

UPDATE: Compiled some more modules to get to 1393. Also built and included the VCV Recorder. Use the same link

2 Likes

Hi !

It is incredible that you did all that work and share it. A really big thank you ! I have a rpi4 I wanted to use for my live setup, I would be more than thrilled to be able to port a few simple patches on it, it is a dream come true ! What OS should I install on it ? Right now it has the basic Raspbian (I use id to play a video in loop in an art show, really basic setup to have it play and looping at startup). What else should I install ? I was using a CM6206 for sound, with ALSA, would that work with VCV ?

You need stock 32 bit Raspbian Bullseye - the official OS for the Pi. Alsa, Pulse, Jack all work. I get the lowest latency with ALSA around 10 ms (512 samples buffer). But I use a very crappy Behringer UCA 202 interface to match the low costliness of the Pi. I don’t know about CM6206 but if it is USB class compliant, I don’t see a problem.

1 Like

UPDATE 2: I managed to get some of the Valley’s plugins to work (after a very ugly hack that I am ashamed of ). Basically I was so impatient to make Plateau work that I added a software implementation of the missing intrinsics in sse2neon. So Plateau works OK now, and maybe I will release it only in a binary form - the other synth plugins compile but don’t function properly. I need to make proper neon implementations of the missing intrinsics - but I will leave this for another night.

1 Like

Might you be aware that the Cardinal wrapper already builds for ARM? Some extras related bits here.

Completely aware, but it serves a different purpose - it is meant to be a DAW plugin. Also it is based on the 1.X VCV tree. My current goal is to have an efficient, 100% opensource and stable standalone VCV 2.x version for ARM - Raspberry Pi 4/400 being my first target, M1 and such for a later stage.

1 Like

Then why does it say GitHub - VCVRack/Rack at 9ad53329fff74989daf3365600f9fccc0b6f5266 in the repository? → Cardinal/src at main · DISTRHO/Cardinal · GitHub

But it does wrap Rack 2 and can be built as standalone?