Hi Andrew and thanks for dealing with this issue! I'm sometimes working with certifying Lenovo for Canonical/Ubuntu, so this definitely concerns me. However I know very little about the thinkpad-acpi driver and would like to know more about how it works, and especially the mixer part. On 2011-05-23 19:21, Andrew Lutomirski wrote: > Most ThinkPad laptops have an extra mixer that has nothing to do with > the HDA audio hardware. The kernel can talk to it through the > embedded controller and, if it's muted, then there's no sound even if > the normal controls are all set on. Does this concern the internal speaker only, or headphones / line out as well? Or can that differ between models? I'm assuming it doesn't mute e g USB headset or audio out over HDMI. > These laptops have three special buttons. The mute button either > mutes the mixer or toggles the mute state. The volume up button > unmutes the mixer (if muted) and sends KEY_VOLUMEUP. The volume down > button unmutes the mixer and sends KEY_VOLUMEDOWN. > > On very new models, there's a hardware mute light that indicates the > status of the hardware mute. > > The thinkpad-acpi driver currently exposes an ALSA mixer and the > alsamixer utility can talk to it. But PulseAudio ignores it > completely. > > What is the kernel supposed to do to get PulseAudio to DTRT? Seen from my perspective, and maybe along the lines of Colin's reply, I think the best would be to try to integrate the hw mute in the HDA card at the kernel level (and thus skip card 29 entirely). > On some, > but not (I think) all, models, we can disable hardware mixer control > and make all of the buttons act like ordinary buttons, but that will > cause the light (if present) to malfunction, and I don't know if all > models can do this. So as it stands, PulseAudio would have to > understand that the mixer is special and watch for ALSA change > notifications. So, what can the thinkpad-acpi driver do here? Can it e g control the hardware mute status at all, or can that only be done by pressing the keys? > I'm willing to change the thinkpad-acpi driver to make it work better, > but I know nothing at all about PulseAudio internals. What should I > do? > > (There's an added complexity. Really old models have mute and volume. > I don't own one, so I don't know much about how they work.) As a maybe unrelated issue, many of these thinkpads also have a microphone mute hotkey I was hoping to be able to get to work at some point. Assuming we add a new key to linux/input.h, would it be easy for you to fix that in the thinkpad-acpi driver? I think it currently triggers KEY_UNKNOWN. -- David Henningsson, Canonical Ltd. http://launchpad.net/~diwic