aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2022-07-29 02:44:47 +0100
committerSam James <sam@gentoo.org>2022-07-29 02:44:47 +0100
commit1d217ffd5deca9d20b61acd2a7832272d036a0e0 (patch)
tree6a2e5861d6574230964ecae3175a239b158025df
parentRemove old news item related to plasma 4 removal (diff)
downloadgentoo-news-1d217ffd5deca9d20b61acd2a7832272d036a0e0.tar.gz
gentoo-news-1d217ffd5deca9d20b61acd2a7832272d036a0e0.tar.bz2
gentoo-news-1d217ffd5deca9d20b61acd2a7832272d036a0e0.zip
2022-07-29-pipewire-sound-server: add item
Bug: https://bugs.gentoo.org/744622 Bug: https://bugs.gentoo.org/859280 Signed-off-by: Sam James <sam@gentoo.org>
-rw-r--r--2022-07-29-pipewire-sound-server/2022-07-29-pipewire-sound-server.en.txt130
1 files changed, 130 insertions, 0 deletions
diff --git a/2022-07-29-pipewire-sound-server/2022-07-29-pipewire-sound-server.en.txt b/2022-07-29-pipewire-sound-server/2022-07-29-pipewire-sound-server.en.txt
new file mode 100644
index 0000000..0cb4a2d
--- /dev/null
+++ b/2022-07-29-pipewire-sound-server/2022-07-29-pipewire-sound-server.en.txt
@@ -0,0 +1,130 @@
+Title: PipeWire sound server migration
+Author: Sam James <sam@gentoo.org>
+Posted: 2022-07-29
+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/pipewire)
+or the original PulseAudio (media-sound/pulseaudio-daemon).
+
+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