essej / paulxstretch

PaulXStretch - Extreme Timestretching application and plugin
Other
448 stars 15 forks source link

VST3 scan fails on X11/xinit sessions #23

Open cbix opened 2 years ago

cbix commented 2 years ago

After 2 users reported on the #archlinux-proaudio IRC that the PaulXStretch VST3 plugin can not be found by most DAWs we did some investigation and figured out the issue happens only on X11/xinit-based sessions. It is not reproducible on any Display Manager-based X11 session (lightdm, gdm, ...) nor under Wayland. Tested with Carla and Ardour where Ardour shows some useful error information:

VST3 module-path '/usr/lib/vst3/PaulXStretch.vst3/Contents/x86_64-linux/PaulXStretch.so'
[Info]: Scanning: /usr/lib/vst3/PaulXStretch.vst3
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  20 (X_GetProperty)
  Resource id in failed request:  0x0
  Serial number of failed request:  54
  Current serial number in output stream:  54
Scan Failed.

To reproduce:

Needless to say, this does not happen with other VST3 plugins (including other JUCE-based ones) and the standalone version always works fine. According to one report Reaper successfully finds and loads the plugin, but other DAWs don't.

essej commented 2 years ago

In your testing, was it an installed version you personally hand built from source on your system?

cbix commented 2 years ago

In your testing, was it an installed version you personally hand built from source on your system?

No, it was built on CI for our archlinux proaudio binary repo using a build script. According to one user building it locally produces the same error. All on Arch Linux, I can however try to spin up an old Ubuntu machine and test it there as well.

cbix commented 2 years ago

Another user now reported that this happens on SDDM sessions as well.

allanger commented 2 years ago

I've got the same error on KDE Wayland in Ardour on the step of scanning for plug-ins. Was trying to add it to Carla and Element hosts, but plugin never appeared after scanning.

allanger commented 2 years ago

Foremost, it's my first attempt to do anything with JUCE, cpp, and audio plugins, so it may be a lame take. I've tried updating JUCE library to the latest version, and now it's running as a VST plugin in Carla and Ardour. The clap version still seems to be broken, thought.

You can have a look here: https://git.badhouseplants.net/badhouseplants/paulxstretch/pulls/1/files I am building it in a docker container, to do the same you can run the /build_docker.sh script.

cbix commented 1 year ago

@essej could you update the JUCE subrepo to a later version? Apparently this issue was fixed in https://github.com/juce-framework/JUCE/commit/4f9a9c7bfc6dff0493c7e6cdc43b99cea1427777 which is available since JUCE 6.1.5. Maybe a bump to JUCE 7 also allows building LV2? ;)