But I still wonder why PulseAudio cares the headphone jack state even though this has only one output at all?
When seeing the system as a whole, there can be other outputs on other cards - HDMI, USB etc. If somebody e g plugs a USB headset in it will
be
simpler for the user if PulseAudio does not also show the unplugged
3.5
mm jack
phantom port of internal speaker or internal Mic is ok but
how about those jack spdif, CD , Aux which does not have jack detect circuit
Is it feasible for driver implement a read/ write kcontrol for those port and allow the user to change the state of those port by using special application (e.g. qashctl) ?
That said, it's not super difficult to comment out a few lines in /usr/share/pulseaudio/alsa-mixer/paths/*.conf, and also, most mixer UIs
(e g pavucontrol) still allows you to route audio to an unavailable port.
For ad1988 which still not support auto mute nor hda jack detect. The user still able to use the card in gnome but not in unity.
https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/995169
And ca0132 which does not implement auto mute ?
https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1043621
And the other ad198x which support auto mute but not implement hda jack detect
https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1051494
The other cases are those on-board ac97 controller (e.g. Intel8x0, atiixp,...) with ac97 codecs which have the headphone playback volume control.
What is the usage of those "Headphone Jack Sense" control of AC97 codecs ? Some of them seem have inverted control
https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/1033996