Open-source project
robbert-vdh/yabridge avatar
robbert-vdh/yabridge

yabridge: Windows VST2, VST3 and CLAP plugins inside Linux hosts

A modern and transparent way to use Windows VST2, VST3 and CLAP plugins on Linux

4,124 stars127 forksC++GPL-3.0

At a glance

What is it?
yabridge wraps Windows plugins in a Wine process and presents them to 64-bit Linux DAWs as if they were native, including 32-bit plugins through a bitbridge. It is aimed at Linux users who want to keep using commercial Windows plugin libraries, and it depends on a recent Wine Staging build.
Who is it for?
Adopt yabridge if you already run a 64-bit Linux host such as Bitwig, REAPER or Carla and need Windows-only plugins, and if you can install Wine Staging from the WineHQ repositories rather than your distro's older Wine. Do not adopt it for flatpak DAWs, since the README states yabridge does not work with flatpak packages, and do not expect it to fix plugins that are broken under Wine itself.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 59 days ago.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 27, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What yabridge is for, and who ends up using it

The problem is specific. A Linux audio workstation host speaks the Linux VST2, VST3 or CLAP ABI, and a Windows plugin binary speaks the Windows ABI. Wine can run the plugin's code, but a Linux host cannot load a Windows dynamic library directly, and the two sides disagree about threading, windowing and the plugin entry point. yabridge sits between them. According to the README, it supports 32-bit and 64-bit Windows VST2, VST3 and CLAP plugins inside 64-bit Linux plugin hosts, presenting them "as if they were native plugins".

The audience follows from that. People who mix on Linux but own a Windows plugin collection are the primary users. The README's tested table names Bitwig Studio 6.0, REAPER 7.12, Carla 2.5.5, Qtractor 0.9.29, Renoise 3.4.3, Waveform 12.1.3, Ardour 8.1 and Mixbus 7.0.140, all tested under Wine Staging 9.21. That table is also the first warning: Carla, Renoise, Waveform, Ardour and Mixbus do not support CLAP at all, and Qtractor and Ardour carry caveats for VST3. Choosing yabridge is really choosing a host and a plugin format together, not just a bridge.

The architecture: a Wine host process and a Linux-side plugin

yabridge is not a shim that loads a Windows DLL into your DAW's address space. The README describes a concurrent architecture where the plugin runs in a separate Wine process, and the Linux host loads a small native plugin that talks to it. That separation is why a crashing Windows plugin does not necessarily take the host down with it, and why the README can claim the design stays "easy to debug and maintain".

Two mechanisms are worth understanding before you install anything. The first is the bitbridge, which is what lets a 64-bit Linux host load 32-bit Windows plugins. The second is plugin groups, described in the README as optional and used to enable inter-plugin communication for VST2 plugins and quick startup times. Plugin groups matter more than they sound: some VST2 plugins expect to find each other in the same process, and without a group they will not see one another. Startup time is the other half of that trade-off, since a group shares one Wine process instead of spawning one per plugin.

Configuration lives in a TOML file, and the README documents compatibility options alongside plugin groups, with an example section. The relevant consequence is that yabridge's behaviour is tunable per plugin, not global, so a plugin that misbehaves can usually be adjusted without disturbing the rest of your collection.

Installing yabridge and adding your first plugin

The README's usage section starts with Wine, not with yabridge. It states that yabridge requires a recent-ish version of Wine (Staging), and that users of Debian, Ubuntu, Linux Mint and Pop!_OS should install Wine Staging from the WineHQ repositories because the Wine versions in those distros' repositories may be too old. On other distros, installing `wine-staging` through the package manager is enough.

For yabridge itself, Arch and Manjaro have `yabridge` and `yabridgectl` in the official repositories. Fedora uses a COPR, OpenSUSE is packaged by GeekosDAW, and NixOS has both in its repositories. On Ubuntu, Debian, Linux Mint, Pop!_OS and other distros, the README points to prebuilt binaries from the releases page, which currently target Ubuntu 20.04 and should work on anything newer. The archive is extracted into `~/.local/share`, and the README gives this command for it:

bash
tar -C ~/.local/share -xavf yabridge-x.y.z.tar.gz

After extraction, the file `~/.local/share/yabridge/yabridgectl` should exist. If you extract with a GUI tool instead, the README warns that hidden files and directories must be visible, which you toggle with Ctrl+H.

The second step is telling yabridgectl where your Windows plugins live and then syncing. The README documents `yabridgectl add` and `yabridgectl sync` as the commands for this, and `yabridgectl status` as the way to see what it found. The exact paths depend on your Wine prefix, so the directory you add is the one containing your installed Windows plugins, not a yabridge directory.

After `yabridgectl sync`, yabridge writes its own plugin files into the directories it manages, and your host should pick them up on its next plugin scan. If a plugin does not appear, `yabridgectl status` is the first thing to read, because it reports what was found and what was skipped.

Wine version drift is the real failure mode

The README is explicit that yabridge was tested with Wine Staging 9.21 and that later Wine versions need the troubleshooting section. That is an unusual amount of honesty for a compatibility layer, and it points at the genuine limitation: yabridge is coupled to Wine's behaviour, and Wine changes. A Wine upgrade that fixes one plugin can break another, and the README's own advice to downgrade Wine exists precisely because forward compatibility is not guaranteed.

