Power management/Soundcard

From Gentoo Wiki
Jump to:navigation Jump to:search

This article describes the setup of power management of sound devices.

Power-saving mode

The Intel HDA driver has a power-saving mode to suspend the soundcard after some time of inactivity.

Kernel

Systems with an AC97 soundcard need to activate the following kernel options:

KERNEL
Device Drivers  --->
    <*> Sound card support  --->
        <*> Advanced Linux Sound Architecture  --->
            [*] PCI sound devices  --->
                <*> Intel/SiS/nVidia/AMD/ALi AC97 Controller
            [*] Generic sound devices  --->
                [*] AC97 Power-Saving Mode
                (10)  Default time-out for AC97 power-save mode

Systems with a HDA soundcard need to activate the following kernel options:

KERNEL
Device Drivers  --->
    <*> Sound card support  --->
        <*> Advanced Linux Sound Architecture  --->
            [*] PCI sound devices  --->
                <*> HD Audio PCI  --->
                    [*] Aggressive power-saving on HD-audio
                    (10)  Default time-out for HD-audio power-save mode

When the driver is loaded as a module then it may be needed to enable power saving by means of a module parameter:

CODE /etc/modprobe.d/audio_powersave.conf
# For AC97 cards:
options snd_ac97_codec power_save=1
# For HD audio cards:
options snd_hda_intel power_save=1

Runtime tuning

The driver can be tuned in the sysfs filesystem under /sys/module/snd_hda_intel/parameters:

  • The power_save_controller knob controls, if power-saving mode is enabled. It is preset by the kernel option ... power-saving ....
  • The power_save knob sets the time-out in seconds. It is preset by the kernel option Default time-out ...

pm-utils

The sys-power/pm-utils package contains a script to enable the power-saving mode when on battery and disable when on AC. It overrides the default values of the kernel.

If you use pm-utils, but don't want this kind of regulation, disable the script:

root #touch /etc/pm/power.d/intel-audio-powersave

PulseAudio

If you have an Intel HDA soundcard and use PulseAudio, you probably want the following kernel option to improve power-saving:

KERNEL
Device Drivers  --->
    <*> Sound card support  --->
        <*> Advanced Linux Sound Architecture  --->
            [*] PCI sound devices  --->
                <*> HD Audio PCI  --->
                    (2048) Pre-allocated buffer size for HD-audio driver

Troubleshooting

If you hear a unwanted click sound, when the power-saving mode enables, disable the power-saving mode in the kernel.