dragonflight/sdk/ndi/README.md
Zac Gaetano fffff1c016 feat(cluster): install capture-card drivers/SDKs from the admin screen
Per-node "Capture Drivers / SDKs" panel installs Blackmagic / AJA / Deltacast
/ NDI drivers without SSH. node-agent gains NODE_TOKEN-gated /driver/install
+ /driver/status (spawns a one-shot privileged ubuntu container that bind-
mounts host kernel paths + the repo and runs deploy/install-driver.sh);
mam-api adds admin-gated /cluster/:id/install-driver + /driver-status.
Driver files live in-repo under sdk/<vendor>/ (private repo); binaries are
admin-supplied per each sdk/<vendor>/README.md. Vendor allowlist throughout.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 18:14:59 -04:00

1.4 KiB

NDI redistributable runtime

Drop the NDI runtime redistributable shared libraries into this directory. NDI has no kernel module — it is purely user-space shared libraries, so this is the lowest-risk install (no DKMS, no reboot).

Required files

File Notes
libndi.so.* The versioned NDI runtime shared object, e.g. libndi.so.6. Required.
libndi.so (optional) Dev symlink. The installer recreates it if absent.

You may instead drop the whole NDI SDK / Advanced SDK lib/x86_64-linux-gnu/ directory contents here; the installer copies every libndi*.so* it finds.

Example name: libndi.so.6.1.1

Where to get it

NDI → Tools / SDK download (NDI 6 SDK or NDI Advanced SDK for Linux). The runtime libs live under lib/x86_64-linux-gnu/ in the SDK. Per the NDI licence the runtime is redistributable within your own product only — keep it in this private repo, do not publish it.

What the install script does

  1. Copies every libndi*.so* from here into /opt/ndi-lib.
  2. Writes /etc/ld.so.conf.d/ndi.conf pointing at /opt/ndi-lib and runs ldconfig.
  3. Recreates the libndi.solibndi.so.<N> dev symlink if missing.
  4. Verifies ldconfig -p | grep libndi resolves.

No reboot required. Running processes that already loaded an old libndi must be restarted to pick up the new version — the script notes this.