On July 26, 2022 10:08:39 PM GMT+02:00, Sam James <s...@gentoo.org> wrote:
>Bug: https://bugs.gentoo.org/744622
>Bug: https://bugs.gentoo.org/859280
>Signed-off-by: Sam James <s...@gentoo.org>
>---
> .../2022-07-28-pipewire-sound-server.en.txt   | 130 ++++++++++++++++++
> 1 file changed, 130 insertions(+)
> create mode 100644 
> 2022-07-28-pipewire-sound-server/2022-07-28-pipewire-sound-server.en.txt
>
>diff --git 
>a/2022-07-28-pipewire-sound-server/2022-07-28-pipewire-sound-server.en.txt 
>b/2022-07-28-pipewire-sound-server/2022-07-28-pipewire-sound-server.en.txt
>new file mode 100644
>index 0000000..6ebe676
>--- /dev/null
>+++ b/2022-07-28-pipewire-sound-server/2022-07-28-pipewire-sound-server.en.txt
>@@ -0,0 +1,130 @@
>+Title: Pipewire sound server migration
>+Author: Sam James <s...@gentoo.org>
>+Posted: 2022-07-28
>+Revision: 1
>+News-Item-Format: 2.0
>+Display-If-Installed: media-video/pipewire
>+Display-If-Installed: media-sound/pulseaudio
>+Display-If-Installed: media-sound/pulseaudio-daemon
>+Display-If-Installed: media-libs/libpulse
>+
>+PipeWire has gained a new USE flag "sound-server" for enabling/disabling its
>+sound server capabilities.
>+
>+This change is needed to avoid PipeWire and PulseAudio conflicting over 
>control
>+of audio devices. Before this change, OpenRC users were in some cases 
>accidentally
>+migrated to PipeWire which was difficult to override without manually editing
>+launcher files.
>+
>+For non-audio purposes, PipeWire is installed in many configurations as more
>+and more software depends on it for e.g. screensharing, sandboxing,
>+and window previews, so users will need to act based on their preferred
>+setup rather than simply avoiding installing PipeWire, as it is
>+increasingly required as a dependency.
>+
>+Packages needing PulseAudio's APIs will be migrated from the now-meta package
>+media-sound/pulseaudio to depending on media-libs/libpulse. The runtime
>+PulseAudio server can be provided by either PipeWire (media-video/piepwire)
>+or the original PulseAudio (media-sound/pulseaudio-daemon).

Small typo here: piepwire --> pipewire


>+
>+The new sound-server USE flag for PipeWire allows easily controlling
>+this behavior.
>+
>+There are several options available:
>+
>+1. To use PipeWire for sound, users should enable USE=sound-server for 
>PipeWire:
>+
>+  Place the following entries in /etc/portage/package.use:
>+  ```
>+  media-video/pipewire sound-server
>+  media-sound/pulseaudio -daemon
>+  ```
>+
>+  First, sync:
>+  $ emerge --sync
>+
>+  Deselect media-sound/pulseaudio-daemon:
>+  $ emerge --deselect media-sound/pulseaudio-daemon
>+
>+  Then perform a world upgrade:
>+  $ emerge --ask --update --changed-use --deep @world
>+
>+  Then depclean:
>+  $ emerge --ask --depclean
>+
>+  OpenRC users on an XDG-compliant desktop which respects autostart files
>+  will not need to take any further action.
>+
>+  OpenRC users using a minimal desktop which does not respect autostart
>+  files will need to run `gentoo-pipewire-launcher &` in e.g.
>+  `~/.xprofile`.
>+
>+  systemd users will also need to run the following commands:
>+  $ systemctl --user --now disable pulseaudio.service pulseaudio.socket
>+  $ systemctl --user --now enable pipewire.socket pipewire-pulse.socket
>+  $ systemctl --user --now disable pipewire-media-session.service
>+  $ systemctl --user --force enable wireplumber.service
>+
>+2. To use PulseAudio's daemon for sound, users should disable 
>USE=sound-server for PipeWire,
>+  enable USE=daemon on media-sound/pulseaudio, and add 
>media-sound/pulseaudio-daemon to
>+  their world file:
>+
>+  Place the following entries in /etc/portage/package.use:
>+  ```
>+  media-video/pipewire -sound-server
>+  media-sound/pulseaudio daemon
>+  ```
>+
>+  Add media-sound/pulseaudio-daemon to @world:
>+  $ emerge --noreplace media-sound/pulseaudio-daemon
>+
>+  Then perform a world upgrade:
>+  $ emerge --ask --update --changed-use --deep @world
>+
>+  Then depclean:
>+  $ emerge --ask --depclean
>+
>+  OpenRC users on an XDG-compliant desktop which respects autostart files
>+  will not need to take any further action.
>+
>+  OpenRC users using a minimal desktop which does not respect autostart
>+  files should consider adding `gentoo-pipewire-launcher &` in e.g.
>+  `~/.xprofile` but it's not strictly required in terms of audio
>+  handling. It may be required in future for the non-audio usecases
>+  described above.
>+
>+  systemd users will also need to run the following commands:
>+  $ systemctl --user --now enable pulseaudio.service pulseaudio.socket
>+  $ systemctl --user --now disable pipewire.socket pipewire-pulse.socket
>+
>+3. For users without sound on their system, those using JACK without
>+   PipeWire, or those using pure ALSA without PipeWire, the following steps
>+   are recommended:
>+
>+   Place the following entries in /etc/portage/package.use:
>+   ```
>+   media-video/pipewire -sound-server
>+   media-sound/pulseaudio -daemon
>+   ```
>+
>+   Then perform a world upgrade:
>+   $ emerge --ask --update --changed-use --deep @world
>+
>+   Then depclean:
>+   $ emerge --ask --depclean
>+
>+   OpenRC users on an XDG-compliant desktop which respects autostart files
>+   will not need to take any further action.
>+
>+   OpenRC users using a minimal desktop which does not respect autostart
>+   files will need to run `gentoo-pipewire-launcher &` in e.g.
>+   `~/.xprofile`.
>+
>+   systemd users will also likely want to run the following commands, again
>+   for the purposes of non-audio PipeWire use:
>+   $ systemctl --user --now enable pipewire.socket
>+   $ systemctl --user --now --force enable wireplumber.service
>+
>+
>+Further resources:
>+* https://wiki.gentoo.org/wiki/PipeWire

Reply via email to