Yay for audio plugins under Wayland.
Non-embedded type for now, but one step at a time we will get there.
Also, today I answered a question I had for a long time...
If an X11 host running under XWayland calls Wayland-native APIs manually, would it be able to load Wayland-UI based plugins?
The answer is yes - Carla running under Qt xcb "platform" can still show Wayland UIs.
The reverse is also true (Qt wayland "platform" with X11 UIs through XWayland)
Future is bright 🌄
@valpackett why complicate things? my idea is just to use subsurfaces
my tests on https://github.com/falkTX/wayland-audio-plugin-test show its possible and works.
but now begins the long process of turning hacky tests into usable things.
@falktx ..oh, I forgot that audio plugins so far have been libraries dlopen()ed in-process!! I was thinking entirely in plugins-as-separate-binaries. :D which is a thing I have a non-audio use case for.
@falktx great achievement 🙌
I do not know a lot about this, but might this solve the scaling issues of plugin windows in x11 hosts such as Ardour? A specific example would be the Surge XT utility windows. Once detached, they no longer respect the scaling.
@falktx Very interesting!
We tried to answer a related question for the @linuxaudioplugindevelopment #faq at https://linuxmusicians.com/viewtopic.php?p=178820#p178820.
This is what we came up with:
https://linuxaudio.dev/#pipewire-and-wayland
Do you mind having a look and telling me if you think that could/should be phrased differently?
Thanks for your help in advance! 🙌
@amadeus @linuxaudioplugindevelopment yeah that is not quite correct...
> X11 applications and plugins work flawlessly on Wayland
add a "mostly flawlessly". the compatibility is not 100%, there are cases where it breaks.
> none of the popular plugin frameworks support Wayland directly
true-ish, not officially yet, but best to say its WIP. I am working on it for DPF and JUCE has unofficial implementation https://forum.juce.com/t/wayland-implementation-for-juce/66840/
(more on next message)
@falktx @linuxaudioplugindevelopment I have updated the FAQ and hope it is now accurate. 🫣☺️
@amadeus @linuxaudioplugindevelopment
> This means that if a DAW does not offer X11 support (...) it neither can be run on X11 nor will X11 plugins work inside such a DAW
This is false, the 2nd part.
A wayland-only application cannot run under X11
But! a native wayland application can 100% load X11 plugin UIs without trouble, assuming XWayland is present.
Try it! If you have Carla and Wayland, run "carla -platform wayland" (ignore project file warning)
If the host calls into X11, it works
@falktx @linuxaudioplugindevelopment Thank you very much for these insightful explanations. 🤓
I will correct the FAQ item accordingly.
@falktx ooh. I think plugins that just display xdg windows can be trivially embedded using an embedded compositor like Casilda for Gtk!
Probably would make a lot of sense to start defining a new shell protocol for embedded plug-in type things tho?.. Like fullscreen-shell but instead of outputs it would have.. present_surface_for_slot with slots being defined out of band by the host and identified by id/token?