The virtual Eurorack studio (Evacuated from NSA/Microsoft Github)
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andrew Belt 7f114b0530 Clean up window.cpp 5 years ago
.github/ISSUE_TEMPLATE Update issue templates 5 years ago
dep Remove RTAUDIO_ALL_APIS flag 5 years ago
include Remember pressed keyboard keys upon release 5 years ago
plugins Add stub to plugins directory 6 years ago
res Update MIDI-1 panel 6 years ago
src Clean up window.cpp 5 years ago
.gitignore Add scratch filesystemListDirectory 6 years ago
.gitmodules Merge ext with dep, add Rack-SDK zip file to dist 6 years ago Update CHANGELOG 6 years ago
Info.plist Remove version strings from Info.plist on Mac 6 years ago
LICENSE-dist.txt Remove portaudio from license, add RtAudio 6 years ago
LICENSE.txt Relicensed to BSD-3-Clause 7 years ago
Makefile Remove RTAUDIO_ALL_APIS flag 5 years ago Link shared libraries after static libraries 5 years ago
Rack.rc Fix Windows build, use portaudio pre-builds, remove curl init/destroy 6 years ago Add ARCH_* to 5 years ago Add ARCH_* to 5 years ago Switch from curl to wget for building deps 6 years ago
icon.icns Fix icons 6 years ago
icon.ico Fix icons 6 years ago
installer-banner.bmp Finished Windows installer 6 years ago
installer.nsi Add VSTs to Windows installer, zip distribution 6 years ago Add ARCH_* to 5 years ago


Rack is the engine for the VCV open-source virtual modular synthesizer.

Rack screenshot

This README includes instructions for building Rack from source. For information about the software, go to

The Issue Tracker is the official developer's forum

Bug reports, feature requests, and even questions/discussions are welcome on the GitHub Issue Tracker for all VCVRack repos. However, please search before posting to avoid duplicates, and limit to one issue per post.

Please vote on feature requests by using the Thumbs Up/Down reaction on the first post.

I rarely accept code contributions to Rack itself, so please notify me in advance if you wish to send a pull request.

Setting up your development environment

Rack's dependencies (GLEW, glfw, etc) do not need to be installed on your system, since specific versions are compiled locally during the build process. However, you need proper tools to build these dependencies.


Install Xcode. Using Homebrew, install the build dependencies.

brew install git wget cmake autoconf automake libtool


Install MSYS2 and launch the MinGW 64-bit shell (not the default MSYS shell).

pacman -S git wget make tar unzip zip mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake autoconf automake mingw-w64-x86_64-libtool


On Arch Linux:

pacman -S git wget gcc make cmake tar unzip zip curl

On Ubuntu 16.04:

sudo apt install git curl cmake libx11-dev libglu1-mesa-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev zlib1g-dev libasound2-dev libgtk2.0-dev libjack-jackd2-dev


If the build fails for you, please report the issue with a detailed error message to help the portability of Rack.

Clone this repository with git clone and cd Rack. Make sure there are no spaces in your path, as this breaks many build systems.

Clone submodules.

git submodule update --init --recursive

Build dependencies locally. You may use make's -j$(nproc) flag to parallelize builds across all your CPU cores.

make dep

You may use make dep RTAUDIO_ALL_APIS=1 to attempt to build with all audio driver APIs enabled for your operating system, although this is unsupported.

You should see a message that all dependencies built successfully.

Build Rack.


Run Rack.

make run

Building plugins

Be sure to check out and build the version of Rack you wish to build your plugins against.

You must clone the plugin in Rack's plugins/ directory, e.g.

cd plugins
git clone

Clone submodules.

cd Fundamental
git submodule update --init --recursive

Build plugin.



All source code in this repository is licensed under BSD-3-Clause by Andrew Belt.

Component Library graphics in res/ComponentLibrary are licensed under CC BY-NC 4.0 by Grayscale. Commercial plugins must request a commercial license to use Component Library graphics by emailing

Core panel graphics in res/Core are copyright © 2017 Grayscale. You may not create derivative works of Core panels.

The VCV logo and icon are copyright © 2017 Andrew Belt and may not be used in derivative works.

The "VCV" name is trademarked and may not be used for unofficial products. However, it is acceptable to use the phrase "for VCV Rack" for promotion of your plugin. For all other purposes, email