Skip to content

v0.2.11 - NixOS support

Choose a tag to compare

@JaySNL JaySNL released this 04 Sep 23:35
· 9 commits to main since this release

NixOS support — and a tag that Nix can actually build.

If you are not on NixOS, skip this one

The library is unchanged. Nothing under src/ differs from v0.2.10, and the binaries here are
byte-identical — same sha256, verified by rebuilding from the new tag rather than copied
forward. There is no reason to re-download.

What is new

A flake, contributed by @mogorman in
#1:

nix build github:JaySNL/VSTForResolveLinux/v0.2.11
nix run  github:JaySNL/VSTForResolveLinux/v0.2.11#bmdaudioplugins-install

The first builds the bridge and the scanner. The second writes BMDPlugins.Path into
config-fairlight.dat for you, with a backup, the same way build.sh does elsewhere.

Third-party sources are pinned by revision and hash, matching this repo's own submodules, and the
Resolve path the bridge dlopens is rewritten to the Nix store path at build time.

Why it needed a version number

v0.2.10 was tagged before the flake was merged, so
nix build github:JaySNL/VSTForResolveLinux/v0.2.10 fails with no flake.nix. Without this tag a
Nix user has to pin main, which moves under them. That is the entire reason this release exists.

Corrections made to the contribution

Three, pushed on top and confirmed working by the contributor afterwards:

  • The checkPhase that refuses a library with unresolved symbols never ranstdenv only
    runs it when doCheck is set. That guard matters: this library links cleanly against a private
    ABI and can still carry symbols that fail only at dlopen.
  • aarch64-linux was advertised and cannot work. src/proxy.cpp carries hand-written x86-64
    assembly, and the Resolve vtable offsets the bridge patches are x86-64 layout.
  • The installer's "is Resolve running" guard matched /opt/resolve/bin/resolve — the exact path
    the flake rewrites because NixOS does not have it. So on NixOS it never fired, and Resolve
    rewrites its config on quit, which would have eaten the change silently.

Known, unchanged from v0.2.10

  • The locate forwarding is off by default. FXBRIDGE_RESET=1 re-enables it and can crash a
    VST2 through yabridge on project load.
  • A short silence when playback starts with a high-latency plugin. Exports are unaffected.
  • A plugin that changes its latency mid-session may not be re-compensated until the project is
    reopened.

The binaries

Built from the v0.2.11 tag in an Ubuntu 20.04 sandbox. libfxbridge.so floors at GLIBC_2.16.

8cb1a531772366d883f1ba8275e9da997f5dba61a0f284a9c1e0e1b9e569b014  libfxbridge.so
fcfcbb900031198219887721a3c40eee2cd01ae75b7d0215eceb1d5b3ac4ff90  fxbridge-scan