Public bug reported:

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.

** Affects: pipewire (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Desktop
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:
  New

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


-- 
Mailing list: https://launchpad.net/~desktop-packages
Post to     : desktop-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~desktop-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to