How to enable audio codec power saving

From ThinkWiki
Revision as of 20:45, 24 March 2007 by Nischu (Talk | contribs) (On-demand power control)
Jump to: navigation, search

The AC97 sound device (e.g., AD1981B) requires a noticable amount of power (0.3W on T43). This power can be saved when the device is not in use.

Disabling the device

Disable the sound device by unloading modules or # echo -n 3 > /sys/class/sound/controlC0/device/power/state (replace 3 by 0 to enable again).

On-demand power control

There's an experimental patch from 2.6.19-rc2, that was later corrected in 2.6.19-rc3, which enables the support of aggressive AC97 power-saving mode in the Linux ALSA drivers. In this mode, the AC97 powerdown register bits are dynamically controlled at each open/close of PCM streams. To allow powering off the analog mixer, make sure all analog inputs (Line, Microphone, CD, etc.) are muted.

It is working without a hitch in an IBM X31 with kernel 2.6.20.

The mode is disabled by default, and activated via power_save=1 option for snd-ac97-codec driver (at run time, use # echo Y > /sys/module/snd_ac97_codec/parameters/power_save).

You may hear a faint click each time the device is powered up (at start of playback) and each time the device is powered down (2 seconds after playback ends).

My machine consumes about 119 watts. After having enabled this power_save mode it consumes 117 watts if I don't play anything. Consider that your microphone has to be muted.