[gentoo-dev] [PATCH] 2022-07-28-pipewire-sound-server: add item
Bug: https://bugs.gentoo.org/744622 Bug: https://bugs.gentoo.org/859280 Signed-off-by: Sam James --- .../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 000..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 +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). + +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 user
Re: [gentoo-dev] [PATCH] 2022-07-28-pipewire-sound-server: add item
On Tue, 2022-07-26 at 21:08 +0100, Sam James wrote: > Bug: https://bugs.gentoo.org/744622 > Bug: https://bugs.gentoo.org/859280 > Signed-off-by: Sam James > --- > .../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 000..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 > +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). > + > +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/pipew
Re: [gentoo-dev] Re: [gentoo-project] RFC: "Trusted contributor model"
Hey, > > How would you suggest we track who has commit access, etc? The same > way we do with developers, via a developer bug? I believe proxy maintainers already have a bug assigned to them (at least I have one), so maybe just a comment or a special tag would be suffient on these bugs to signify commit access. > > I ask because I've noticed a lot of inactive proxied maintainers—one > of which had been listed in metadata.xml for 6 years but had never > committed to ::gentoo. > Should these packages not be dropped to maintainer needed? Just like regular developers, wouldn't it be reasonable to expect a minimal level of activiy from proxied maintainers (even if not as strict) or otherwise be dropped from a package? Zoltan
Re: [gentoo-dev] [PATCH] 2022-07-28-pipewire-sound-server: add item
On July 26, 2022 10:08:39 PM GMT+02:00, Sam James wrote: >Bug: https://bugs.gentoo.org/744622 >Bug: https://bugs.gentoo.org/859280 >Signed-off-by: Sam James >--- > .../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 000..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 >+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: >+ $ emer
[gentoo-dev] Re: [gentoo-project] RFC: "Trusted contributor model"
Am 22.07.22 um 21:10 schrieb Joonas Niilola: ..., via Github PR or other means. I'd say pushing these experimental packages is rather rare (for proxied people at least), and can also be added without KEYWORDS for example. I agree here. And I think the proxy maintainers can open PRs like now which can be merged by a bot (after the QA bot has completed successfully). This bot can have a ACL of person + package which is maintained separately. For special cases like changes to package.mask the regular PR flow can be used. My proposal here: better some automation for 90% purpose than a long discussion with many proposals and finally no automation - because none of the proposals has 100% satisfaction. Martin
Re: [gentoo-dev] [PATCH] 2022-07-28-pipewire-sound-server: add item
> On Tue, 26 Jul 2022, Sam James wrote: > +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: "The text body should be wrapped at 72 characters." https://www.gentoo.org/glep/glep-0042.html#news-item-body signature.asc Description: PGP signature
[gentoo-dev] Up for grabs: dev-go/licenseclassifier, dev-go/go-licenses, sys-cluster/kube-router
The following packages are up for grabs b/c of proxied maintainer retirement: dev-go/licenseclassifier dev-go/go-licenses sys-cluster/kube-router There's version bumps pending and some QA fixes (like migration away from EGO_SUM, VariableScope, ...). signature.asc Description: Message signed with OpenPGP
[gentoo-dev] Re: [PATCH] 2022-07-28-pipewire-sound-server: add item
>> On Tue, 26 Jul 2022, Sam James wrote: > >> +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: > > "The text body should be wrapped at 72 characters." > https://www.gentoo.org/glep/glep-0042.html#news-item-body This is unecessarily restrictive to force the user to choose between pipewire and pulseaudio for the sound server. It is possible (I am running it now), and should be possible for gentoo to have both installed simultaneously and run one or the other at any given time, through configuration files. [I think the only patch that is required is for alsa-plugins/pulse/conf_pulse.c: (conf_pulse_hook_load_if_running) which can be taught to check if the pipewire daemon is running and quit that particular module. but it is not pipewire aware yet]