Based on bugs https://bugs.gentoo.org/961764 ,
https://bugs.gentoo.org/936101 and https://bugs.gentoo.org/961764
I have made the PR https://github.com/gentoo/gentoo/pull/43497 which
will finally make audio and screensharing
easier to manage for all Gentoo desktop users. This will also bring
them more inline with the KDE profiles which
already do this and the news item item below heavily porrowed from for wording.

The news item shows users that do not wish to use pipewire and
pulseaudio for what every reason how to disable the change.


Title: Desktop Profile to enable PulseAudio and PipeWire support
Author: Ian Jordan <[email protected]>
Posted: 2025-08-26
Revision: 1
News-Item-Format: 2.0
Display-If-Profile: default/linux/alpha/23.0/desktop
Display-If-Profile: default/linux/alpha/23.0/desktop/gnome
Display-If-Profile: default/linux/alpha/23.0/desktop/gnome/systemd
Display-If-Profile: default/linux/alpha/23.0/split-usr/desktop
Display-If-Profile: default/linux/alpha/23.0/split-usr/desktop/gnome
Display-If-Profile: default/linux/amd64/23.0/desktop
Display-If-Profile: default/linux/amd64/23.0/desktop/gnome
Display-If-Profile: default/linux/amd64/23.0/desktop/gnome/systemd
Display-If-Profile: default/linux/amd64/23.0/desktop/systemd
Display-If-Profile: default/linux/amd64/23.0/split-usr/desktop
Display-If-Profile: default/linux/amd64/23.0/split-usr/desktop/gnome
Display-If-Profile: default/linux/arm/23.0/armv7a_hf/desktop
Display-If-Profile: default/linux/arm/23.0/armv7a_hf/desktop/gnome
Display-If-Profile: default/linux/arm/23.0/armv7a_hf/desktop/gnome/systemd
Display-If-Profile: default/linux/arm/23.0/armv7a_hf/desktop/systemd
Display-If-Profile: default/linux/arm/23.0/armv7a_sf/desktop
Display-If-Profile: default/linux/arm/23.0/armv7a_sf/desktop/gnome
Display-If-Profile: default/linux/arm/23.0/armv7a_sf/desktop/gnome/systemd
Display-If-Profile: default/linux/arm/23.0/armv7a_sf/desktop/systemd
Display-If-Profile: default/linux/arm/23.0/desktop
Display-If-Profile: default/linux/arm/23.0/desktop/gnome
Display-If-Profile: default/linux/arm/23.0/desktop/gnome/systemd
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/gnome
Display-If-Profile: default/linux/arm/23.0/split-usr/armv7a_sf/desktop
Display-If-Profile: default/linux/arm/23.0/split-usr/armv7a_sf/desktop/gnome
Display-If-Profile: default/linux/arm/23.0/split-usr/desktop
Display-If-Profile: default/linux/arm/23.0/split-usr/desktop/gnome
Display-If-Profile: default/linux/arm64/23.0/desktop
Display-If-Profile: default/linux/arm64/23.0/desktop/gnome
Display-If-Profile: default/linux/arm64/23.0/desktop/gnome/systemd
Display-If-Profile: default/linux/arm64/23.0/desktop/systemd
Display-If-Profile: default/linux/arm64/23.0/split-usr/desktop
Display-If-Profile: default/linux/arm64/23.0/split-usr/desktop/gnome
Display-If-Profile: default/linux/hppa/23.0/hppa1.1/desktop
Display-If-Profile: default/linux/hppa/23.0/hppa1.1/desktop/systemd
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/systemd
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/gnome
Display-If-Profile:
default/linux/loong/23.0/la64v100/lp64d/desktop/gnome/systemd
Display-If-Profile: default/linux/loong/23.0/la64v100/lp64d/desktop/systemd
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/gnome
Display-If-Profile: default/linux/ppc/23.0/desktop
Display-If-Profile: default/linux/ppc/23.0/desktop/gnome
Display-If-Profile: default/linux/ppc/23.0/desktop/gnome/systemd
Display-If-Profile: default/linux/ppc/23.0/split-usr/desktop
Display-If-Profile: default/linux/ppc/23.0/split-usr/desktop/gnome
Display-If-Profile: default/linux/ppc/23.0/split-usr/desktop/gnome/systemd
Display-If-Profile: default/linux/ppc/23.0/time64/desktop
Display-If-Profile: default/linux/ppc/23.0/time64/desktop/gnome
Display-If-Profile: default/linux/ppc/23.0/time64/desktop/gnome/systemd
Display-If-Profile: default/linux/ppc/23.0/time64/split-usr/desktop
Display-If-Profile: default/linux/ppc/23.0/time64/split-usr/desktop/gnome
Display-If-Profile: default/linux/ppc64/23.0/desktop
Display-If-Profile: default/linux/ppc64/23.0/desktop/gnome
Display-If-Profile: default/linux/ppc64/23.0/desktop/gnome/systemd
Display-If-Profile: default/linux/ppc64/23.0/split-usr/desktop
Display-If-Profile: default/linux/ppc64/23.0/split-usr/desktop/gnome
Display-If-Profile: default/linux/ppc64/23.0/split-usr/desktop/gnome/systemd
Display-If-Profile: default/linux/ppc64le/23.0/desktop
Display-If-Profile: default/linux/ppc64le/23.0/desktop/gnome
Display-If-Profile: default/linux/ppc64le/23.0/desktop/gnome/systemd
Display-If-Profile: default/linux/ppc64le/23.0/desktop/systemd
Display-If-Profile: default/linux/ppc64le/23.0/split-usr/desktop
Display-If-Profile: default/linux/ppc64le/23.0/split-usr/desktop/gnome
Display-If-Profile: default/linux/ppc64le/23.0/split-usr/desktop/gnome/systemd
Display-If-Profile: default/linux/ppc64le/23.0/split-usr/desktop/systemd
Display-If-Profile: default/linux/riscv/23.0/rv64/lp64d/desktop
Display-If-Profile: default/linux/riscv/23.0/rv64/lp64d/desktop/gnome
Display-If-Profile: default/linux/riscv/23.0/rv64/lp64d/desktop/gnome/systemd
Display-If-Profile: default/linux/riscv/23.0/rv64/lp64d/desktop/systemd
Display-If-Profile: default/linux/riscv/23.0/rv64/lp64/desktop
Display-If-Profile: default/linux/riscv/23.0/rv64/lp64/desktop/gnome
Display-If-Profile: default/linux/riscv/23.0/rv64/lp64/desktop/gnome/systemd
Display-If-Profile: default/linux/riscv/23.0/rv64/lp64/desktop/systemd
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/gnome
Display-If-Profile: default/linux/riscv/23.0/rv64/split-usr/lp64/desktop
Display-If-Profile: default/linux/riscv/23.0/rv64/split-usr/lp64/desktop/gnome
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/gnome
Display-If-Profile: default/linux/x86/23.0/i686/desktop/gnome/systemd
Display-If-Profile: default/linux/x86/23.0/i686/split-usr/desktop
Display-If-Profile: default/linux/x86/23.0/i686/split-usr/desktop/gnome
Display-If-Profile: default/linux/x86/23.0/i686/time64/desktop
Display-If-Profile: default/linux/x86/23.0/i686/time64/desktop/gnome
Display-If-Profile: default/linux/x86/23.0/i686/time64/desktop/gnome/systemd
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/gnome

Reasons
=======

Following on from enabling support for Pipewire in KDE 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
screensharing but also to take screenshots and recordings or simply to cast
window content onto task managers' window previews.

Changes
=======

New global USE flags enabled: pipewire, pulseaudio, screencast, wayland
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.

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 after confirming they work.

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

For users not wanting to change from the their currrent setup, then all that
is required is to set USE"-pipewire -pulseaudio -screenshare" in their
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]

In order to keep a PulseAudio or ALSA-only setup:

    Invert above new USE flag settings as needed, see also [2].

In order to avoid media-video/pipewire completely:

    This can only be achieved by losing basic task manager, screenshot/screen
    recording/sharing functions as provided by Plasma and KDE applications.

[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