<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Daw on Max Bonnefin</title><link>https://bonnef.in/tags/daw/</link><description>Recent content in Daw on Max Bonnefin</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>max@bonnef.in (Max Bonnefin)</managingEditor><webMaster>max@bonnef.in (Max Bonnefin)</webMaster><copyright>Max Bonnefin</copyright><lastBuildDate>Fri, 26 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://bonnef.in/tags/daw/index.xml" rel="self" type="application/rss+xml"/><item><title>Windows VSTs on Linux with Yabridge, Wine and REAPER</title><link>https://bonnef.in/posts/linux-music-production/</link><pubDate>Fri, 26 Jun 2026 00:00:00 +0000</pubDate><author>max@bonnef.in (Max Bonnefin)</author><guid>https://bonnef.in/posts/linux-music-production/</guid><description>&lt;p&gt;Linux audio has a reputation. Mention it to any music producer and watch them wince. The reputation is earned. Between &lt;a href="https://www.alsa-project.org/" class="external-link" target="_blank" rel="noopener"&gt;ALSA&lt;/a&gt;, &lt;a href="https://www.freedesktop.org/wiki/Software/PulseAudio/" class="external-link" target="_blank" rel="noopener"&gt;PulseAudio&lt;/a&gt;, &lt;a href="https://pipewire.org/" class="external-link" target="_blank" rel="noopener"&gt;PipeWire&lt;/a&gt;, &lt;a href="https://jackaudio.org/" class="external-link" target="_blank" rel="noopener"&gt;JACK&lt;/a&gt;, and whatever else has emerged since I last checked, the plumbing beneath Linux audio is a mess of competing subsystems with overlapping responsibilities and inconsistent documentation.&lt;/p&gt;
&lt;p&gt;Once configured correctly, Linux is a genuinely capable music production environment. Low latency, stable, no forced updates rebooting your machine mid-session. The problem is getting there. Specifically, the problem is that 90% of professional audio plugins ship as Windows VSTs and nothing else.&lt;/p&gt;
&lt;p&gt;This is the configuration that works for me. It took a bit of trial and error, scattered forum posts and abandoned GitHub issues to assemble. I&amp;rsquo;m documenting it here to make it easier for the next guy.&lt;/p&gt;
&lt;h2 id="the-stack"&gt;
The Stack
&lt;a class="heading-link" href="#the-stack"&gt;
&lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
&lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
&lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;OS&lt;/strong&gt;: Debian 13 (Trixie)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DAW&lt;/strong&gt;: &lt;a href="https://www.reaper.fm/" class="external-link" target="_blank" rel="noopener"&gt;REAPER&lt;/a&gt; (native Linux build, installed to &lt;code&gt;/opt/REAPER/&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Audio backend&lt;/strong&gt;: PulseAudio with ALSA&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Plugin bridge&lt;/strong&gt;: &lt;a href="https://github.com/robbert-vdh/yabridge" class="external-link" target="_blank" rel="noopener"&gt;Yabridge&lt;/a&gt; (bridges Windows VSTs into Linux DAWs)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Wine&lt;/strong&gt;: wine-staging 11.11 (provides the Windows runtime environment that plugins execute in)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;REAPER is the only professional DAW with a native Linux build that doesn&amp;rsquo;t feel like an afterthought or a compromise (&lt;a href="https://www.bitwig.com/" class="external-link" target="_blank" rel="noopener"&gt;Bitwig&lt;/a&gt; also has native Linux support, but it&amp;rsquo;s geared more toward electronic and loop-based production). It&amp;rsquo;s also the cheapest by a wide margin (and with a very generous neverending evaluation period à la WinRAR).&lt;/p&gt;
&lt;p&gt;Don&amp;rsquo;t let the price fool you into thinking it&amp;rsquo;s a toy. &lt;a href="https://joshschroeder.com/" class="external-link" target="_blank" rel="noopener"&gt;Josh Schroeder&lt;/a&gt; (&lt;a href="https://en.wikipedia.org/wiki/King_810" class="external-link" target="_blank" rel="noopener"&gt;King 810&lt;/a&gt;, &lt;a href="https://en.wikipedia.org/wiki/Lorna_Shore" class="external-link" target="_blank" rel="noopener"&gt;Lorna Shore&lt;/a&gt; etc.) produced a bunch of &lt;a href="https://joshschroeder.com/discography/" class="external-link" target="_blank" rel="noopener"&gt;great albums&lt;/a&gt; in REAPER. &lt;a href="https://odeholm-audio.com/pages/buster-odeholm" class="external-link" target="_blank" rel="noopener"&gt;Buster Odeholm&lt;/a&gt; (&lt;a href="https://en.wikipedia.org/wiki/Thrown_%28band%29" class="external-link" target="_blank" rel="noopener"&gt;Thrown&lt;/a&gt;, &lt;a href="https://en.wikipedia.org/wiki/Humanity%27s_Last_Breath" class="external-link" target="_blank" rel="noopener"&gt;Humanity&amp;rsquo;s Last Breath&lt;/a&gt;, &lt;a href="https://en.wikipedia.org/wiki/Vildhjarta" class="external-link" target="_blank" rel="noopener"&gt;Vildhjarta&lt;/a&gt;) produces, mixes and runs his entire live rig through it due to its stability. The native Linux version runs identically to the Windows build; same interface, same plugin handling, same project files.&lt;/p&gt;
&lt;h2 id="why-not-just-dual-boot"&gt;
Why Not Just Dual-Boot?
&lt;a class="heading-link" href="#why-not-just-dual-boot"&gt;
&lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
&lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The workflow is miserable. Inspiration strikes, you reboot into Windows, wait for updates, open your DAW, and by the time you&amp;rsquo;re ready to record the idea has evaporated. Having everything in one OS removes that friction entirely. Plus I love Linux and would vastly prefer to use it if possible.&lt;/p&gt;
&lt;p&gt;The alternative is running Windows in a VM with GPU passthrough, but that requires specific hardware (two GPUs, IOMMU support) and introduces its own latency problems with audio. Yabridge is simpler and lighter.&lt;/p&gt;
&lt;h2 id="audio-backend"&gt;
Audio Backend
&lt;a class="heading-link" href="#audio-backend"&gt;
&lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
&lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m running PulseAudio on Debian 13. Despite Trixie shipping with &lt;a href="https://pipewire.org/" class="external-link" target="_blank" rel="noopener"&gt;PipeWire&lt;/a&gt; as the default for most desktop environments, some installations still end up on PulseAudio. Either works. REAPER connects via ALSA, which PulseAudio sits on top of.&lt;/p&gt;
&lt;p&gt;For low latency, set your buffer size in REAPER to 256 samples at 48kHz. That gives you roughly 5ms round-trip latency, comfortable for tracking live instruments. Drop to 128 if your machine handles it without xruns.&lt;/p&gt;
&lt;p&gt;If you want PipeWire (which provides native JACK compatibility, useful for REAPER), it&amp;rsquo;s a drop-in replacement:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install pipewire pipewire-pulse pipewire-jack wireplumber
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl --user disable pulseaudio
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl --user enable pipewire pipewire-pulse wireplumber
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;With PipeWire you can set REAPER&amp;rsquo;s audio device to JACK instead of ALSA, which gives you more routing flexibility. I&amp;rsquo;ll probably switch at some point soon. It&amp;rsquo;s the future of Linux audio. PulseAudio has been doing the job fine so far, though.&lt;/p&gt;
&lt;h2 id="installing-wine"&gt;
Installing Wine
&lt;a class="heading-link" href="#installing-wine"&gt;
&lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
&lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Yabridge needs Wine to run. The plugins are Windows binaries; Wine provides the runtime they execute in. Debian&amp;rsquo;s default Wine packages are ancient, so add the &lt;a href="https://www.winehq.org/" class="external-link" target="_blank" rel="noopener"&gt;WineHQ&lt;/a&gt; repository for wine-staging&lt;sup id="fnref:1"&gt;&lt;a href="#fn:1" class="footnote-ref" role="doc-noteref"&gt;1&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo dpkg --add-architecture i386
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo mkdir -pm755 /etc/apt/keyrings
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/debian/dists/trixie/winehq-trixie.sources
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install winehq-staging winetricks
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I use the default Wine prefix (&lt;code&gt;~/.wine&lt;/code&gt;) for everything, plugins included. Some guides recommend a separate prefix for audio, but I&amp;rsquo;ve found it creates more problems than it solves when plugins need to share runtime libraries.&lt;/p&gt;
&lt;p&gt;Initialise the prefix and install common dependencies:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wineboot -u
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;winetricks -q vcrun2019 dotnet48 gdiplus corefonts
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;vcrun2019&lt;/code&gt; package alone fixes about 60% of plugin installation failures. Most modern Windows VSTs are compiled against the Visual C++ 2019 runtime and won&amp;rsquo;t load without it.&lt;/p&gt;
&lt;h2 id="installing-reaper"&gt;
Installing REAPER
&lt;a class="heading-link" href="#installing-reaper"&gt;
&lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
&lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;REAPER&amp;rsquo;s Linux install is a tarball with a shell script. No package manager, no dependencies beyond basic X11 and ALSA libraries:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget https://www.reaper.fm/files/7.x/reaper7XX_linux_x86_64.tar.xz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tar -xf reaper7XX_linux_x86_64.tar.xz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd reaper_linux_x86_64
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo ./install-reaper.sh --install /opt --integrate-desktop
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This drops it into &lt;code&gt;/opt/REAPER/&lt;/code&gt; and creates a desktop entry. Launch with &lt;code&gt;reaper&lt;/code&gt; from the terminal or your application menu.&lt;/p&gt;
&lt;p&gt;In REAPER&amp;rsquo;s audio preferences, set the device to ALSA. PulseAudio handles the routing from there.&lt;/p&gt;
&lt;h2 id="yabridge-the-actual-bridge"&gt;
Yabridge: The Actual Bridge
&lt;a class="heading-link" href="#yabridge-the-actual-bridge"&gt;
&lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
&lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://github.com/robbert-vdh/yabridge" class="external-link" target="_blank" rel="noopener"&gt;Yabridge&lt;/a&gt; creates Linux-native VST plugin files that, when loaded by REAPER, communicate with the actual Windows plugin running inside Wine. The DAW never knows the difference.&lt;/p&gt;
&lt;p&gt;On Debian, the easiest install method is grabbing the latest release from GitHub&lt;sup id="fnref:2"&gt;&lt;a href="#fn:2" class="footnote-ref" role="doc-noteref"&gt;2&lt;/a&gt;&lt;/sup&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;# Download the latest release&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wget https://github.com/robbert-vdh/yabridge/releases/download/5.1.1/yabridge-5.1.1.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;tar -xf yabridge-5.1.1.tar.gz -C ~/.local/share/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Add it to your PATH in &lt;code&gt;~/.bashrc&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export &lt;span style="color:#79c0ff"&gt;PATH&lt;/span&gt;&lt;span style="color:#ff7b72;font-weight:bold"&gt;=&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$HOME&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;/.local/share/yabridge:&lt;/span&gt;&lt;span style="color:#79c0ff"&gt;$PATH&lt;/span&gt;&lt;span style="color:#a5d6ff"&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Configure it to point at your Windows plugin directories. I also keep a &lt;code&gt;~/vst-windows&lt;/code&gt; directory for plugins that don&amp;rsquo;t have an installer or where I want manual control over placement. Some freeware VSTs ship as a bare &lt;code&gt;.dll&lt;/code&gt; or &lt;code&gt;.vst3&lt;/code&gt; folder; just drop them in there.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-toml" data-lang="toml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#8b949e;font-style:italic"&gt;# ~/.config/yabridgectl/config.toml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;plugin_dirs = [
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/home/max/.wine/drive_c/Program Files/Common Files/VST3&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#a5d6ff"&gt;&amp;#39;/home/max/.wine/drive_c/Program Files/Steinberg/VSTPlugins&amp;#39;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#8b949e;font-style:italic"&gt;# ... any other directories where your plugins install to&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;]
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;vst2_location = &lt;span style="color:#a5d6ff"&gt;&amp;#39;centralized&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then sync:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;yabridgectl sync
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This scans the configured directories, finds every Windows VST/VST3/CLAP plugin, and creates corresponding Linux-native &lt;code&gt;.so&lt;/code&gt; files.&lt;/p&gt;
&lt;p&gt;To install new plugins, run the installer through Wine as you would on Windows:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#e6edf3;background-color:#0d1117;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;wine ~/Downloads/PluginInstaller.exe
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then run &lt;code&gt;yabridgectl sync&lt;/code&gt; again and tell REAPER to re-scan its plugin paths. The new plugins appear.&lt;/p&gt;
&lt;p&gt;Most plugins install without issue. The ones that cause problems are typically those with aggressive copy protection (iLok-based plugins are hit or miss) or custom GUI frameworks that don&amp;rsquo;t render correctly under Wine.&lt;/p&gt;
&lt;h2 id="what-works-what-doesnt"&gt;
What Works, What Doesn&amp;rsquo;t
&lt;a class="heading-link" href="#what-works-what-doesnt"&gt;
&lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
&lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
&lt;/a&gt;
&lt;/h2&gt;
&lt;img
src="https://bonnef.in/images/posts/reaper-linux.webp"
alt="REAPER running on Debian with Windows VST plugins bridged via Yabridge"
loading="lazy"
width="600"
style="max-width: min(100%, 600px); height: auto; display: block; margin: 0 auto;"
class="responsive-image"
&gt;
&lt;p&gt;Most plugins work without issue. &lt;a href="https://valhalladsp.com/shop/reverb/valhalla-supermassive/" class="external-link" target="_blank" rel="noopener"&gt;Valhalla Supermassive&lt;/a&gt;, &lt;a href="https://www.neuralampmodeler.com/" class="external-link" target="_blank" rel="noopener"&gt;Neural Amp Modeler&lt;/a&gt;, &lt;a href="https://www.tokyodawn.net/tdr-nova/" class="external-link" target="_blank" rel="noopener"&gt;TDR Nova&lt;/a&gt;, &lt;a href="https://www.powerdrumkit.com/" class="external-link" target="_blank" rel="noopener"&gt;MT-PowerDrumKit&lt;/a&gt;, &lt;a href="https://trackbout.com/ripchord" class="external-link" target="_blank" rel="noopener"&gt;Ripchord&lt;/a&gt;, &lt;a href="https://www.antarestech.com/" class="external-link" target="_blank" rel="noopener"&gt;Auto-Tune&lt;/a&gt; (the full Antares suite), and &lt;a href="https://www.amplesound.net/en/pro-pd.asp?id=7" class="external-link" target="_blank" rel="noopener"&gt;Ample Guitar M Lite 2&lt;/a&gt; all run perfectly. &lt;a href="https://juce.com/" class="external-link" target="_blank" rel="noopener"&gt;JUCE&lt;/a&gt;-based plugins tend to work well across the board.&lt;/p&gt;
&lt;p&gt;The failures are predictable: plugins with aggressive DRM or phone-home activation sometimes can&amp;rsquo;t get through Wine&amp;rsquo;s networking stack. Some GUIs have minor rendering glitches. Nothing that&amp;rsquo;s stopped me from working.&lt;/p&gt;
&lt;h2 id="latency-and-performance"&gt;
Latency and Performance
&lt;a class="heading-link" href="#latency-and-performance"&gt;
&lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
&lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The bridging adds negligible latency. Yabridge communicates between the Linux host and Wine guest via shared memory and UNIX sockets. In practice, less than 1ms of additional latency from the bridge itself, far below the audio buffer latency.&lt;/p&gt;
&lt;p&gt;CPU overhead is slightly higher than native plugins because Wine&amp;rsquo;s translation layer adds some cost to every Windows API call. For most plugins this is invisible. Extremely CPU-heavy synths with high unison counts are maybe 10-15% more expensive than they&amp;rsquo;d be on native Windows. Still usable, just worth noting if you&amp;rsquo;re stacking many instances.&lt;/p&gt;
&lt;h2 id="the-gotchas"&gt;
The Gotchas
&lt;a class="heading-link" href="#the-gotchas"&gt;
&lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
&lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Wine prefix corruption&lt;/strong&gt;: If a plugin installer goes wrong, it can corrupt the prefix. I&amp;rsquo;ve had to nuke &lt;code&gt;~/.wine&lt;/code&gt; and rebuild from scratch once. Keep a backup of your prefix once you have a stable setup, or at minimum note down every winetricks verb and plugin you installed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Plugin GUI scaling&lt;/strong&gt;: HiDPI displays can cause problems. I&amp;rsquo;ve run into scaling issues with some plugins where they will render at 1x scale inside a 2x window, appearing tiny. Others render correctly. There&amp;rsquo;s no universal fix I&amp;rsquo;m aware of; it&amp;rsquo;s per-plugin.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;REAPER&amp;rsquo;s plugin scan&lt;/strong&gt;: After running &lt;code&gt;yabridgectl sync&lt;/code&gt;, tell REAPER to re-scan its plugin paths. It won&amp;rsquo;t detect new bridged plugins automatically.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Wine updates&lt;/strong&gt;: A Wine update can break previously working plugins. Pin your wine-staging version once things work, and only update deliberately. On Debian this means &lt;code&gt;sudo apt-mark hold winehq-staging wine-staging wine-staging-amd64 wine-staging-i386&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Shared prefix with games&lt;/strong&gt;: I&amp;rsquo;m not much of a gamer anymore, but if you are then this is something to watch out for. My Wine prefix also runs Old School RuneScape via the Jagex Launcher. This hasn&amp;rsquo;t caused conflicts with audio plugins, but be aware that game-specific winetricks (like DirectX overrides) could theoretically interfere. If things get weird, a separate prefix for games is the safer option.&lt;/p&gt;
&lt;h2 id="is-it-worth-it"&gt;
Is It Worth It?
&lt;a class="heading-link" href="#is-it-worth-it"&gt;
&lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
&lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;For me, yes. I enjoy making music and I&amp;rsquo;m not willing to run Windows as my daily driver or even dual-boot just for a DAW. The initial setup takes a few hours. After that, the experience is surprisingly normal. Open REAPER, load plugins, make music.&lt;/p&gt;
&lt;p&gt;If you only produce music occasionally and have a Windows machine available that you don&amp;rsquo;t mind using, the effort probably isn&amp;rsquo;t justified. For a Linux user who wants a single-OS workflow for everything including music production, this is the setup that&amp;rsquo;s working for me.&lt;/p&gt;
&lt;div class="footnotes" role="doc-endnotes"&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id="fn:1"&gt;
&lt;p&gt;&lt;a href="https://wiki.winehq.org/Debian" class="external-link" target="_blank" rel="noopener"&gt;WineHQ Debian installation guide&lt;/a&gt; for the most up-to-date repository instructions.&amp;#160;&lt;a href="#fnref:1" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id="fn:2"&gt;
&lt;p&gt;&lt;a href="https://github.com/robbert-vdh/yabridge/releases" class="external-link" target="_blank" rel="noopener"&gt;Yabridge GitHub releases&lt;/a&gt; for the latest version. Check here before using the version number in this post.&amp;#160;&lt;a href="#fnref:2" class="footnote-backref" role="doc-backlink"&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description></item></channel></rss>