debcrafters-packages team mailing list archive
-
debcrafters-packages team
-
Mailing list archive
-
Message #03138
[Bug 2107340] Re: Pipewire fails to reacquire a realtime priority when restarted
How to reproduce:
1. Fresh boot machine
2. See expected realtime parameters
ps -e -o pri,ni,comm | grep wire
30 -11 pipewire
19 0 pipewire
30 -11 wireplumber
30 -11 pipewire-pulse
3. Restart the services
systemctl --user restart pipewire wireplumber pipewire-pulse
4. See unexpected realtime parameters
ps -e -o pri,ni,comm | grep wire
19 0 pipewire
19 0 pipewire
19 0 wireplumber
19 0 pipewire-pulse
I could only reproduce on 25.04, the bug isn't reproducible in questing
or 24.04 for me interestingly. I suspected the culprit was xdg-desktop-
portal after seeing https://github.com/flatpak/xdg-desktop-
portal/issues/1653 - but that fix isn't on noble or questing anyway. The
only difference between plucky and questing's xdg-desktop-portal is a
rebuild for fuse3. It may also be a kernel behaviour. There's hasn't
been much excitement in the git log relating to module-rt.c in pipewire
across the versions from noble to questing...
** Bug watch added: github.com/flatpak/xdg-desktop-portal/issues #1653
https://github.com/flatpak/xdg-desktop-portal/issues/1653
--
You received this bug notification because you are a member of
Debcrafters packages, which is subscribed to pipewire in Ubuntu.
https://bugs.launchpad.net/bugs/2107340
Title:
Pipewire fails to reacquire a realtime priority when restarted
Status in pipewire package in Ubuntu:
Confirmed
Bug description:
Pipewire tries to acquire a realtime priority when it starts via the
libpipewire-module-rt plugin. By default, it prefers to use the
org.freedesktop.portal.Realtime interface if xdg-desktop-portal is
running (it checks if org.freedesktop.portal.Desktop exists on the
session bus). If xdg-desktop-portal isn't running, it uses rtkit
directly - see
https://gitlab.freedesktop.org/pipewire/pipewire/-/tree/1.2.7/src/modules?ref_type=tags#L932.
I started looking at this because I have an annoying issue with my
audio which results in my speakers making popping noises frequently
when they're outputting anything. I have another issue where my USB
speakers are frequently not detected by pipewire without restarting
it.
When pipewire starts with a new session, it acquires a realtime
priority by using rtkit directly because xdg-desktop-portal isn't
running at this stage. However, if you restart pipewire manually later
on when xdg-desktop-portal is running, pipewire uses the portal
interface to request a realtime priority, and this fails with xdg-
desktop-portal outputting the following error to the journal:
Apr 13 02:58:01 farnsworth xdg-desktop-por[7283]: Realtime error:
Could not get pidns: Could not fstatat ns/pid: Not a directory
The libpipewire-module-rt plugin does have an option to disable usage
of the portal interface for requesting a realtime priority
(rtportal.enabled=false).
This is tested with pipewire 1.2.7 in plucky.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pipewire/+bug/2107340/+subscriptions