Comment 15 for bug 355300

Revision history for this message
Henrique de Moraes Holschuh (hmh) wrote :

Well, the problem is that you do not have three volume *keys* in your ThinkPad, you have three volume control buttons that are tied to a specific piece of hardware and functionality.

What IBM and the early Lenovo ThinkPads give you is the equivalent of a volume knob for the headphone and internal speakers, only nicer. And anything you do to attempt to get it to act in any other way will always have some sort of drawback, because the hardware and the firmware were engineered to not let you get away with it.

I have explained how the hardware and the firmware works, and that "disabling the hardware mixer" is not going to happen, because it is impossible to do so. These are all facts. They are not up to discussion, because they cannot be disproved or changed in any meaningful way.

And as many people can attest and some have done so even in this bug report, you get absolutely horrid behavior from the headphone output and the internal speakers when you use the volume buttons to _also_ drive the volume of the master AC97/HDA mixer, which causes a bad compound effect on the speakers and headphone volume.

IMO, there is no way those drawbacks should be imposed on users that are using the hardware as it was engineered to be used.

If you have inserted a dummy plug on the headphone jack to silence the internal speakers, and use only line-out (which requires a dock or port replicator in the first place) to get audio signals, fine. One can easily see why you'd want to drive the master AC97/HDA volume as well using the volume buttons in that case. However, I am sure nobody is arguing for that being such a common setup that it deserves to be the default behavior in a driver or in a distro?

Now, if Ubuntu wants to provide easy access to your alternate setup, that'd be fine. Why don't you guys ask for that, instead, and work out a user-friendly way to select alternate platform setups? I certainly am willing to continue providing volume button keypress events in the kernel driver, as long as it is being used sensibly and not causing more problems than it is worth.