Persistent Crackle Issue with Pipewire on Fedora 42

What I’m using

  • Asus ROG Strix G16 (G614JI)
  • Pipewire + Wireplumber (latest versions from dnf)
  • Fedora 42 KDE Plasma
  • Asusctl + GUI (Supergfxctl not installed)
  • GPU: Nvidia RTX 4070 Laptop

The Issue

  • The audio crackles playing anything, including system sounds or multimedia

What I’ve tried

  • Changing pipewire config (didnt work)
  • Adding config to wireplumber from Archwiki section of pipewire about crackle
  • Reinstalling pipewire

What has worked

  • Reinstalling pipewire seems to work. BUT the issue always comes back when the system goes into suspend (putting lid down, deep sleep)
  • After which, the audio stays crackly even after reboot till I follow these steps:
  1. Uninstall pipewire, along with pipewire-pulse, pipewire-alsa
  2. Reboot
  3. Install all the above packages again
  4. Reboot
  • And the crackle will return if the system goes into deep sleep again, making me do the whole process again.

Are there any things I can do that will fix this issue for good? Please advise

I guess I have the same issue. Also haven’t found a solution yet.

Something I also see now is sometimes the crackling gets more and more and then the audio service restarts (shown by Plasma showing the device icons).

@thestupidonehere I have the same issue in the same laptop Asus ROG Strix G16 (well, almost the same G614JU) on fedora 42. Tried to follow your workaround, with the command sudo dnf remove pipewire pipewire-pulse pipewire-alsa but I get this error

Failed to resolve the transaction:
No packages to remove for argument: pipewire-pulse
Problem: installed package mutter-48.2-2.fc42.x86_64 requires pipewire(x86-64) >= 1.2.0, but none of the providers can be installed
  - installed package gnome-shell-48.1-1.fc42.x86_64 requires libmutter-16.so.0()(64bit), but none of the providers can be installed
  - installed package gnome-shell-48.1-1.fc42.x86_64 requires libmutter-clutter-16.so.0()(64bit), but none of the providers can be installed
  - installed package gnome-shell-48.1-1.fc42.x86_64 requires libmutter-cogl-16.so.0()(64bit), but none of the providers can be installed
  - installed package gnome-shell-48.1-1.fc42.x86_64 requires libmutter-mtk-16.so.0()(64bit), but none of the providers can be installed
  - installed package gnome-shell-48.1-1.fc42.x86_64 requires mutter(x86-64) >= 48~rc, but none of the providers can be installed
  - conflicting requests
  - problem with installed package

I wonder how you were able to uninstall to reinstall again.
BTW if you find a solution, please let me know, this is really annoying, been trying multiple distros to find if I can move away from Windows 11, and all with the same issue.

Fix is a bit of a pain:

  1. Add yourself to the pipewire group:

$ sudo usermod -aG pipewire <user>


  1. Create 51-disable-suspension.conf following this:

  1. Disable the real time canary to avoid crackling after sleep:

P.S. type sudo systemctl edit --full rtkit-daemon.service


  1. Logout / login or reboot.

Sometimes usermod just doesn’t take into effect until after a reboot.


If you still get cracking, read the ArchWiki troubleshooting and check this link for buffer tweaks:

@yootfrog I tried to follow the steps, but did not succeed (I am wondering as well if there is a step number 3 missing, or you just skipped it). Thank you very much for the help.

I think I am going to give up on Linux for now, audio is annoying but not that bad, since I bought another hard drive (Kingston KC3000) to dual boot, but I started to get I/O error and eventually stopped working, got it replaced under warranty, for the same one, but I am starting to get I/O errors too (OS freezes and I just can force a shutdown by pressing the power button), not as ofter as the other. I am starting to think that it is related to overheat, and don’t want this replaced disk to fail too.

Not sure if my Asus ROG Strix G16, is a special case that will burn down any second drive with OS on it, or anyone who want to dual boot with dual drives will have this issue too.

the name of the pipewire pulse module is actually pipewire pulseaudio, so you should do sudo dnf remove pipewire-pulseaudio

HELLO!!

Your solution has seemed to work!! I will continue to monitor before actually marking it as solution.
Thank you so so so much this issue has been bugging me for ages and ive literally turned my distro upside down trying to fix it :sweat_smile:
Hopefully this sticks

Thanks again!!

No, just human error!

I should note that I have some low power netbooks from the early 2010’s, and even with maximum tweaking, I still get occasional crackling under heavy CPU load with Pipewire+Wireplumber.

I suspect PulseAudio, currently at version 17.X, just does a better job at avoiding crackling than Pipewire, currently at version 1.X.