VST plugins fail to render interface display
Operating System Info
Other
Other OS
Arch Linux ; Linux kernel version 6.3.9
OBS Studio Version
29.1.3
OBS Studio Version (Other)
No response
OBS Studio Log URL
https://obsproject.com/logs/xiBrhbOL61ckuoyK
OBS Studio Crash Log URL
No response
Expected Behavior
I expect to be able to view the plugin's interface to modify the effect settings for use in OBS.
Current Behavior
A window is created, but it fails to render anything. It instead "appears" transparent as the only thing rendered is whatever was behind the window during its creation.
Additionally, on some plugins, if the user closes the plugin window directly, the UI fails to update the "Close Plug-In Interface" button.
Steps to Reproduce
Add an audio input capture source. Open the source filters, add a VST 2.0 plugin filter. Select a known working VST 2.0 plugin from the dropdown menu. (Verify in the program output that the plugin loaded successfully.) Select "Open Plug-In Interface". Observe that the generated window is unusable.
Anything else we should know?
I built my OBS from source as the Arch package does not come bundled with the browser source or web socket functionality, my build includes both of these. Additionally, I have built a number of plugins from source, though including or excluding any number of these third party plugins appears to have no impact on the issue. I have modified none of the OBS/libobs source code itself, however.
I am running the latest version of KDE, however my kernel has not been updated due to a bug with my graphics card currently present in 6.4+
I have tested this with KDE running in both XOrg and Wayland. The described result happens with either display server, while forcing OBS to run in XWayland via the parameter -platform xcb or the environment variable QT_QPA_PLATFORM=xcb. However, when attempting to run OBS in wayland, the plugin interface windows fail to generate entirely.
It is apparent that the VST filter itself is functional. Monitoring my microphone output with any of these plugins allows its effect to be heard.
I have generally tested with the VST plugins available at this link: https://github.com/DISTRHO/DPF-Plugins However, I also briefly attempted to use reaper ReaPlugs plugins which all appeared to crash OBS on load, as well as a couple windows plugins via LinVST.
Please let me know if I can provide any further information, this is my first issue report and I may have missed something!
Could you try running either the official Flatpak or the obs-studio-tytan652 AUR packages? Unlike the default Arch package, those have VST enabled.
Issue already opened #9314
I get similar behaviour with the plugins from https://github.com/DISTRHO/DPF-Plugins, e.g. the 3-Band EQ VST
Or the Ping Pong Pan VST freezes upon start up (it does, however, render an interface):
Other DISTRO plugins fail in other ways, too, e.g. the bitcrush:
warning: VST Plug-in: Can't support edit feature. '/home/stephematician/.vst/DPF-Plugins-v1.7/MaBitcrush-vst.so'
These plugins all seem to work in Element https://gitlab.com/kushview/element - so I'm stumped.
I have a similar problem with OBS on Steam Deck (with SteamOS now based on Arch). I installed OBS via flatpak. Same window glitch, and the additional problem of only one installed VST showing up in the list (VSTs were installed with flatpak as well).
Tried:
- specifying VST_PATH with flatseal
- manually copying .so files into the path
- tried with all free Linux VSTs available
I'd like to add that this happens with all LSP VST plug-ins as well.
info: User added filter 'VST 2.x Plug-in' (vst_filter) to source 'Audio Input Capture (PipeWire)'
warning: QFSFileEngine::open: No file name specified
info: User selected new VST plugin: '/usr/lib/vst/lsp-plugins.vst/gate-lr.so'
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 3 (X_GetWindowAttributes)
Resource id in failed request: 0xf
Serial number of failed request: 717
Current serial number in output stream: 718
terminate called without an active exception
Aborted (core dumped)
I'm on Wayland, it looks like it wants to open a XWayland/X11 window.
Ok I found "a" solution:
QT_SCALE_FACTOR=0.5 QT_QPA_PLATFORM=xcb obs
You might need to change the scale factor to essentially bring it down to a 1 scale, my scale is set to 2 so I set it to 0.5. Using xcb makes it possible for VST's to open a window... but this new window then honors scaling as it should.
So this might be a fix for some of you, but if you need display scaling to even be able to read anything on the screen you might not be as happy.
Just wanted to say I have the same issue on Ubuntu Studio 24.04 with OBS 32.0.0. from the official PPA. Funny though: Windows VSTs which I run via LinVST do work and render their GUI. I'm on X11 still.
The plugins I tried do work without issues in Mixbus/Ardour and Carla.
It seems to be related to the GUI libraries the plugins use. E.g. the Linux Studio Plugins do work. Zam plugins don't. Most sadly, master_me suffers from the same issue.
Note that OBS does not crash. The plugin window in the case of master_me does also have the right dimensions. It just doesn't have content. Also, the processing of the plugin seems to run. I think this is not an issue of master_me, it's rather likely to be an issue with certain GUI libraries.
Console output simply is for master_me: [dpf] createNextWindow 1030 597 1.000000
No console output for other VSTs that don't display.
However, the workaround by @sfjuocekr
QT_QPA_PLATFORM=xcb obs
does work only ocassionally.
It still doesn't bring the Zam plugins to life, which is okay with me. But brings the master_me GUI window to life only some times and I don't know why.
With VST3 support in progress, VST2 support will be deprecated and no further work is being done on it.