While using Zynthian ORAM, I tried to open the graphical interface of some LV2 plugins directly from the Zynthian GUI, but the interface would not open.
The plugins were installed correctly and working, but Zynthian was launching them without their native graphical interface.
After investigating, I found that some plugins were configured in engine_config.json with:
"UI": null
even though they provided a native X11 GUI.
Changing this value to:
"UI": "X11UI"
allowed Zynthian to launch the plugin’s native graphical interface.
This solution does not require modifying Zynthian source code.
Step 1 - Backup the configuration file
Before making any changes:
cp /zynthian/config/engine_config.json /zynthian/config/engine_config.json.bak
Step 2 - Edit the plugin configuration
Open:
/zynthian/config/engine_config.json
Find the plugin entry you want to modify.
Example:
Before:
{
"NAME": "Plugin Name",
"UI": null
}
Change to:
{
"NAME": "Plugin Name",
"UI": "X11UI"
}
Save the file.
Step 3 - Restart Zynthian
systemctl restart zynthian
After restarting, the plugin should launch using its native graphical interface.
Tested plugins
The following plugins were tested successfully:
-
x42 IR Convolver Stereo
-
Dragonfly Reverb
-
LSP Parametric Equalizer
-
LSP Multiband Compressor
All of them opened their native GUI after changing:
"UI": null
to:
"UI": "X11UI"
Why does this work?
Zynthian uses the UI field in engine_config.json to decide how to launch an LV2 plugin interface.
When the field is:
"UI": null
the plugin runs without trying to open its native GUI.
When changed to:
"UI": "X11UI"
Zynthian launches the plugin using its X11 interface.
Notes
-
Tested on Zynthian ORAM.
-
This should work for LV2 plugins that include a compatible X11 native GUI.
-
Plugins without a native GUI will not be affected.
-
Always create a backup before editing configuration files.
Need help?
If you are not comfortable editing engine_config.json, you can paste this guide into ChatGPT and ask it to guide you step by step.
ChatGPT can help you:
-
create a backup;
-
locate the correct plugin entry;
-
modify the
UIfield safely; -
verify the change;
-
restore the original configuration if needed.
