After spending much too much time on this issue I finally figured it out: seems like some recent TLP or kernel audio driver changes caused the issue. After using auditd
to see what was editing the file I found out that tlp
was wiping out any changes I did through modprobe or systemd services during boot. To solve the issue all I had to do was edit /etc/tlp.conf
to such that the audio section looks like this (I didn’t dig into which line was specifically the culprit, but I seems like TLP may think that my desktop is on battery power?):
# Enable audio power saving for Intel HDA, AC97 devices (timeout in secs).
# A value of 0 disables, >=1 enables power saving (recommended: 1).
# Default: 0 (AC), 1 (BAT)
SOUND_POWER_SAVE_ON_AC=0
SOUND_POWER_SAVE_ON_BAT=0
# Disable controller too (HDA only): Y/N.
# Note: effective only when SOUND_POWER_SAVE_ON_AC/BAT is activated.
# Default: Y
SOUND_POWER_SAVE_CONTROLLER=N
And reboot. This alone solves my issue without any modprobe modifications.
Edit: Having a look at tlp-stat
output TLP indeed thinks my desktop computer is running off of battery. Strange. Possible TLP regression?
Edit2:
This did the trick to fix TLP’s incorrect power supply mode detection:
# Operation mode when no power supply can be detected: AC, BAT.
# Concerns some desktop and embedded hardware only.
# Default: <none>
TLP_DEFAULT_MODE=AC
# Operation mode select: 0=depend on power source, 1=always use TLP_DEFAULT_MODE
# Note: use in conjunction with TLP_DEFAULT_MODE=BAT for BAT settings on AC.
# Default: 0
TLP_PERSISTENT_DEFAULT=1
With this the explicit audio power setting changes shouldn’t be needed.