linux系统声音时断时续,声卡继电器反复吸合
在Deepin系统下PCIe独立声卡出现反复吸合(不断断开又重连)的情况,确实挺让人头疼的。这个问题通常和电源管理、驱动兼容性或系统音频服务有关。别担心,我们可以一步步来排查。
编辑ALSA基础配置文件:
sudo nano /etc/modprobe.d/alsa-base.conf
在文件末尾添加这一行:
options snd_hda_intel power_save=0
这个设置会阻止音频驱动尝试将芯片组置于低功耗模式。保存后重启电脑。
重启后,可通过以下方式验证是否生效:
cat /sys/module/snd_hda_intel/parameters/power_save
输出结果如果是0则代表成功。
如果上方办法失效,则尝试下方这个:
sudo nano /etc/udev/rules.d/90-sound-power.rules
填入下方代码并且保存:
# 禁用声卡电源管理 SUBSYSTEM=="sound", ACTION=="add", RUN+="/bin/bash -c 'echo N > /sys/module/snd_hda_intel/parameters/power_save_controller'" SUBSYSTEM=="sound", ACTION=="add", RUN+="/bin/bash -c 'echo 0 > /sys/module/snd_hda_intel/parameters/power_save'" SUBSYSTEM=="sound", ACTION=="change", RUN+="/bin/bash -c 'echo N > /sys/module/snd_hda_intel/parameters/power_save_controller'" SUBSYSTEM=="sound", ACTION=="change", RUN+="/bin/bash -c 'echo 0 > /sys/module/snd_hda_intel/parameters/power_save'"
创建脚本:
sudo nano /etc/systemd/system/udev-reload.service
代码:
[Unit] Description=Reload Udev Rules with Delay After=systemd-udevd.service multi-user.target Wants=systemd-udevd.service [Service] Type=oneshot Environment=PATH=/bin:/usr/bin:/sbin:/usr/sbin ExecStartPre=/bin/sleep 15 ExecStart=/bin/udevadm control --reload-rules ExecStart=/bin/udevadm trigger RemainAfterExit=yes TimeoutSec=60 StandardOutput=journal StandardError=journal [Install] WantedBy=multi-user.target
启用服务:
sudo systemctl enable udev-reload.service
sudo systemctl start udev-reload.service
重启后敲入命令,如果分别是N和0则代表成功:
cat /sys/module/snd_hda_intel/parameters/power_save_controller
cat /sys/module/snd_hda_intel/parameters/power_save
某些系统使用方法二,如果要切换性能模式(电源模式),需要手动运行一下下方代码,或者重启方可生效:
sudo udevadm control --reload-rules sudo udevadm trigger

浙公网安备 33010602011771号