alsa-mixer: disable the Auto-Mute once the system has speaker
authorHui Wang <hui.wang@canonical.com>
Thu, 10 Dec 2020 07:36:40 +0000 (15:36 +0800)
committerPulseAudio Marge Bot <pulseaudio-maintainers@lists.freedesktop.org>
Thu, 10 Dec 2020 17:01:19 +0000 (17:01 +0000)
With the Auto-Mute enabled, if the headphone jack is plugged, the
alsa hda driver will mute the speaker and set pinctl of the speaker
to Hi-Z state, after this happens, even the pulseaudio unmute the
speaker, the speaker still couldn't output sound because the pinctl
is in Hi-Z state.

We found this issue on a Dell machine which has multi-function audio
jack, after the headphone is plugged in, the speaker's availability is
still unknown, users could select speaker from gnome-sound-setting,
but even the speaker is selected to be the active device, it couldn't
output sound.

The Auto-Mute is not useful if the pulseaudio is running since pa
could mute/unmute devices according to active port change, the ucm
for sof+hda already disabled the Auto-Mute, let us disable it for
hda audio if the machine has the internal speaker.

Signed-off-by: Hui Wang <hui.wang@canonical.com>
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/433>

src/modules/alsa/mixer/paths/analog-output-speaker.conf

index 1610b9a..91a4bc1 100644 (file)
@@ -88,6 +88,13 @@ override-map.2 = all-left,all-right
 switch = off
 volume = off
 
+; Make sure the internal speakers are not auto-muted once the system has speakers
+[Element Auto-Mute Mode]
+enumeration = select
+
+[Option Auto-Mute Mode:Disabled]
+name = analog-output-speaker
+
 ; This profile path is intended to control the speaker, let's mute headphones
 ; else there will be a spike when plugging in headphones
 [Element Headphone]