The plugin catalog is empty

Symptom

The plugin picker offers nothing, or a small fraction of what you expected. The rack and the insert chains work but have nothing to insert.

The desk itself is unaffected: faders, EQ, gate, compressor, buses and routing are all native and need no plugins at all.

Cause 1: no LV2 plugins are installed

The catalog lists plugins that exist on the machine. A fresh install has none unless you asked for them.

sudo dnf install openmixer-plugins-live
systemctl --user restart openmixer-server

Other curated sets are available (-live-extra, -studio, …); each is a meta-package that pulls in the LV2 plugin RPMs it covers.

Cause 2: the catalog data file is not being found

The catalog is a committed data file shipped inside the catalog package — not a scan performed on your machine at start-up. The server resolves it relative to that package.

An explicit path overrides it:

  • rig.catalog in /etc/openmixer/config.json
  • the OPENMIXER_CATALOG environment variable

If either points somewhere that does not exist, you get an empty catalog. Check both, and remove the override if you did not mean to set one.

grep -n catalog /etc/openmixer/config.json
systemctl --user show-environment | grep OPENMIXER_CATALOG

Cause 3: the plugins are installed but not where LV2 looks

lv2ls | head
echo "$LV2_PATH"
ls /usr/lib64/lv2

lv2ls listing nothing while /usr/lib64/lv2 has content means LV2_PATH is set to something that excludes the system directory. Unset it, or include the system path.

Plugins installed outside the package manager — built by hand into ~/.lv2 — are visible to lv2ls but are not in the shipped catalog, which lists a curated set. They are not missing; they were never listed.

Cause 4: it is a curated list, not everything you have

The catalog is deliberately curated: a chosen set, grouped by role, with a latency figure per plugin so live-unsafe processing can be sorted or hidden. A plugin installed on the machine but absent from the curated list will not appear.

This is a product decision, not a fault. The set is regenerated and reviewed when the curation changes.

Verifying

After a fix, restart the server and re-open the picker:

systemctl --user restart openmixer-server
journalctl --user -u openmixer-server -n 50 --no-pager

The catalog is loaded at start-up, so a plugin installed while the server is running will not appear until it restarts.