On Tue, 2015-11-10 at 21:33 +0100, David Henningsson wrote: > > On 2015-11-10 20:26, Tanu Kaskinen wrote: > > On Tue, 2015-11-10 at 14:52 +0100, David Henningsson wrote: > > > > > > On 2015-11-10 14:40, Tanu Kaskinen wrote: > > > > On Thu, 2015-11-05 at 09:04 +0100, David Henningsson wrote: > > > > > > > > > > On 2015-11-04 12:09, Tanu Kaskinen wrote: > > > > > > On Mon, 2015-11-02 at 09:36 +0100, David Henningsson wrote: > > > > > > > > > > > > > > On 2015-11-01 13:41, Tanu Kaskinen wrote: > > > > > > > > > > > > > > > > I'm not sure if we can fix this upstream. To me it would seem logical > > > > > > > > for the kernel to promise that "Front" only refers to line out, and if > > > > > > > > on some machine it also affects the headphone path, then that should be > > > > > > > > considered a kernel bug, and the kernel should rename the element. > > > > > > > > David, what do you think? > > > > > > > > > > > > > > Well, technically what comes out of a headphone are front left and front > > > > > > > right channels, so to some degree it makes sense that "Front" should be > > > > > > > a part of the headphone path. > > > > > > > > > > > > Sure, "Front" could be defined to affect both line out and headphone > > > > > > paths. The problem is that currently it seems to mean "line out only" > > > > > > on some machines and "line out and headphones" on other machines. If > > > > > > "Front" is defined to affect both paths, then we need some other name > > > > > > for controls that only affect the line out path. > > > > > > > > > > I believe the logical name for such a control would be "Line Out Front". > > > > > (Which we currently do not support in the line out path, btw, and I > > > > > haven't seen it in the wild, either.) > > > > > > > > I suppose the kernel is usually able to automute line out when > > > > headphones are plugged in? > > > > > > Yes. > > > > > > > If so, then why doesn't the kernel expose > > > > the mute control to the userspace? > > > > > > I'm not sure I understand what "the mute control" refers to, but in this > > > case the mute control for the front line out jack is called "Front" (or > > > "Front Playback Switch" being the full name). > > > > I meant the general case, where the kernel knows how to automute line > > out. You said that you haven't seen "Line Out Front" anywhere. Why is > > that, if the kernel knows how to mute line out? > > The kernel is fully aware that the jack is a line out jack (as you can > see on the jack kcontrol). It's just that the algorithm for naming > volume/mute kcontrols is not trivial; on one hand, you want as short > name as possible (max 44 characters, minus ' Playback Switch'), but > still unique and descriptive, taking location, channel map and device > into account. Then add that a volume/mute might control more than one, > but not all, of the outputs...some use cases are not handled optimally. "Line Out Front Playback Volume" doesn't exceed the 44 character limit, so I guess this falls in the category of "some use cases are not handled optimally". Would you be interested in fixing this? As it stands, the userspace can't freely choose between headphone and line out, which is an unnecessary limitation. --Â Tanu