Created attachment 178159 [details] Add possibility to build and work without pipewire It's not a bug. It's "feature/change" request. Not need to install pipewire on desktop with KDE6 on Xorg. SOFTWARE/OS VERSIONS OS: FreeBSD 14.2 amd64 KDE Plasma Version: 6.2.5 KDE Frameworks Version: 6.10.0 Qt Version: 6.8.2 ADDITIONAL INFORMATION Patch attached. Used in FreeBSD ports.
> It's not a bug. It's "feature/change" request. You can set the severity to "wishlist" when doing a feature request on bugs.kde.org. That way you don't need to explicitly write that it is a feature request.
Thanks for providing a patch. I'm not sure if I want to use it though. I try to avoid optional dependencies in general for a few reasons: 1. To prevent users from installing it in a way that makes them think the software is buggy or missing features. This is most likely to happen with users of distros that like to split packages up or users of advanced distros (regardless of whether or not they are advanced users). While it is annoying for some users who don't need the feature that requires a dependency, I don't want users to wonder why a feature isn't there when they use Wayland. It is currently the default session type, so it's important to prevent that situation. 2. QML doesn't have anything like C preprocessor blocks. We'd need to let the frontend know at runtime whether or not the feature is available for the backend. We already do this for KPipeWire since we need to support X11 though, so this reason doesn't really apply to this request. You can try CMake text replacement, but that's not really the same and has limitations. 3. Simplicity. Having to write different logic in C preprocessor blocks can generate a lot of extra code and complexity sometimes. The extra complexity tends to only benefit a small number of users that could probably live with having to deal with another dependency. If it's a particularly large or difficult to work with dependency, I'd understand needing it to be optional though. 4. To prevent distros from packaging it in a way that is incorrect that leads to the scenario in reason 1. It's not that common, but it can happen and it generates bug reports for us.
(In reply to Noah Davis from comment #2) > Thanks for providing a patch. I'm not sure if I want to use it though. > > I try to avoid optional dependencies in general for a few reasons: > > 1. To prevent users from installing it in a way that makes them think the > software is buggy or missing features. The dependency can be made required by default but optional if a CMake option is passed. This protects users from accidentally coming up with a broken build configuration, but still allows "advanced" users to get a custom build. > 4. To prevent distros from packaging it in a way that is incorrect that leads to the scenario in reason 1. This is exactly what defaults are for. But I agree that the patch is somewhat invasive.
This is an opportunity to get rid of unnecessary (and even harmful) software in the system (such as pulseaudio or avahi).
(In reply to VVD from comment #4) > This is an opportunity to get rid of unnecessary (and even harmful) software > in the system (such as pulseaudio or avahi). I don't see what this has to do with the request. KPipeWire does not have any networking capabilities and it currently does not record audio either.
I'm with Noah here. I don't see the big win compared to the drawbacks. FreeBSD should be packaging PipeWire if they don't already; it's a critical part of lots of things in Plasma these days. Noah, feel free to close this if you don't see the value. You're the maintainer, you have the power!
> I don't see what this has to do with the request. KPipeWire does not have any networking capabilities and it currently does not record audio either. Can KPipeWire work (or at least be installed) without installing pipewire?
(In reply to VVD from comment #7) > Can KPipeWire work (or at least be installed) without installing pipewire? No, because KPipeWire is a library that simplifies the use of PipeWire.
(In reply to Noah Davis from comment #8) > (In reply to VVD from comment #7) > > Can KPipeWire work (or at least be installed) without installing pipewire? > No, because KPipeWire is a library that simplifies the use of PipeWire. That's why this patch was created.