Trying to install a VST in a Linux DAW (Steam Deck)

Playing with Ardour and LMMS, and maybe zrythm. First Ardour.

First issue is the window doesn’t seem to let you resize smaller like 900px wide which is larger than the default steam deck resolution (1280x800) so part of the horizontal is always chopped off. Was able to resolve by dropping UI scale by 1 tick (90%): Edit > Preferences > Size and Scale

I want some reverb. So first VST to try - Valhalla Supermassive (free, not open)
Only has a mac and windows installer. Tried to unzip but no go so installed in windows VM. Unsure if I need v2 or v3 but by default they installed to:
C:\Program Files\Common Files\VST2\ValhallaSupermassive_x64.dll
C:\Program Files\Common Files\VST3\ValhallaSupermassive.vst3

Edit > Preferences > Plugins > VST
Ardour by default looks in: /app/extensions/Plugins/vst but I can’t seem to find this folder anywhere. Is it because flatpack?

These docs say host application expects VST 3 plug-ins to be located in:

Prio	Location	Path
1	    User	    $HOME/.vst3/
2	    Global	    /usr/lib/vst3/
3	    Global	    /usr/local/lib/vst3/
4	    Application	$APPFOLDER/vst3/

Made a new folder in home mkdir .vst3/
Dropping ValhallaSupermassive.vst3 extracted from the windows install into /$HOME/.vst3/

This does make SuperMassive show up in the plugins list.

Unfortunately this fails with: invalid ELF header

VST3 module-path '/home/deck/.vst3/ValhallaSupermassive.vst3'
[Info]: Scanning: /home/deck/.vst3/ValhallaSupermassive.vst3
[ERROR]: Could not load VST3 plugin '/home/deck/.vst3/ValhallaSupermassive.vst3': /home/deck/.vst3/ValhallaSupermassive.vst3: invalid ELF header
Cannot load VST3 module: '/home/deck/.vst3/ValhallaSupermassive.vst3'

:frowning:
Hmm, may not be compatible (similar issue in a different DAW, but I think it’s the exact same root issue): invalid ELF header errors in Reaper · Issue #13 · osxmidi/LinVst3 · GitHub


Found a great resource for open audio. Maybe I’ll have better luck with one of these:

I don’t see an Octave pedal VST. I am a big fan of MBassador. Would love to have something similar on Linux. Maybe to add to my never ending list of projects: make an octave pedal VST

You could try running distrobox on your Steamdeck and setup complex or difficult programs this way. It also runs gui apps with HW acceleration and I think it has HW access to everything on your Steamdeck (otherwise permissions can be granted) - I used it to run Solaar before it got a flatpack release. It also alows you to export applications to make desktop starter / links available in Desktop mode.

Hmm, I don’t think distrobox will solve this particular VST compatibility issue. Those are mostly linux tools and this seems to be a windows file format issue.

Wine might work, but I’d prefer native solutions as I have found audio latency issues with wine in the past. Maybe its better these days?


It complains about the ELF header. It fails to find the magic number in the first 4 bytes:

0x7F 'E' 'L' 'F'

Which makes sense because this VST is DOS MZ, not ELF.


But it looks like I can use this bridge wrapper compatibility layer thingy from the issue linked earlier. (I didn’t realize I was looking at the potential solution, I misread initially and thought it was a Reaper only tool.)

It says in the test VST plugins docs that valhalla is supported. Will try setting this up tomorrow…

Alternatively, yabridge might work:

Turns out this is not such a trivial process…

Ok. So looks like both LinVST3 and yabridge are wine based, no escaping wine then.

yabridge appears more supported so will try that first.

I see it in the official repo’s on manjaro, and in the AUR. But not on the steam deck store.

Hmm. it seems like flatpack itself is now getting in my way…

You would need to package both Wine and yabridge in such a way that they can run inside of the Flatpak runtime. One crucial issue with using Flatpak for these things remains that it was always meant to sandbox individual applications, while DAW usage often involves integrating many separate components such as plugins (which include things like yabridge and hardware-specific plugins that depend on other applications running on the same system) and connected hardware. So I’m still not convinced that distributing DAWs through Flatpak is the correct solution to the packaging problem, but that’s a different matter entirely of course. :smile:

Looks like wine + yabridge + vst + DAW need to exist in same flatpack runtime.

Looks like Wine is available as a flatpak.

How would one go about repackaging this so they share a runtime?

Maybe distrobox is the way. Install everything in that instead of fighting with flatpacks?

That’s what I‘ve read from developers running entire development environments within it. You can also run different distributions side by side if you want to try different solutions.

1 Like