Immolo <[email protected]> writes:

> Thanks Dale :)
>
> Title: Desktop Profile to enable PipeWire support
> Author: Ian Jordan <[email protected]>
> Posted: 2025-09-06
> Revision: 3
> News-Item-Format: 2.0
> Display-If-Profile: default/linux/alpha/23.0/desktop
> Display-If-Profile: default/linux/alpha/23.0/desktop/*
> Display-If-Profile: default/linux/alpha/23.0/split-usr/desktop
> Display-If-Profile: default/linux/alpha/23.0/split-usr/desktop/*
> Display-If-Profile: default/linux/amd64/23.0/desktop
> Display-If-Profile: default/linux/amd64/23.0/desktop/*
> Display-If-Profile: default/linux/amd64/23.0/split-usr/desktop
> Display-If-Profile: default/linux/amd64/23.0/split-usr/desktop/*
> Display-If-Profile: default/linux/arm/23.0/armv7a_hf/desktop
> Display-If-Profile: default/linux/arm/23.0/armv7a_hf/desktop/*
> Display-If-Profile: default/linux/arm/23.0/armv7a_sf/desktop
> Display-If-Profile: default/linux/arm/23.0/armv7a_sf/desktop/*
> Display-If-Profile: default/linux/arm/23.0/desktop
> Display-If-Profile: default/linux/arm/23.0/desktop/*
> Display-If-Profile: default/linux/arm/23.0/split-usr/armv7a_hf/desktop
> Display-If-Profile: default/linux/arm/23.0/split-usr/armv7a_hf/desktop/*
> Display-If-Profile: default/linux/arm/23.0/split-usr/desktop
> Display-If-Profile: default/linux/arm/23.0/split-usr/desktop/*
> Display-If-Profile: default/linux/arm64/23.0/desktop
> Display-If-Profile: default/linux/arm64/23.0/desktop/*
> Display-If-Profile: default/linux/arm64/23.0/split-usr/desktop
> Display-If-Profile: default/linux/arm64/23.0/split-usr/desktop/*
> Display-If-Profile: default/linux/hppa/23.0/hppa1.1/desktop
> Display-If-Profile: default/linux/hppa/23.0/hppa1.1/desktop/*
> Display-If-Profile: default/linux/hppa/23.0/hppa1.1/split-usr/desktop
> Display-If-Profile: default/linux/hppa/23.0/hppa2.0/desktop
> Display-If-Profile: default/linux/hppa/23.0/hppa2.0/desktop/*
> Display-If-Profile: default/linux/hppa/23.0/hppa2.0/split-usr/desktop
> Display-If-Profile: default/linux/loong/23.0/la64v100/lp64d/desktop
> Display-If-Profile: default/linux/loong/23.0/la64v100/lp64d/desktop/*
> Display-If-Profile: default/linux/loong/23.0/la64v100/split-usr/lp64d/desktop
> Display-If-Profile: 
> default/linux/loong/23.0/la64v100/split-usr/lp64d/desktop/*
> Display-If-Profile: default/linux/ppc/23.0/desktop
> Display-If-Profile: default/linux/ppc/23.0/desktop/*
> Display-If-Profile: default/linux/ppc/23.0/split-usr/desktop
> Display-If-Profile: default/linux/ppc/23.0/split-usr/desktop/*
> Display-If-Profile: default/linux/ppc/23.0/time64/desktop
> Display-If-Profile: default/linux/ppc/23.0/time64/desktop/*
> Display-If-Profile: default/linux/ppc/23.0/time64/split-usr/desktop
> Display-If-Profile: default/linux/ppc/23.0/time64/split-usr/desktop/*
> Display-If-Profile: default/linux/ppc64/23.0/desktop
> Display-If-Profile: default/linux/ppc64/23.0/desktop/*
> Display-If-Profile: default/linux/ppc64/23.0/split-usr/desktop
> Display-If-Profile: default/linux/ppc64/23.0/split-usr/desktop/*
> Display-If-Profile: default/linux/ppc64le/23.0/desktop
> Display-If-Profile: default/linux/ppc64le/23.0/desktop/*
> Display-If-Profile: default/linux/ppc64le/23.0/split-usr/desktop
> Display-If-Profile: default/linux/ppc64le/23.0/split-usr/desktop/*
> Display-If-Profile: default/linux/riscv/23.0/rv64/lp64d/desktop
> Display-If-Profile: default/linux/riscv/23.0/rv64/lp64d/desktop/*
> Display-If-Profile: default/linux/riscv/23.0/rv64/lp64/desktop
> Display-If-Profile: default/linux/riscv/23.0/rv64/lp64/desktop/*
> Display-If-Profile: default/linux/riscv/23.0/rv64/split-usr/lp64d/desktop
> Display-If-Profile: default/linux/riscv/23.0/rv64/split-usr/lp64d/desktop/*
> Display-If-Profile: default/linux/sparc/23.0/64ul/desktop
> Display-If-Profile: default/linux/sparc/23.0/desktop
> Display-If-Profile: default/linux/sparc/23.0/split-usr/64ul/desktop
> Display-If-Profile: default/linux/sparc/23.0/split-usr/desktop
> Display-If-Profile: default/linux/x86/23.0/i686/desktop
> Display-If-Profile: default/linux/x86/23.0/i686/desktop/*
> Display-If-Profile: default/linux/x86/23.0/i686/split-usr/desktop
> Display-If-Profile: default/linux/x86/23.0/i686/split-usr/desktop/*
> Display-If-Profile: default/linux/x86/23.0/i686/time64/desktop
> Display-If-Profile: default/linux/x86/23.0/i686/time64/desktop/*
> Display-If-Profile: default/linux/x86/23.0/i686/time64/split-usr/desktop
> Display-If-Profile: default/linux/x86/23.0/i686/time64/split-usr/desktop/*
>
> Reasons
> =======
>
> Following on from enabling support for Pipewire in the Plasma profiles, 
> this change enables Pipewire for all desktop profiles. 
> As the way we output sound has changed dramatically in the years
> since using wireless or often several devices, dynamically connected and 
> shared between multiple systems, a modern desktop environment is expected to 
> handle this effortlessly by default.
>
> In Wayland sessions, the video functionality of PipeWire is not only used for 
> screen sharing but also to take screenshots and recordings or simply to cast 
> window content onto task managers' window previews. As this is basically a 
> free 
> and beneficial addition as it provides things like screenshotting and webcam
> access under Wayland.

We should rephrase this a bit. We're not doing this only for the benefit
of Wayland and it'll turn some people off. Right now, you're focusing on
the free bit (which is completely accurate), but not explaining that
we're enabling pulseaudio and then happening to choose pipewire as the
provider of that (and we should say that first).

I think it should look like...

"""
* Enabling pulseaudio

  [Reasons why]

* Enabling pipewire (which will provide the pulseaudio daemon by
  default)

  [Reasons why]

* Enabling the other flags

  [Explaining that this follows from the other two points]
  [Reasons why]
"""

>
> Changes
> =======
>
> New global USE flags enabled: pipewire, pulseaudio, screencast
> New package.use default: media-video/pipewire[sound-server]
>
> We want broad sound server support in packages, and these settings will make
> PipeWire act as our PulseAudio server where there is no native PipeWire 
> support.
>

This summary is OK but we need to say something better earlier too, as
above.

> Alpha and HPPA
> ===============
>
> Alpha and HPPA currently do not have Pipewire support enabled so only 
> pulseaudio is enabled.

Nit: it's PipeWire.

> These can be requested by users at a later date after confirming they work.
>
> Users not Wishing to Change
> ===========================
>
> For users not wanting to change from the their current setup, then all that 
> is required is to set USE"-pipewire -pulseaudio -screencast" in their

Missing '='.

> make.conf file.
>
> User Action Required
> ====================
>
> In order to enact all changes:
>
>     emerge -1avUD @world
>     Check out how to configure PipeWire for your purpose [1][2]

I guess we should say a bit more here. I understand not wanting to
repeat everything, but as-is, every affected user will *have* to open a browser,
and that's not ideal.

>
> In order to keep a PulseAudio or ALSA-only setup:
>
>     Invert above new USE flag settings as needed, see also [2].
>
> [1] 
> https://www.gentoo.org/support/news-items/2022-07-29-pipewire-sound-server.
> html
> [2] https://wiki.gentoo.org/wiki/PipeWire

Reply via email to