After installing Ubuntu 20.04 on my desktop computer (Realtek onboard sound card, codec ALC887), I am experiencing a very annoying click (popping sound) every time I open any content with audio.
5 Answers
It was happening because Ubuntu turned on the sound card power-saving capabilities. Turning it off can be the only way to get rid of the annoying sound:
Verify how is your sound card's
power_save
parameter:cat /sys/module/snd_hda_intel/parameters/power_save
If it returns
1
, do the following to change it temporally:echo "0" | sudo tee /sys/module/snd_hda_intel/parameters/power_save
If the previous step worked for you, persist that configuration (otherwise the problem will continue after reboot):
echo "options snd_hda_intel power_save=0" | sudo tee -a /etc/modprobe.d/audio_disable_powersave.conf
(Optional) You can also do the same for
power_save_controller
parameter following the steps 1, 2 and 3 replacingpower_save
bypower_save_controller
also changing0
toN
.Note: using the first step will probably return
Y
for this parameter, instead of1
.
-
8Power saving is a Linux kernel feature and it is good to have. It is just some unknown reason why you get this annoying noise as soon as the audio card wakes up from powersaving. The above is a workaround. The proper solution is probably to get PulseAudio to deal with this gracefully.– user4124Apr 25, 2020 at 12:44
-
9@user4124 Indeed this is unfortunately a workaround, but it may be better than this disruptance. I surely will also upvote any answer that comes with a fundamental solution to the issue.– vanadiumApr 25, 2020 at 14:02
-
2@user4124 it's cheap hardware. Speaker amplifiers put a transient on the output when you apply power to them, unless someone who actually knows what they're doing does the integration properly.– hobbsApr 26, 2020 at 2:13
-
7@user4124 How do you propose PulseAudio should "deal with this gracefully"?– marcelmApr 26, 2020 at 9:24
-
2@hobbs, indeed it's a cheap hardware. This is the reason that I thought it could be useful to mention it and I had to manage something to make it a little better. Proprietary driver seems to solve it somehow on Windows 10, but on Ubuntu, I believe it won't be enough to use PulseAudio to solve it... I would be glad if some one could show it working... Apr 26, 2020 at 15:58
For those here in 2022 that have just upgraded to Kernel version 5.13.0-37
. (Use uname -a
to check your kernel version.)
There appears to be a bug in this version causing audio crackling sounds for external audio interfaces but there is a workaround.
Change Pulse Audio's default sample rate to 48000.
sudo nano /etc/pulse/daemon.conf
Find the lines starting with
; default-sample-rate
; alternate-sample-rate
Remove the ; and change the values to 48000 so it looks like this:
default-sample-rate = 48000
alternate-sample-rate = 48000
Save the file, then restart pulse audio with pulseaudio -k
-
3On kernel 5.13. This solved my problem. I just want to point out that one of the symptoms mentioned in the bug report is that you get regular pulses / clicks every 7 ish seconds. Hopefully this comment helps somebody find this via Google.– CedarMar 28, 2022 at 12:29
-
1
-
Thank you very much, it works perfectly. I'm on Ubuntu 21.10 with kernel 5.13.0-37 too. Apr 2, 2022 at 0:31
-
1also affected on 5.13.0-39 with m-audio dual external usb interface, the click for me was like 2-3 times per second, silent at first but playing any kind of sound in browser or other apps and it became very loud. solution above worked brilliant. Apr 2, 2022 at 21:07
-
1This may be a good answer and it seems to help a lot of people, but it's doesn't actually answer the question, which was about a single (!) pop when starting to play audio.– rob74Sep 6, 2022 at 13:30
You can suspend power saving via PulseAudio instead of via the sound card and comment out the following line in /etc/pulse/default.pa to look like this:
### Automatically suspend sinks/sources that become idle for too long
#load-module module-suspend-on-idle
Then restart PulseAudio:
systemctl restart --user pulseaudio
If that doesn't work then just kill it and it will restart:
pulseaudio --kill
-
1The most upvoted answer did not work for me on Arch Linux. However, your answer did work for me and is also documented in wiki.archlinux.org/title/Power_management#PulseAudio Jun 23, 2021 at 14:54
-
Also for me the most upvoted answer did not work, but this solution worked on Ubuntu 20.04 LTS on a not-yet-fully-supported Thinkpad P14s 2nd Gen.– MichaelDec 23, 2021 at 8:50
For anyone using Pop!_OS with Ubuntu 22.04 or higher, the audio software is now pipewire, and no longer pulseaudio. So @user1115995's solution of disabling the suspend feature on pulseaudio, can be done for pipewire with these commands: (source)
sudo sed -i 's/--\["session.suspend-timeout-seconds"\] = 5/\["session.suspend-timeout-seconds"\] = 0/' /usr/share/wireplumber/main.lua.d/50-alsa-config.lua
systemctl restart --user pipewire.service
I've tried solutions above however they did not seem to help me. Or at least did not seem to help me alone. The extra step that I did was to enable auto mute in alsamixer.
Steps to do that:
Type
alsamixer
to the terminal.Scroll all the way to the right by pressing RIGHT arrow key until you hit
Auto-Mute Mode
.Enable it by pressing UP arrow key then hit ESC.
Note that I have to do it again after restart. However I am sure there is a way how to preserve these alsamixer settings such that they survive rebooting.