The second limitation is host support. VST3 editor windows may not have the correct size in Qtractor, some plugins may cause Ardour 7.3 through 8.1 to freeze, and Qtractor may not support every CLAP plugin. Those are documented, not hypothetical. If your workflow depends on VST3 editor resizing or on Ardour stability with a particular plugin, that combination is a known weak point rather than something you can tune away.

The third is packaging. The README states plainly that yabridge does not work with flatpak packages and directs users to native .deb, .rpm or AUR builds of their DAWs. If your DAW only ships as a flatpak, yabridge is the wrong tool and no configuration will change that.

yabridge versus Carla for hosting Windows plugins

Carla is the obvious comparison, and the README's tested table includes Carla 2.5.5 with VST2 and VST3 checkmarks and a note that it does not support CLAP. The difference in approach is architectural rather than cosmetic. Carla is a plugin host: it loads plugins, including Windows ones through its own Wine bridging, and you route audio into and out of it, often as a single plugin inside your DAW. yabridge is a bridge, not a host. It makes each Windows plugin appear as an individual plugin in your existing DAW, so your DAW's own routing, sidechaining and project files treat it like any other plugin.

That distinction decides which one you want. If you need a patchbay for modular routing, or you want to run plugins outside your DAW's plugin model, Carla's host model fits. If you want a Windows compressor to sit in a REAPER track exactly where a native one would, yabridge's bridge model fits, and using Carla for that would mean an extra layer of routing around your DAW's own signal path. The README's tested table lists Carla as a host that yabridge itself has been tested under, which is a reminder that the two are not mutually exclusive.

Maintenance, releases and what the GPL-3.0 licence means here

The repository is not archived, and the last push was on 2026-08-02. The most recent release listed is 5.1.1 from 2024-11-04, following 5.1.0 in 2023 and 5.0.5 in 2023. So the commit history is more recent than the release tags, which is worth knowing if you prefer packaged releases over development builds. The README has a section on installing a development build, and the repository carries a `meson.build` and a `subprojects/` directory, so building from source is a supported path rather than an afterthought.

Upgrade cost is dominated by Wine, not by yabridge. A yabridge upgrade is a package update plus a `yabridgectl sync` to regenerate the plugin files. A Wine upgrade is the change that can alter plugin behaviour, and the README's troubleshooting section is where you go when it does. Budget for the possibility of pinning a Wine version.

The licence is GPL-3.0, and the repository ships `COPYING`. For most users this is irrelevant: running yabridge to load your own plugins does not create distribution obligations. It matters if you plan to redistribute yabridge bundled with something else, or to link it into a proprietary product, because GPL-3.0 imposes source and licensing conditions on distribution. That is a question for a lawyer, not for this article.

Editorial conclusion

Adopt yabridge if you already run a 64-bit Linux host such as Bitwig, REAPER or Carla and need Windows-only plugins, and if you can install Wine Staging from the WineHQ repositories rather than your distro's older Wine. Do not adopt it for flatpak DAWs, since the README states yabridge does not work with flatpak packages, and do not expect it to fix plugins that are broken under Wine itself. Before committing, verify your host appears in the tested table with a checkmark for the plugin format you need, and confirm your Wine version against the troubleshooting notes for Wine versions newer than the tested Staging 9.21.

Frequently asked questions

What is yabridge used for?

It lets 64-bit Linux plugin hosts load Windows VST2, VST3 and CLAP plugins through Wine, presenting them as if they were native plugins. The README also notes optional plugin groups for VST2 inter-plugin communication and faster startup.

How do I install yabridge on Ubuntu or Linux Mint?

The README directs Ubuntu, Debian, Linux Mint and Pop!_OS users to download a prebuilt archive from the releases page and extract it into ~/.local/share with `tar -C ~/.local/share -xavf yabridge-x.y.z.tar.gz`, so that ~/.local/share/yabridge/yabridgectl exists. It also says to install Wine Staging from the WineHQ repositories, because the distro Wine may be too old.

How do I install yabridge on Arch or Fedora?

On Arch and Manjaro, the README says yabridge and yabridgectl are in the official repositories as the `yabridge` and `yabridgectl` packages. On Fedora, they are available from a COPR.

What software is yabridge compatible with?

The README's tested table lists Bitwig Studio 6.0, REAPER 7.12, Carla 2.5.5, Qtractor 0.9.29, Renoise 3.4.3, Waveform 12.1.3, Ardour 8.1 and Mixbus 7.0.140, tested under Wine Staging 9.21. Carla, Renoise, Waveform, Ardour and Mixbus do not support CLAP, and Qtractor and Ardour carry VST3 caveats.

How do I use yabridge with REAPER?

REAPER 7.12 appears in the README's tested table with checkmarks for VST2, VST3 and CLAP. The general workflow applies: install Wine Staging, extract yabridge into ~/.local/share, point yabridgectl at your plugin directories with `yabridgectl add`, then run `yabridgectl sync` and let REAPER rescan its plugin folders.

Official sources

  1. Issues
  2. License: GPL-3.0
  3. README
  4. Releases
  5. robbert-vdh/yabridge on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/robbert-vdh-yabridge.svg)](https://hysenlabs.com/projects/robbert-vdh-yabridge)