Roman Žilka <[email protected]> writes: > On Fri, Feb 27, 2026 at 2:11 AM Sam James <[email protected]> wrote: >> Roman Žilka <[email protected]> writes: >> > in bugs.gentoo.org/970029 I'm proposing making "pipewire" a global USE >> > flag. It's found in multiple packages commonly present in desktop >> > installations (incl. qtmultimedia, gnome-shell and libsdl[23]) and >> > constitutes a well-defined piece of functionality. >> >> You haven't outlined what that functionality is. > > The functionality is PipeWire, the audio (and video - didn't know > that) processing daemon. That is the single, well-defined, isolated > piece of functionality. The initial paragraphs of > https://wiki.gentoo.org/wiki/PipeWire sum it up in greater detail. > >> > Pulseaudio, which >> > serves a similar purpose, already has a global flag and making >> > "pipewire" global as well would put it on equal footing. Moreover, the >> > flag's position in use.desc will put the the option to get rid of the >> > obnoxious daemon and its ecosystem on full display for those who see >> > no point in pipewire (incl. myself). It's often on by default *sigh*. >> >> I don't think this rant is appropriate (or useful) for the discussion. > > This is actually the primary reason for this proposal. I didn't open > it just because the flag represents a well-defined function, but > because I think it'll be useful for a lot of people. PA/PW are > omnipresent for some reason, but unnecessary for a majority of audio > use cases (having audio output and input, mixing of multiple sources,
This is a distinct topic and was covered already with the PipeWire + PulseAudio default change a little while ago, though. > volume control, per-app volume control, output to any physical output, > ...) and, of course, video use cases (very few people screencast > outside of videoconferencing, which doesn't need PW). This is covered in the news item that Paul referred to, but no, it's used on Wayland DEs to show previews of windows as well, for example. > The USE flag > will give people a visible, global off-switch for it. Those who want > PW, of course, will receive a global on-switch for the desired > function. A global USE flag does not mean that there will necessarily be a single USE flag for anything that depends on PipeWire. It's for specific, well-defined functionality, not "avoid a dependency" usually. > >> Which of these packages in their USE is actually referring to PipeWire's >> sound API (where it is a replacement for PulseAudio in that sense, but >> upstream generally say you should use the pulse API), and where is it >> actually screencasting (which should be USE=screencast), or something else? > > I don't know that. For a list of packages this long, I'm afraid I > don't have the time to find out. While I understand it'd be ideal to > have the flag split up into two if PW is used for two different > purposes, it'll still be a step up just to have a global flag for all > things PW. That is particularly true if you agree that few people > actually need PW - any part of it. Unfortunately, that's required for adding a global USE flag. "Silencing" the problem by adding a faux or incomplete description would make it worse, not better, as it then hides that there's a problem to be fixed. > >> 1) Defining a global USE flag involves giving a definition/description of >> that flag >> for use.desc. What description do you propose? > > "PipeWire, the sound and video processing daemon". Becuase I strongly > oppose spamming use.desc with the likes of "Support for ...", "Enable > ...", "Enable support for ...", "Add support for ...". > The point is that "sound and video processing daemon" is not useful as a description because the use varies. > By the way, there are these in use.desc now: > pulseaudio - Add sound server support via media-libs/libpulse (may be > PulseAudio or PipeWire) > screencast - Enable support for remote desktop and screen cast using PipeWire > > I didn't investigate why the listed packages had USE=pipewire while > these existed, but it's something to consider. Checked > media-libs/libpulse briefly: its homepage is > www.freedesktop.org/wiki/Software/PulseAudio, but I can't find a > single mention of PW there. > That's the most important part! As I said, USE=pipewire is *usually* (but not always, and should be fixed where it isn't) for using the native API which very few things indeed use. > If the local flags "pipewire" don't get a global flag, but are > transformed into "pulseaudio" or "screencast" instead, I'll be happy, > too. > >> 2) Are we sure that USE=pipewire does the same thing for all of these >> packages? That's a requirement for it being a global USE flag. If it >> does not currently do so, we either need to fix some of these uses, come >> up with a generic description s.t. it's still useful as a global USE, or >> abandon the global USE effort for this. > > Whatever happens, please make sure that PW doesn't get pulled into my > system unless I explicitly enable it. Because I don't need it and, > arguably, most people don't. In fact, if the default state of the > individual local "pipewire" flags were off, I would never have made > this proposal in the first place. It seems to me that the only package > that's so closely tied to PW that it might make sense to have it on by > default there is gui-apps/wf-recorder. This is again distinct and it's what the default in desktop profiles is, but it's unrelated to it being a global USE flag (except for another point I'll reply to Peter with). But very few packages in the scheme of things have USE=pipewire, and only one (from a quick and possibly incomplete grep) actually has +pipewire in its IUSE anyway to default enable it. > >> 3) How many such packages are left after checking these where they may >> indeed be USE=screencast candidates instead? Is it above the threshold >> for a global USE flag? > > Again, if "pipewire" doesn't make it into use.desc, please turn it off > by default (except for things like wf-recorder). See above. > > Cheers, > Roman sam
signature.asc
Description: PGP signature
