A modern and transparent way to use Windows VST2, VST3 and CLAP plugins on Linux
A modern and transparent way to use Windows VST2, VST3 and CLAP plugins on Linux
[!CAUTION] This is the only official yabridge page. If you came from a website claiming to be related to yabridge, then that website was likely fake and trying to spread malware.
Yet Another way to use Windows audio plugins on Linux. Yabridge seamlessly supports using both 32-bit and 64-bit Windows VST2, VST3, and CLAP plugins in 64-bit Linux plugin hosts as if they were native plugins, with optional support for plugin groups to enable inter-plugin communication for VST2 plugins and quick startup times. Its modern concurrent architecture and focus on transparency allows yabridge to be both fast and highly compatible, while also staying easy to debug and maintain.
Yabridge has been tested under the following hosts using Wine Staging 9.21. See the common issues section for instructions on how to use yabridge with later versions of Wine.
Host VST2 VST3 CLAP Bitwig Studio 6.0 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: REAPER 7.12 :heavy_check_mark: :heavy_check_mark: :heavy_check_mark: Carla 2.5.5 :heavy_check_mark: :heavy_check_mark: Does not support CLAP Qtractor 0.9.29 :heavy_check_mark: :warning: VST3 editor windows may not have the correct size :warning: Qtractor may not support every CLAP plugin Renoise 3.4.3 :heavy_check_mark: :heavy_check_mark: Does not support CLAP Waveform 12.1.3 :heavy_check_mark: :heavy_check_mark: Does not support CLAP Ardour 8.1 :heavy_check_mark: :warning: Some plugins may cause Ardour 7.3-8.1 to freeze Does not support CLAP Mixbus 7.0.140 :heavy_check_mark: :heavy_check_mark: Does not support CLAP[!IMPORTANT] yabridge doesn't work with
flatpakpackages. Please use native packages (.deb, .rpm, AUR etc) of the DAWs listed below.
Please let me know if there are any issues with other hosts.
First of all, yabridge requires a recent-ish version of Wine (Staging). Users
of Debian, Ubuntu, Linux Mint and Pop!_OS should install Wine Staging from
the WineHQ repositories as the Wine
versions provided by those distro's repositories may be too old to be used
with yabridge. On other distros you should be able to just install
wine-staging using your distro's package manager.
For a general overview on how to use Wine to install Windows applications, check out Wine's user guide.
Depending on your distro you can install yabridge and its yabridgectl companion utility through your distro's package manager or by using a binary archive from the GitHub releases page. Keep in mind that the distro packages mentioned below may not always be up to date, and some may also not be compiled with support for 32-bit plugins.
On Arch and Manjaro, yabridge and yabridgectl can be installed from
the official repositories using the
yabridge and
yabridgectl
packages.
On Fedora, you can install yabridge and yabridgectl from a COPR.
On the OpenSUSE distros, yabridge and yabridgectl are packaged by GeekosDAW.
On NixOS, yabridge and yabridgectl are in the repositories.
On Ubuntu, Debian, Linux Mint, Pop!_OS, and any other distro, you can simply download and install a prebuilt version of yabridge:
First download the latest version of yabridge from the releases page. These binaries currently target Ubuntu 20.04, and should work on any other distro that's newer than that.
Extract the contents of the downloaded archive to ~/.local/share, such
that the file ~/.local/share/yabridge/yabridgectl exists after
extracting. You can extract an archive here from the command line with
tar -C ~/.local/share -xavf yabridge-x.y.z.tar.gz. If you're
extracting the archive using a GUI file manager or archive tool, then
make sure that hidden files and directories are visible by pressing
Ctrl+H. You should also double check that your archive
extraction tool didn't create an additional subdirectory in
~/.local/share. Dragging and dropping the yabridge directory from
the archive directly to ~/.local/share is the best way to make sure
this doesn't happen.
Whenever any step after this mentions running yabridgectl <something>,
then you should run ~/.local/share/yabridge/yabridgectl <something>
instead.
Alternatively, you can also add that directory to your shell's search
path. That way you can run yabridgectl directly. If you don't know
what that means, then add export PATH="$PATH:$HOME/.local/share/yabridge"
to the end of ~/.bashrc and reopen your terminal.
Setting up and updating yabridge for your plugins is done though the
yabridgectl command line utility. The basic idea is that you first install
your Windows plugins to their default locations within a Wine prefix just
like you would on regular Windows. and yabridgectl then manages those plugin
directories for you. You then tell yabridgectl where it can find those
plugins so it can manage them for you. That way you only ever need to run a
single command whenever you install or remove a plugin. Both yabridge and
yabridgectl will automatically detect your yabridge installation if you used
one of the installation methods from step 1.
To tell yabridgectl where it can find your Windows VST2, VST3, and CLAP
plugins, you can use yabridgectl's add, rm and list commands to add,
remove, and list the plugin directories yabridgectl is managing for you. You
can also use yabridgectl status to get an overview of the current settings
and the installation status for all of your plugins.
yabridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins".
This directory may be capitalized as VSTPlugins on your system, and some
plugins may also install themselves to a similar directory directly inside
of Program Files.C:\Program Files\Common Files\VST3, and you can use
yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3" to
add that directory to yabridge.C:\Program Files\Common Files\CLAP, and you can use
yabridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/CLAP" to
add that directory to yabridge.Finally, you'll need to run yabridgectl sync to finish setting up yabridge
for all of your plugins. After doing so, your VST2, VST3, and CLAP plugins
will be set up in ~/.vst/yabridge, ~/.vst3/yabridge, and
~/.clap/yabridge respectively. Make sure your DAW searches ~/.vst,
~/.vst3, and ~/.clap for VST2, VST3, and CLAP plugins and you will be
good to go.
Yabridge can also load 32-bit Windows plugins so you can use them in your 64-bit Linux DAW. Yabridge will automatically detect whether a plugin is 32-bit or 64-bit on startup and it will handle it accordingly. If you've installed yabridge through a distro package, then it may be possible that your distro has disabled this feature.
It is also possible to use yabridge with multiple Wine prefixes at the same
time. Yabridge will automatically detect and use the Wine prefix the Windows
plugin's .dll, .vst3, or .clap file is located in. Alternatively, you can
set the WINEPREFIX environment variable to override the Wine prefix for all
yabridge plugins.
If the WINELOADER environment variable is set, then yabridge will use that
binary to run Wine. Otherwise it will use whatever wine binary is available on
the search path instead.
See
yabridge-bottles-wineloader
for a community project to integrate yabridge with
Bottles.
Yabridge supports drag-and-drop both from a native (X11) Linux application to plugins running under yabridge, as well as from yabridge plugins to native X11 applications like your DAW or your file browser. When dragging things from a plugin to your DAW, then depending on which DAW you're using it may look like the drop is going to fail while you're still holding down the left mouse button. That's expected, since yabridge's and Wine's own drag-and-drop systems are active at the same time. If you're using yabridge in REAPER or Carla, then you may need to enable a compatibility option to prevent those hosts from stealing the drop.
Yabridge tries to be clever about the way grabbing and releasing input focus for a plugin works. One important detail here is that when grabbing input focus, yabridge will always focus the parent window passed by the host for the plugin to embed itself into. This means that hosts like Bitwig Studio can still process common key bindings like Space for play/pause even while you are interacting with a plugin's GUI. The downside of this approach is that this also means that in those hosts you simply cannot type a space character, as the key will always go to the host.
For the very specific situations where you may want to focus the plugin's editor directly so that all keyboard input goes to Wine, you can hold down the Shift key while entering the plugin's GUI with your
No open issues yet, or sync has not completed.