VCV-Rack (analog synth emulation)

VCV-Rack is the engine powering VCV modules - your analog synth as an emulation in your PC.

Regards, Holger

3 Likes

I had to compile from source on my Linux Mint machine.
Use git clone, the download of the zip is not up to date.
When it is compiled (README.md)
you have to change the Rack.sh file:
LD_LIBRARY_PATH=dep/lib ./Rack

the dep/lib is missing…or you copy the missing libs into /, how the author does it for the zip.

We should follow this thread

1 Like

A recipe for compiling VCVRack on a RPi(2/3).

Be warned: X11 and VCVRack are very slow!!! I have currently no audio-able RPi, so I don’t know if you can get sound out of VCVRack :frowning:

I used a fresh Raspian installed on a SD card. I think this will not work on a Zynthian-Image - YOU MAY MAKE YOUR RUNNING ZYNTHIAN IMAGE UNSTABLE WHEN NOT USING A FRESH RASPIAN!!! Try on a 2nd SD card!

# install needed packages
sudo apt-get -y --no-install-recommends install libx11-dev libgl1-mesa-dev libxrandr-dev libxinerama-dev libxcursor-dev librtmidi-dev librtaudio-dev libglu1-mesa-dev libgtk2.0-dev
sudo apt-get -y --no-install-recommends install libjansson-dev libcurl4-openssl-dev libglew-dev libglfw3-dev libsamplerate0-dev librtmidi-dev librtaudio-dev libzip-dev
sudo ln -s /usr/include/rtaudio/RtAudio.h /usr/include/RtAudio.h

# RPi compiler optimization
machine=`uname -m 2>/dev/null || echo unknown`
if [ "${machine}" = "armv7l" ]
then
    model=`echo /sys/firmware/devicetree/base/model` 2>/dev/null || echo unknown
    if echo "${model}" | egrep -Eq '[3]'
    then
        CPU="-mcpu=cortex-a53"
        FPU="-mfpu=neon-fp-armv8"
    else
        CPU="-mcpu=cortex-a7 -mthumb"
        FPU="-mfpu=neon-vfpv4"
    fi
    FPU="${FPU} -mneon-for-64bits"
    export RASPI=true
fi
export CFLAGS="${CPU} ${FPU}"
export CXXFLAGS="${CFLAGS}"

# build VCVRack
git clone https://github.com/VCVRack/Rack.git
cd Rack
git submodule update --init --recursive
sed -i.orig -- "s,-march=nocona ,," compile.mk
cp src/engine.cpp src/engine.cpp.orig
sed -i -- "s,^#include <xmmintrin.h>,//#include <xmmintrin.h>," src/engine.cpp
sed -i -- "s,_MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON);,//_MM_SET_FLUSH_ZERO_MODE(_MM_FLUSH_ZERO_ON)," src/engine.cpp
make
cd plugins
for i in Fundamental ESeries Befaco AudibleInstruments
do      
        git clone https://github.com/VCVRack/${i}.git
        cd ${i}
        git submodule update --init --recursive
        make
        cd ..
done

To start you have to stay in the installation directory and type ./Rack

Regards, Holger

2 Likes