* Re: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
@ 2022-01-06 16:34 ` steinex
2022-01-07 1:27 ` [PR PATCH] [Closed]: " ahesford
` (16 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: steinex @ 2022-01-06 16:34 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 336 bytes --]
New comment by steinex on void-packages repository
https://github.com/void-linux/void-packages/pull/34904#issuecomment-1006730891
Comment:
+1 switching to wireplumber, upstream recommends it explicitely over p-m-s now. https://gitlab.freedesktop.org/pipewire/media-session#pipewire-media-session
And btw, wireplumber 0.4.6 is out.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [PR PATCH] [Closed]: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
2022-01-06 16:34 ` steinex
@ 2022-01-07 1:27 ` ahesford
2022-01-07 1:28 ` ahesford
` (15 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: ahesford @ 2022-01-07 1:27 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1186 bytes --]
There's a closed pull request on the void-packages repository
pipewire: update to 0.3.43
https://github.com/void-linux/void-packages/pull/34904
Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->
#### Testing the changes
- I tested the changes in this PR: **YES**
What is the plan to make `wireplumber` the default session manager? If I add it to `depends`, there will be a build cycle.
<!--
#### New package
- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**|**NO**
-->
<!-- Note: If the build is likely to take more than 2 hours, please [skip CI](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration)
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
- aarch64-musl
- armv7l
- armv6l-musl
-->
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
2022-01-06 16:34 ` steinex
2022-01-07 1:27 ` [PR PATCH] [Closed]: " ahesford
@ 2022-01-07 1:28 ` ahesford
2022-02-19 22:01 ` prez
` (14 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: ahesford @ 2022-01-07 1:28 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 235 bytes --]
New comment by ahesford on void-packages repository
https://github.com/void-linux/void-packages/pull/34904#issuecomment-1007066545
Comment:
Unfortunately, there is no good plan to pull in wireplumber by default because of the cycle.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
` (2 preceding siblings ...)
2022-01-07 1:28 ` ahesford
@ 2022-02-19 22:01 ` prez
2022-02-21 9:13 ` st3r4g
` (13 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: prez @ 2022-02-19 22:01 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 283 bytes --]
New comment by prez on void-packages repository
https://github.com/void-linux/void-packages/pull/34904#issuecomment-1046111567
Comment:
https://pipewire.pages.freedesktop.org/wireplumber/running-wireplumber-daemon.html#run-from-the-pipewire-source-tree
Would this be an option?
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
` (3 preceding siblings ...)
2022-02-19 22:01 ` prez
@ 2022-02-21 9:13 ` st3r4g
2022-02-21 11:47 ` prez
` (12 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: st3r4g @ 2022-02-21 9:13 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 425 bytes --]
New comment by st3r4g on void-packages repository
https://github.com/void-linux/void-packages/pull/34904#issuecomment-1046635891
Comment:
> https://pipewire.pages.freedesktop.org/wireplumber/running-wireplumber-daemon.html#run-from-the-pipewire-source-tree
>
> Would this be an option?
Would work, but it's ugly. For example, it forces a rebuild of both every time. It is mainly intended for developers, not distros.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
` (4 preceding siblings ...)
2022-02-21 9:13 ` st3r4g
@ 2022-02-21 11:47 ` prez
2022-02-21 16:26 ` st3r4g
` (11 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: prez @ 2022-02-21 11:47 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 886 bytes --]
New comment by prez on void-packages repository
https://github.com/void-linux/void-packages/pull/34904#issuecomment-1046792155
Comment:
> Would work, but it's ugly. For example, it forces a rebuild of both every time. It is mainly intended for developers, not distros.
I see. Shipping it with media-session but documenting how to switch would be best then, probably.
On that note, how are you enabling wireplumber, in case you're running it? Either due to the precedence of files in `pipewire.conf` or the fact that array sections are appended, I can't seem to be able to specify wireplumber to run instead of media-session by dropping a .conf file into `~/.config/pipewire/pipewire.conf.d/` that overwrites only the `context.exec` section - and I do not want to have a global configuration in /etc or modify the provided files in /usr/share.
Apologies for hijacking this PR.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
` (5 preceding siblings ...)
2022-02-21 11:47 ` prez
@ 2022-02-21 16:26 ` st3r4g
2022-02-21 16:34 ` st3r4g
` (10 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: st3r4g @ 2022-02-21 16:26 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 713 bytes --]
New comment by st3r4g on void-packages repository
https://github.com/void-linux/void-packages/pull/34904#issuecomment-1047049957
Comment:
> I see. Shipping it with media-session but documenting how to switch would be best then, probably.
media-session is deprecated, at some point we must do the switch, no matter how ugly it is packaging-wise.
> On that note, how are you enabling wireplumber, in case you're running it?
I'm overriding the whole `pipewire.conf`, there haven't been breaking changes in the config lately. I've just tried dropping the snippet in `pipewire.conf.d` with `0.3.47`, and what I saw is that both media-session and wireplumber are executed, which is not good. Might be a bug.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
` (6 preceding siblings ...)
2022-02-21 16:26 ` st3r4g
@ 2022-02-21 16:34 ` st3r4g
2022-02-21 17:45 ` prez
` (9 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: st3r4g @ 2022-02-21 16:34 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 713 bytes --]
New comment by st3r4g on void-packages repository
https://github.com/void-linux/void-packages/pull/34904#issuecomment-1047049957
Comment:
> I see. Shipping it with media-session but documenting how to switch would be best then, probably.
media-session is deprecated, at some point we must do the switch, no matter how ugly it is packaging-wise.
> On that note, how are you enabling wireplumber, in case you're running it?
I'm overriding the whole `pipewire.conf`, there haven't been breaking changes in the config lately. I've just tried dropping the snippet in `pipewire.conf.d` with `0.3.47`, and what I saw is that both media-session and wireplumber are executed, which is not good. Probably a bug.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
` (7 preceding siblings ...)
2022-02-21 16:34 ` st3r4g
@ 2022-02-21 17:45 ` prez
2022-02-21 17:49 ` prez
` (8 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: prez @ 2022-02-21 17:45 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1268 bytes --]
New comment by prez on void-packages repository
https://github.com/void-linux/void-packages/pull/34904#issuecomment-1047111490
Comment:
If it is already deprecated and we must make the switch at some point (might as well do it early then - I doubt something will change about pipewire and wireplumber being separate projects upstream and the resulting cycle) , the way I see it, we have two options:
1. Enabling `-Dsession-managers="[ 'wireplumber' ]"`, which pulls in wireplumber and enables the relevant entry in the default configuration file, making wireplumber a subpackage and telling users to install it together with pipewire in the documentation for a functional pipewire setup.
2. Alternatively, figuring out how to ship it without media-session and a context.exec entry (building with session-managers `=[]` doesn't seem to have that effect), keeping the wireplumber package as it as and adding the same bit of documentation.
>Probably a bug.
I think this due to `context.exec` being an array, so it gets appended and you end up with both being executed. I would be against recommending to override the whole configuration file, and it's not something I want to do myself, since I don't keep up with changes well and I don't expect many users do.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
` (8 preceding siblings ...)
2022-02-21 17:45 ` prez
@ 2022-02-21 17:49 ` prez
2022-02-21 17:51 ` prez
` (7 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: prez @ 2022-02-21 17:49 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1276 bytes --]
New comment by prez on void-packages repository
https://github.com/void-linux/void-packages/pull/34904#issuecomment-1047111490
Comment:
If it is already deprecated and we must make the switch at some point (might as well do it early then - I doubt something will change about pipewire and wireplumber being separate projects upstream and the resulting cycle) , the way I see it, we have two options:
1. Enabling `-Dsession-managers="[ 'wireplumber' ]"`, which pulls in wireplumber and enables the relevant entry in the default configuration file, making wireplumber a subpackage and telling users to install it together with pipewire in the documentation for a functional pipewire setup.
2. Alternatively, figuring out how to ship it without media-session and without a context.exec entry (building with session-managers `=[]` doesn't seem to have that effect), keeping the wireplumber package as it as and adding the same bit of documentation.
>Probably a bug.
I think this due to `context.exec` being an array, so it gets appended and you end up with both being executed. I would be against recommending to override the whole configuration file, and it's not something I want to do myself, since I don't keep up with changes well and I don't expect many users do.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
` (9 preceding siblings ...)
2022-02-21 17:49 ` prez
@ 2022-02-21 17:51 ` prez
2022-03-21 15:12 ` dkwo
` (6 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: prez @ 2022-02-21 17:51 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1351 bytes --]
New comment by prez on void-packages repository
https://github.com/void-linux/void-packages/pull/34904#issuecomment-1047111490
Comment:
If it is already deprecated and we must make the switch at some point (might as well do it early then - I doubt something will change about pipewire and wireplumber being separate projects upstream and the resulting cycle) , the way I see it, we have two options:
1. Enabling `-Dsession-managers="[ 'wireplumber' ]"`, which pulls in wireplumber and enables the relevant entry in the default configuration file, making wireplumber a subpackage and telling users to install it together with pipewire in the documentation for a functional pipewire setup.
2. Alternatively, figuring out how to ship it without media-session and without a context.exec entry (building with session-managers `=[]` doesn't seem to have that effect), keeping the wireplumber package as it as and adding the same bit of documentation with the added remark that the user has to start a wireplumber service too.
>Probably a bug.
I think this due to `context.exec` being an array, so it gets appended and you end up with both being executed. I would be against recommending to override the whole configuration file, and it's not something I want to do myself, since I don't keep up with changes well and I don't expect many users do.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
` (10 preceding siblings ...)
2022-02-21 17:51 ` prez
@ 2022-03-21 15:12 ` dkwo
2022-03-21 15:44 ` ahesford
` (5 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: dkwo @ 2022-03-21 15:12 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1251 bytes --]
New comment by dkwo on void-packages repository
https://github.com/void-linux/void-packages/pull/34904#issuecomment-1074022941
Comment:
alpine builds wireplumber with
```
provides="pipewire-session-manager"
provider_priority=0
```
and then pipewire with `-Dsession-managers=[]` accompanied
`install -Dm755 "$srcdir"/pipewire-launcher.sh "$pkgdir"/usr/libexec/pipewire-launcher`
by the launcher script
```
#!/bin/sh
# We need to kill any existing pipewire instance to restore sound
pkill -u "${USER}" -fx "/usr/bin/pipewire -c pipewire-pulse.conf" 1>/dev/null 2>&1
pkill -u "${USER}" -fx /usr/bin/pipewire-media-session 1>/dev/null 2>&1
pkill -u "${USER}" -fx /usr/bin/wireplumber 1>/dev/null 2>&1
pkill -u "${USER}" -fx /usr/bin/pipewire 1>/dev/null 2>&1
exec /usr/bin/pipewire &
# wait for pipewire to start before attempting to start related daemons
while [ "$(pgrep -f /usr/bin/pipewire)" = "" ]; do
sleep 1
done
if [ -x /usr/bin/wireplumber ]; then
exec /usr/bin/wireplumber &
elif [ -x /usr/bin/pipewire-media-session ]; then
exec /usr/bin/pipewire-media-session &
fi
[ -f "/usr/share/pipewire/pipewire-pulse.conf" ] && exec /usr/bin/pipewire -c pipewire-pulse.conf &
```
Would this work in void?
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
` (11 preceding siblings ...)
2022-03-21 15:12 ` dkwo
@ 2022-03-21 15:44 ` ahesford
2022-03-26 20:17 ` prez
` (4 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: ahesford @ 2022-03-21 15:44 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 1159 bytes --]
New comment by ahesford on void-packages repository
https://github.com/void-linux/void-packages/pull/34904#issuecomment-1074061880
Comment:
The issue isn't how `wireplumber` gets launched, but how it is built. We cannot have the `wireplumber` package depend on `pipewire` and the `pipewire` package depend on `wireplumber` because that creates a build cycle.
If it is ugly to build `wireplumber` as part of the `pipewire` package (I have an unverified suspicion that it may be), it may be less ugly to have a `pipewire-bootstrap` package or something that can satisfy the `makedepends` and `checkdepends` of `pipewire` to break the cycle. I am not attuned enough to `pipewire` to have an opinion here.
Of course, if `wireplumber` is to be a new, official replacement for the old session manager, it seems that upstream should provide a clean way to build the entire apparatus together, such as by pulling `wireplumber` into the source tree. It is **always** problematic to say "you need package X to build package Y, but you need package Y to run package X".
Cf. the nightmare that is PEP-517 build systems which depend on an external TOML parser.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
` (12 preceding siblings ...)
2022-03-21 15:44 ` ahesford
@ 2022-03-26 20:17 ` prez
2022-03-26 20:26 ` Duncaen
` (3 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: prez @ 2022-03-26 20:17 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 712 bytes --]
New comment by prez on void-packages repository
https://github.com/void-linux/void-packages/pull/34904#issuecomment-1079767607
Comment:
>Of course, if wireplumber is to be a new, official replacement for the old session manager, it seems that upstream should provide a clean way to build the entire apparatus together, such as by pulling wireplumber into the source tree.
>If it is ugly to build wireplumber as part of the pipewire package (I have an unverified suspicion that it may be), it may be less ugly to have a pipewire-bootstrap package or something that can satisfy the makedepends and checkdepends of pipewire to break the cycle.
This is what ` -Dsession-managers="[ 'wireplumber' ]"` is for.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
` (13 preceding siblings ...)
2022-03-26 20:17 ` prez
@ 2022-03-26 20:26 ` Duncaen
2022-03-26 20:30 ` prez
` (2 subsequent siblings)
17 siblings, 0 replies; 19+ messages in thread
From: Duncaen @ 2022-03-26 20:26 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 875 bytes --]
New comment by Duncaen on void-packages repository
https://github.com/void-linux/void-packages/pull/34904#issuecomment-1079768935
Comment:
> > Of course, if wireplumber is to be a new, official replacement for the old session manager, it seems that upstream should provide a clean way to build the entire apparatus together, such as by pulling wireplumber into the source tree.
>
> > If it is ugly to build wireplumber as part of the pipewire package (I have an unverified suspicion that it may be), it may be less ugly to have a pipewire-bootstrap package or something that can satisfy the makedepends and checkdepends of pipewire to break the cycle.
>
> This is what ` -Dsession-managers="[ 'wireplumber' ]"` is for.
How does that solve that pipewire would depend on wireplumber and wireplumber on pipewire? How are we supposed to build that from a clean state?
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
` (14 preceding siblings ...)
2022-03-26 20:26 ` Duncaen
@ 2022-03-26 20:30 ` prez
2022-04-13 20:17 ` dkwo
2022-04-14 15:54 ` ahesford
17 siblings, 0 replies; 19+ messages in thread
From: prez @ 2022-03-26 20:30 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 424 bytes --]
New comment by prez on void-packages repository
https://github.com/void-linux/void-packages/pull/34904#issuecomment-1079769541
Comment:
>How does that solve that pipewire would depend on wireplumber and wireplumber on pipewire? How are we supposed to build that from a clean state?
It doesn't, I'm guessing it would need to be one package, the same way pipewire-media-session is part of the pipewire package right now.
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
` (15 preceding siblings ...)
2022-03-26 20:30 ` prez
@ 2022-04-13 20:17 ` dkwo
2022-04-14 15:54 ` ahesford
17 siblings, 0 replies; 19+ messages in thread
From: dkwo @ 2022-04-13 20:17 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 455 bytes --]
New comment by dkwo on void-packages repository
https://github.com/void-linux/void-packages/pull/34904#issuecomment-1098447468
Comment:
@ahesford If we build pipewire with `-Dsession-managers=[ ]`, then wireplumber is not a depenency of pipewire, so no cycle.
We should also split a separate pipewire-media-session pkg, which depends on pipewire, and use e.g. the above simple script to determine which session manager is used.
How does this sound?
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: pipewire: update to 0.3.43
2022-01-06 10:38 [PR PATCH] pipewire: update to 0.3.43 st3r4g
` (16 preceding siblings ...)
2022-04-13 20:17 ` dkwo
@ 2022-04-14 15:54 ` ahesford
17 siblings, 0 replies; 19+ messages in thread
From: ahesford @ 2022-04-14 15:54 UTC (permalink / raw)
To: ml
[-- Attachment #1: Type: text/plain, Size: 925 bytes --]
New comment by ahesford on void-packages repository
https://github.com/void-linux/void-packages/pull/34904#issuecomment-1099329240
Comment:
Disabling the default session manager or separating it into a subpackage just leaves pipewire broken until you install one of the session managers and isn't really a workable solution. I think the only way to really manage this, short of upstream internalizing wireplumber (which I still think they should do, if it's the "official" session manager for pipewire), would be to create a meta package from an external template that depends on both pipewire and the preferred session manager; then we just have to tell people to install `pipewire-void` or something instead of just the pipewire package.
Of course, this update would break existing setups unless we violate our naming conventions and move pipewire to "pipewire-core" or something and name the meta-package "pipewire".
^ permalink raw reply [flat|nested] 19+ messages in thread