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

 

posted @ 2025-11-27 12:40  明的博客  阅读(1)  评论(0)    收藏  举报