Ich bin neu bei Linux Ubuntu, schon lange Windows-Benutzer und froh, dass ich umsteige. Wenn ich meinen Desktop-PC einrichte, höre ich etwa alle 2 Sekunden ein nerviges und sich wiederholendes Lautsprecher-„Knackgeräusch“. Dieses Knacken tritt unabhängig von der Lautstärke auf. Es hört auf, wenn ich den Audiostecker meiner Lautsprecher abziehe und nur den in der Hauptplatine eingebauten Lautsprecher verwende. Wenn ich einen Ton abspiele, hört das Knacken auf, während der Ton abgespielt wird, und für etwa 5 Sekunden danach, dann geht es weiter.
Ich verwende Linux Ubuntu 18.04.3 LTS. Die Systeminformationen melden zwei Audioadapter, HDA-Intel - HDA ATI SB & HDA-Intel - HDA NVidia
Ich habe schließlich die Lösung für dieses Problem gefunden, aber ich habe nicht genügend Reputationspunkte, um Fragen und Antworten gemeinsam zu veröffentlichen.
Antwort1
Das Betriebssystem schaltet den Audioadapter standardmäßig nach 10 Sekunden aus, um Strom zu sparen. Diese Energiesparfunktion verursacht das Knacken und kann deaktiviert werden.
Geben Sie im Terminal ein sudo nano /sys/module/snd_hda_intel/parameters/power_save
und ändern Sie den Wert von 1 auf 0.
Geben Sie dann sudo nano /sys/module/snd_hda_intel/parameters/power_save_controller
den Wert ein und ändern Sie ihn von Y in N.
Auf meinem System löste dies das Problem mit dem Audio-Popping sofort. Beim Neustart trat das Problem jedoch erneut auf und ich stellte fest, dass diese Werte zurückgesetzt worden waren. Um diese Werte dauerhaft beizubehalten, musste ich eine Codezeile hinzufügen. Ich /etc/modprobe.d/alsa-base.conf
fügte diese nach der letzten Codezeile in der Datei hinzu:options snd-hda-intel power_save=0 power_save_controller=N
Speichern Sie die Datei, und schon kann es losgehen!
Viele meiner Informationen stammen aus diesem Video:https://www.youtube.com/watch?v=Pdmy8dMWitg
Ich musste den Teil „Persistenz nach Neustart“ zusammensetzen und meine Einstellung wurde zurückgesetzt, obwohl ich TLP nicht installiert habe. Beachten Sie, dass das Video etwas anderes behauptet.
Ich war ziemlich frustriert über Ubuntu, bis ich das herausgefunden habe. Ich hoffe, das hilft vielen Leuten, ihre Audioprobleme zu lösen!
Antwort2
Als Follow-up zu @Glens Antwort ist hier ein Skript, das die Aufgabe ausführt:
fix_ubuntu_18_04_sound_pop_issue(){
__heredoc__="""
Script that fixes a popping sound due to a power saving feature
References:
https://superuser.com/questions/1493096/linux-ubuntu-speakers-popping-every-few-seconds
https://www.youtube.com/watch?v=Pdmy8dMWitg
"""
sudo echo "obtaining sudo"
# First, there are two system files that need modification
# Changing the values here should fix the issue in your current session.
cat /sys/module/snd_hda_intel/parameters/power_save
cat /sys/module/snd_hda_intel/parameters/power_save_controller
# Flip the 1 to a 0
sudo sh -c "echo 0 > /sys/module/snd_hda_intel/parameters/power_save"
# Flip the Y to a N
sudo sh -c "echo N > /sys/module/snd_hda_intel/parameters/power_save_controller"
# To make this change persistant we must modify a config file
if [ -f "/etc/default/tlp" ]; then
# Some systems (usually laptops) have this controlled via TLP
sudo sed -i 's/SOUND_POWER_SAVE_ON_BAT=1/SOUND_POWER_SAVE_ON_BAT=0/' /etc/default/tlp
# This line contained a typo, addressed on 2020-10-11 11:11 Bcn time
sudo sed -i 's/SOUND_POWER_SAVE_CONTROLLER=Y/SOUND_POWER_SAVE_CONTROLLER=N/' /etc/default/tlp
elif [ -f "/etc/modprobe.d/alsa-base.conf" ]; then
# Append this line to the end of the file
text="options snd-hda-intel power_save=0 power_save_controller=N"
fpath="/etc/modprobe.d/alsa-base.conf"
# Apppend the text only if it doesn't exist
found="$(grep -F "$text" "$fpath")"
if [ "$found" == "" ]; then
sudo sh -c "echo \"$text\" >> $fpath"
fi
cat "$fpath"
else
echo "Error!, unknown system audio configuration" 1>&2
exit 1
fi
}
Antwort3
Als Ergänzung zu Glens Antwort: Aus Sicherheitsgründen ist es besser, sudoedit
anstelle von zu verwenden. Beachten Sie, dass Sie auch die Umgebungsvariable sudo nano
festlegen müssen .EDITOR
Also statt:
sudo nano /sys/module/snd_hda_intel/parameters/power_save
verwenden
EDITOR=nano sudoedit /sys/module/snd_hda_intel/parameters/power_save
und statt
sudo nano /sys/module/snd_hda_intel/parameters/power_save_controller
verwenden
EDITOR=nano sudoedit /sys/module/snd_hda_intel/parameters/power_save_controller
Der Grund, warum sudoedit
es besser ist, wird in dieser SuperUser-Frage ausführlich erklärt.sudoedit: Warum es anstelle von sudo vi verwenden?