summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHui Wang <hui.wang@canonical.com>2020-12-10 15:36:40 +0800
committerPulseAudio Marge Bot <pulseaudio-maintainers@lists.freedesktop.org>2020-12-10 16:49:16 +0000
commit22cd65efc81cf9c4a20d6ed153b38fdcaf6af9e8 (patch)
tree25d9a3c119b34d79dea87060038f12e4b4b57fd4
parent65483e5f6c32452045eacba9b4370642e3b6a053 (diff)
downloadpulseaudio-marge_bot_batch_merge_job.tar.gz
alsa-mixer: disable the Auto-Mute once the system has speakermarge_bot_batch_merge_job
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>
-rw-r--r--src/modules/alsa/mixer/paths/analog-output-speaker.conf7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/modules/alsa/mixer/paths/analog-output-speaker.conf b/src/modules/alsa/mixer/paths/analog-output-speaker.conf
index 1610b9a05..91a4bc163 100644
--- a/src/modules/alsa/mixer/paths/analog-output-speaker.conf
+++ b/src/modules/alsa/mixer/paths/analog-output-speaker.conf
@@ -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]