summaryrefslogtreecommitdiff
path: root/metadata/news/2022-07-29-pipewire-sound-server
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-07-29 09:06:52 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-07-29 09:06:52 +0100
commit23fb10c075a74a6504647a16c3e06a6378e208c8 (patch)
treeb465c5421ab9289b4ae5f2af17cb3e239d42d8c5 /metadata/news/2022-07-29-pipewire-sound-server
parent66cd90d4284850abdf808a598a77040bcda88bd8 (diff)
gentoo auto-resync : 29:07:2022 - 09:06:52
Diffstat (limited to 'metadata/news/2022-07-29-pipewire-sound-server')
-rw-r--r--metadata/news/2022-07-29-pipewire-sound-server/2022-07-29-pipewire-sound-server.en.txt130
1 files changed, 130 insertions, 0 deletions
diff --git a/metadata/news/2022-07-29-pipewire-sound-server/2022-07-29-pipewire-sound-server.en.txt b/metadata/news/2022-07-29-pipewire-sound-server/2022-07-29-pipewire-sound-server.en.txt
new file mode 100644
index 000000000000..0cb4a2d73ddf
--- /dev/null
+++ b/metadata/news/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