Hi Andreas,

Sorry I missed this email while moving and getting caught up in another
Gentoo bug. In future always feel free to poke me on IRC if you feel
the need for something I promised to handle for you :)

Title: Desktop Profile to enable PipeWire support
Author: Ian Jordan <[email protected]>
Posted: 2025-12-14
Revision: 5
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
=======

Gentoo has had a longstanding complaint that desktop profiles do not
enable a suitable working audio setting, which causes confusion for
new users. As an example, a user can end up compiling Firefox without
audio support, meaning the user will have to add the USE flags and
then compile Firefox a second time. This not only wastes time for the
user, but also increases the workload of volunteers providing support.

This change will make PipeWire the default sound server for all
Gentoo desktop profiles which support it, rather than just Plasma
profiles[1].
PipeWire has been widely adopted by Linux as a whole due to
its feature to work with older standards such as PulseAudio, and means
Gentoo desktop users will be provided with working audio by default.

Changes
=======

New global USE flags enabled: pulseaudio

Enables PulseAudio support for packages as a fallback when native PipeWire isn't
available.

New global USE flags enabled: pipewire
New package.use default: media-video/pipewire[sound-server]

These settings will enable PipeWire by default where available and
also tell PipeWire
to act as our PulseAudio server where there is no native PipeWire support.

New global USE flags enabled: screencast

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. Some functionality it
provides may be considered a bug when missing, and its dependency will
already be there by way of PipeWire, so it only makes sense to be enabled in
tandem with USE pipewire.


Alpha and HPPA
===============

Alpha and HPPA currently do not have PipeWire support enabled so only
PulseAudio is enabled.
These can be requested by users at a later date if a need arises.

Users not Wishing to Change
===========================

For users not wanting to change from the their current desktop profile setup,
then all that is required is to set USE="-pipewire -pulseaudio -screencast" in
their make.conf file.

User Action Required
====================

In order to enact all changes:

    emerge -1avUD @world

Afterwards all that should be required is a reboot, however in the unlikely
event of issues then check out how to configure PipeWire for your
purposes. [1][2]

In order to keep a previously configured PulseAudio only system:

    Set USE="-pipewire -screencast" in /etc/portage/make.conf

For an ALSA only system:
    Set USE="-pipewire -pulseaudio -screencast" in /etc/portage/make.conf

[1] https://www.gentoo.org/support/news-items/2022-07-29-pipewire-sound-server.
html
[2] https://wiki.gentoo.org/wiki/PipeWire

Kind regards

immolo

On Fri, 14 Nov 2025 at 19:36, Andreas Sturmlechner <[email protected]>
wrote:

> On Montag, 27. Oktober 2025 12:27:37 Mitteleuropäische Normalzeit Immolo
> wrote:
> > new users. An example of when this is a user can end up compiling
> > Firefox without audio support, meaning the user will have to add the
> As an example, a user can end up ... ... meaning they will have to add the
>
> > USE flags and then compile Firefox a second time. This not only wastes
> > time for the user, but also increases support workload by the volunteers
> > that provides it.
> ... increases workload of volunteers providing support.
>
> > profiles which support it, rather than just Plasma profiles as was the
> > previous norm[1].
> ... rather than just Plasma profiles[1].
>
> > PipeWire has been widely adopted by Linux as a whole due to
> Linux distros
>
> > Gentoo will be less likely to need users to make any follow-up changes to
> > their system, related to audio.
> Gentoo desktop users will be provided with working audio by default.
>
> > New global USE flags enabled: screencast
> > [...]
> > As this is basically a free and beneficial addition as it provides things
> > like screenshotting and webcam access under Wayland.
> Some functionality it provides may be considered a bug when missing, and
> its
> dependency will already be there by way of PipeWire, so it only makes
> sense to
> be enabled in tandem with USE pipewire.
>
>
> Regards

Reply via email to