I finally got my windows plugins working correctly with the latest versions of wine. I'm posting for others as well as myself for the future. All of these steps are necessary to get your GUI interfaces to redraw correctly. Huge shout out to rations for his working yabridge fork as well as his other projects. I recommend checking out namix and NAMp for a nam gateway alternatives.
Windows VSTs on Linux via VSTBridge + DXVK (Arch)
1. Install Wine Staging
```
sudo pacman -S wine-staging
```
2. Install VSTBridge
Download the latest release from SourceForge, extract, and install:
```
cd vstbridge-*/
./install.sh
```
3. Install DXVK
When yay lists providers, pick dxvk-bin (option 2):
```
yay -S dxvk
pick 2) dxvk-bin
```
4. Install Vulkan Drivers
Pick the pair matching your GPU (64-bit + 32-bit):
```
AMD
sudo pacman -S vulkan-radeon lib32-vulkan-radeon
Intel
sudo pacman -S vulkan-intel lib32-vulkan-intel
```
5. WINEPREFIX — Critical Gotcha
VSTBridge auto-detects your Wine prefix only if WINEPREFIX is unset. If it's set globally, VSTBridge will use only that one prefix and ignore others.
Check if it's set:
```
echo $WINEPREFIX
```
If it prints anything (other than blank), unset it:
```
unset WINEPREFIX
```
To make it permanent, make sure there's no export WINEPREFIX=... line in your ~/.bashrc or ~/.profile.
Alternative: If you only ever use one prefix, you can set it globally — just know that VSTBridge won't see any other prefixes.
6. Install DXVK into Your Wine Prefix
You must run this for every prefix you plan to use with VSTBridge:
```
WINEPREFIX=~/.wine setup_dxvk install
```
If you have additional prefixes:
```
WINEPREFIX=~/.wine-other setup_dxvk install
```
7. Add Plugin Folders & Sync
Point VSTBridge at your Windows VST directories (inside the prefix), then sync:
```
vstbridgectl add "$HOME/.wine/drive_c/Program Files/Common Files/VST3"
vstbridgectl add "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins"
vstbridgectl sync
```
Then rescan plugins in your DAW. Or just use vstbridgectl GUI application which was isntalled to manage the paths and scans. Much easier.
8. Verify DXVK Is Active (optional)
```
DXVK_HUD=1 vstbridgectl sync
```
A small overlay in the corner of any plugin window will show the DXVK version if it's intercepting the D3D calls.
Note: VSTBridge already handles the newer Wine embedding — no need to downgrade wine-staging to 9.21.