Many plugins on Linux appear blank after recent X juce changes

We’ve had a bit of blowback from Linux users reporting previously working plugins suddenly stopped showing their UIs after a recent update.

The problem is reported to manifest in at least the following VST3 plugins:
TX16Wx
Plogue Sforzando
MT-PowerDrumKit 2
Sfizz

There was some discussion on KVR and the TX16Wx developer reported this:

Hah, found it. Turns out Waveform is (really properly) strict on Xembed, and refuses to do/pass through x11 map window messages when XembedInfo flag XEMBED_MAPPED is not set. VST3 sdk (gui) does not set this, so for compat issues neither does TX. However, flipping this bit makes everything work fine.

Apparently this in the VST3 SDK not matching with the XEMBED_MAPPED changes in juce here: Linux: Fix XEmbedComponent::setVisible · juce-framework/JUCE@0c2d55c · GitHub
are the problem.

I can’t say I fully understand the changes made in this commit but is it something that can be changed back or worked around?

We’re looking at this.

There’s also an issue on GitHub:

Thanks. That’s one of our beta testers, seems like I missed their posting of this issue and linking it back to our beta GH repo.

We have released a workaround on develop to ensure that plugins that worked prior to the flagged commit 0c2d55c7dd16906fe78549f40642f4be4843cf98, will keep working.

We also verified that the underlying cause is an issue in vstgui, where it never sets the XEMBED_MAPPED flag. This has been reported to them by the same user who reported this problem to us.

1 Like

Thanks for this. I’m getting a build together for the beta team today. Will report back.

Yep, seems to have done the trick! Thanks for looking in to it :clap: