Bug 2218364 - Pipewire-0.3.72-1 through 0.3.75-1 (and associated packages) adds delay to input audio from microphone.
Summary: Pipewire-0.3.72-1 through 0.3.75-1 (and associated packages) adds delay to in...
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: pipewire
Version: 38
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Wim Taymans
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-06-28 21:07 UTC by George Kokinis
Modified: 2024-05-28 13:16 UTC (History)
3 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2024-05-28 13:16:15 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Output of pactl info. (580 bytes, text/plain)
2023-06-28 21:09 UTC, George Kokinis
no flags Details
Output of journalctl --user -u pipewire. (2.45 KB, text/plain)
2023-06-28 21:14 UTC, George Kokinis
no flags Details
Output from pw-top (268.42 KB, video/webm)
2023-06-29 16:57 UTC, George Kokinis
no flags Details
Output of pw-dump. (285.84 KB, text/plain)
2023-06-29 16:58 UTC, George Kokinis
no flags Details

Description George Kokinis 2023-06-28 21:07:35 UTC
After upgrading to Pipewire 0.3.72-1 on Fedora 38, audio input (at least from a microphone) has significant delay (approximately 1.6 seconds). This is noticeable in the visualiser in Gnome sound settings, as well as in Discord (flatpak), and on https://www.onlinemictest.com/ inside Firefox 114.0.2-1.fc38.  

Downgrading pipewire (sudo dnf downgrade pipewire --allowerasing) to 0.3.67-1 and restarting pipewire (either the full system or via systemctl) stops this from occurring.

Reproducible: Always

Steps to Reproduce:
1. Have the specified version of pipewire and associated packages installed.
2. Use an application that takes mic input, and responds visually to that input.
3. Speak into the microphone.
Actual Results:  
There is a delay (approximately 1.6 seconds) between speaking into the microphone and the application responding.

Expected Results:  
Minimal delay between input and response.

My microphone is a Presonus Revelator Dynamic USB-C, which has worked perfectly with Linux until this update; I originally thought it was an FX preset I'd messed up in Presonus' windows software.
I will attach pactl logs etc as attachments. Any other useful logs, let me know and I'll get them to you.

Comment 1 George Kokinis 2023-06-28 21:09:52 UTC
Created attachment 1973035 [details]
Output of pactl info.

Comment 2 George Kokinis 2023-06-28 21:14:31 UTC
Created attachment 1973036 [details]
Output of journalctl --user -u pipewire.

Output of journalctl --user -u pipewire for boots from today. Multiple restartsq are me swapping version to test that downgrading fixes my issue.

Comment 3 Wim Taymans 2023-06-29 07:17:53 UTC
what is the output of pw-top? can you attach the output of pw-dump when the problem is happening?

Comment 4 George Kokinis 2023-06-29 16:57:55 UTC
Created attachment 1973206 [details]
Output from pw-top

Comment 5 George Kokinis 2023-06-29 16:58:58 UTC
Created attachment 1973207 [details]
Output of pw-dump.

Comment 6 George Kokinis 2023-07-10 19:59:34 UTC
Tested today - Same bug still occurs in pipewire 0.3.73-1.fc38.

Comment 7 George Kokinis 2023-07-18 11:39:22 UTC
Tested again today, still occurs in pipewire-0.3.74-1.fc38.

Comment 8 George Kokinis 2023-07-25 22:11:33 UTC
Tested today, still occurs in 0.3.75-1.fc38.
Are there any configuration changes I can make to give you more information?
And is it worth compiling pipewire locally, or is the fedora build "stock" enough that it shouldn't make a difference.

I suppose that sticking on an old version isn't too much of an issue for now, but I'm worried that at somepoint a security update will be released and I won't be able to update to it due to this bug.

Comment 9 Wim Taymans 2023-07-26 08:10:50 UTC
I am pretty sure that this is caused by the use of hires timestamps and the driver is not giving accurate timestamps.

You could check this theory by setting api.alsa.htimestamp=false on the node properties of the hardware nodes: https://pipewire.pages.freedesktop.org/wireplumber/configuration/alsa.html#node-properties

There seem to be other people suffering from this bug, I might disable hires timestamps by default in future versions.

Comment 10 George Kokinis 2023-07-26 16:56:25 UTC
Evening Wim,
Thanks for that, I have added a rule to set that in the config and it now seems to work. Much appreicated.

Comment 11 Aoife Moloney 2024-05-28 13:16:15 UTC
Fedora Linux 38 entered end-of-life (EOL) status on 2024-05-21.

Fedora Linux 38 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of Fedora Linux
please feel free to reopen this bug against that version. Note that the version
field may be hidden. Click the "Show advanced fields" button if you do not see
the version field.

If you are unable to reopen this bug, please file a new report against an
active release.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.