Alsamixer configuration

Model : Dell Inspiron 3420
Operating System: Fedora Linux 35
Graphics Platform: X11
Processors: 4 × Intel® Core™ i3-2370M CPU @ 2.40GHz
Memory: 5.7 GiB of RAM
Graphics Processor: Mesa Intel® HD Graphics 3000
For sound : Pulseaudio-pipewire

if i plug my headphone. i am hearing sound from both built in speaker and headphones. The only solution to this issue is enabling alsamixer auto-mute mode. But i have enable it every time when i plug in headphones. i am unable to store the configuration. kindly let me know if there is any solution for this.
note: The same issue persists if i use Pulseaudio.

if any additional info is required let me know

1 Like

Hi, would you like to install sudo dnf install alsa-tools, it will give us some tool apps. Open HDAJackRetask, then from very top left window select appropriate card (other than HDMI). After that on top right, select Advance override. Print screen all and please post it here. Maybe we can do something from there.


Here u go if u need anything else, let me know (This screenshot is with the headphones connected).

I couldn’t cover all the content in the screenshot.(Last two to three line)


so, i am attaching another one.

1 Like

Hi would you like to try with:

Internal speaker:

  • Connectivity: internal
  • Location: internal
  • Device: speaker
  • Jack: other analog
  • Color: unknown
  • Jack Detection: Not Present
  • Channel: 2
  • Channel (in group): Front

Then apply it with click the button on bottom right “Install boot override” and reboot. Check by plug and unplug your headphone.

Later if it not work, you can remove it with “Remove boot override” and reboot.

If above works, please also check with your microphone. Are there have same problem with your speaker.

hey, this solution did not work for me.
There is one things that works for me, alsa mixer Enabling Auto mute.
But it doesn’t store the configuration so whenever i have to replug my headphone. i should enable Auto Mute again and again To solve it.

:thinking: Maybe we can modify the profile inside /usr/share/alsa-card-profile/mixer/path, but I’m not sure.

Would you like to share alsamixer print screen for the current card (press F5 to show all available mixer)? From there we can find the config being use (config from path above) for each volume sliders or other options by knowing the name of each volume sliders or options in alsamixer.


THis is the default one.
/usr/share/alsa-card-profile/mixer/path has many profiles


This is the second config available. so i thought u might need them both so i am sharing it any way

Unfortunately the alsamixer not giving the exact clue. I though there would be different volume slider between headset and speaker (your second image) as bellow:

But there another ways to know the profiles currently use by teh system. Would you like to post the result of bellow command:

cat ~/.local/state/wireplumber/*

Don’t forget the * to show all.

For example here the command result from my system:

[testcase@fedora]$ cat ~/.local/state/wireplumber/*
[default-routes]
alsa_card.pci-0000_00_09.2:input:analog-input-internal-mic:channelMap=FL;FR;
alsa_card.pci-0000_00_09.2:input:analog-input-internal-mic:channelVolumes=0.39999160170555;0.39999160170555;
alsa_card.pci-0000_00_09.2:input:analog-input-internal-mic:latencyOffsetNsec=0
alsa_card.pci-0000_00_09.2:input:analog-input-internal-mic:mute=true
alsa_card.pci-0000_00_09.2:input:analog-input-mic:channelMap=FL;FR;
alsa_card.pci-0000_00_09.2:input:analog-input-mic:channelVolumes=0.39999160170555;0.39999160170555;
alsa_card.pci-0000_00_09.2:input:analog-input-mic:latencyOffsetNsec=0
alsa_card.pci-0000_00_09.2:input:analog-input-mic:mute=true

... and so on. 

From above result we can see analog-input-internal-mic and analog-input-mic as alsa mixer profile paths. Please copy and paste the result of above command here.

alsa_card.pci-0000_00_1b.0=output:analog-stereo+input:analog-stereo
[default-routes]
alsa_card.pci-0000_00_1b.0:output:analog-output-headphones:channelMap=FL;FR;
alsa_card.pci-0000_00_1b.0:output:analog-output-headphones:channelVolumes=1.0;1.0;
alsa_card.pci-0000_00_1b.0:output:analog-output-headphones:latencyOffsetNsec=0
alsa_card.pci-0000_00_1b.0:output:analog-output-speaker:channelMap=FL;FR;
alsa_card.pci-0000_00_1b.0:output:analog-output-speaker:channelVolumes=1.0;1.0;
alsa_card.pci-0000_00_1b.0:output:analog-output-speaker:latencyOffsetNsec=0
alsa_card.pci-0000_00_1b.0:profile:output:analog-stereo+input:analog-stereo=analog-output-headphones;
[restore-stream]
Input/Audio:application.id:org.kde.plasma-pa:channelMap=FL;FR;
Input/Audio:application.id:org.kde.plasma-pa:channelVolumes=1.0;1.0;
Input/Audio:application.id:org.kde.plasma-pa:mute=false
Input/Audio:application.id:org.kde.plasma-pa:volume=1.0
Output/Audio:application.name:Firefox:channelMap=FL;FR;
Output/Audio:application.name:Firefox:channelVolumes=0.0;0.0;
Output/Audio:application.name:Firefox:mute=false
Output/Audio:application.name:Firefox:volume=1.0
Output/Audio:application.name:eSpeak:channelMap=MONO;
Output/Audio:application.name:eSpeak:channelVolumes=1.0;
Output/Audio:application.name:eSpeak:mute=false
Output/Audio:application.name:eSpeak:volume=1.0
Output/Audio:application.name:speech-dispatcher-dummy:channelMap=MONO;
Output/Audio:application.name:speech-dispatcher-dummy:channelVolumes=1.0;
Output/Audio:application.name:speech-dispatcher-dummy:mute=false
Output/Audio:application.name:speech-dispatcher-dummy:volume=1.0
Output/Audio:application.name:speech-dispatcher-espeak-ng:channelMap=MONO;
Output/Audio:application.name:speech-dispatcher-espeak-ng:channelVolumes=1.0;
Output/Audio:application.name:speech-dispatcher-espeak-ng:mute=false
Output/Audio:application.name:speech-dispatcher-espeak-ng:volume=1.0
Output/Audio:media.role:Music:channelMap=FL;FR;
Output/Audio:media.role:Music:channelVolumes=1.0;1.0;
Output/Audio:media.role:Music:mute=false
Output/Audio:media.role:Music:volume=1.0
Output/Audio:media.role:Notification:channelMap=FL;FR;
Output/Audio:media.role:Notification:channelVolumes=1.0;1.0;
Output/Audio:media.role:Notification:mute=false
Output/Audio:media.role:Notification:volume=1.0

Here u go.

Thank you. Here the steps you can try:

We can see that from [default-routes] there a profile analog-output-headphones that obviously wireplumber read the profile of anolog-output-headphones.conf.

# Go to path profile.
cd /usr/share/alsa-card-profile/mixer/paths/

# Make backup for current Alsa profile path for headphone.
sudo cp analog-output-headphones.conf analog-output-headphones.conf.bak

Open file with sudo nano analog-output-headphones.conf then find bellow lines (two parts element):

[Element Headphone+LO]
required-any = any
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

... #Trimmed

; On some machines, the Front Volume Control is shared by Headphone and Lineout,
; or Headphone and Speaker, but they have independent Volume Switch. Here only
; use switch to mute Lineout or Speaker.
[Element Front]
switch = off
volume = zero

You can try to change both of them as bellow or try only once of them for each try. Let say you change first [Element Headphone+LO] and leave as default for [Element Front] and vise versa then finally try to change both of them.

[Element Headphone+LO]
switch = off
volume = off

... #Trimmed

; On some machines, the Front Volume Control is shared by Headphone and Lineout,
; or Headphone and Speaker, but they have independent Volume Switch. Here only
; use switch to mute Lineout or Speaker.
[Element Front]
switch = off
volume = off

After that to test the result for each changes, close all windows except terminal (important to avoid the service hung) and run:

systemctl --user restart wireplumber

Check again with plug and unplug the headphone jack.

Thank you very much. if u have any other solution let me know.it did not work.Followed your instruction as u told

# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 2.1 of the
# License, or (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, see <http://www.gnu.org/licenses/>.

; Path for mixers that have a 'Headphone' control
;
; See analog-output.conf.common for an explanation on the directives

[General]
priority = 99
description-key = analog-output-headphones

[Properties]
device.icon_name = audio-headphones

[Jack Dock Headphone]
required-any = any

[Jack Dock Headphone Phantom]
required-any = any
state.plugged = unknown
state.unplugged = unknown

[Jack Front Headphone]
required-any = any

; HP EliteDesk 800 DM Headset
[Jack Front Headphone Front]
required-any = any

[Jack Front Headphone Phantom]
required-any = any
state.plugged = unknown
state.unplugged = unknown

[Jack Headphone]
required-any = any

[Jack Headphone Phantom]
required-any = any
state.plugged = unknown
state.unplugged = unknown

# This jack can be either a headphone *or* a mic. Used on some ASUS netbooks.
[Jack Headphone Mic]
required-any = any

[Jack Headphone - Output]
required-any = any

[Element Hardware Master]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

[Element Master]
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

[Element Master Mono]
switch = off
volume = off

[Element Speaker+LO]
switch = off
volume = off

[Element Headphone+LO]
required-any = any
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

[Element Headphone]
required-any = any
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

; This path is intended to control the first headphones, not
; the second headphones. But it should not hurt if we leave the second
; headphone jack enabled nonetheless.
[Element Headphone,1]
switch = mute
volume = zero

[Element Headset]
required-any = any
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

[Element Line HP Swap]
switch = on
required-any = any

; This profile path is intended to control the first headphones, not
; the second headphones. But it should not hurt if we leave the second
; headphone jack enabled nonetheless.
[Element Headphone2]
switch = mute
volume = zero

[Element Speaker]
switch = off
volume = off

[Element Desktop Speaker]
switch = off
volume = off

; On some machines, the Front Volume Control is shared by Headphone and Lineout,
; or Headphone and Speaker, but they have independent Volume Switch. Here only
; use switch to mute Lineout or Speaker.
[Element Front]
switch = off
volume = zero

[Element Rear]
switch = off
volume = off

[Element Surround]
switch = off
volume = off

[Element Side]
switch = off
volume = off

[Element Center]
switch = off
volume = off

[Element LFE]
switch = off
volume = off

[Element Bass Speaker]
switch = off
volume = off

[Element Speaker Front]
switch = off
volume = off

[Element Speaker Surround]
switch = off
volume = off

[Element Speaker Side]
switch = off
volume = off

[Element Speaker CLFE]
switch = off
volume = off

[Element Speaker Center/LFE]
switch = off
volume = off

.include analog-output.conf.common

This is Default conf

My last idea is modify [Element Headphone+LO] same as above before. LO I believe is line-out as presented in alsamixer.

i don’t understand what do u mean

My bad. I mean from same steps as above, inside analog-output-headphones.conf, find part [Element Headphone+LO] (previously we modify [Element Speaker+LO]) as bellow:

[Element Headphone+LO]
required-any = any
switch = mute
volume = merge
override-map.1 = all
override-map.2 = all-left,all-right

Change to:

[Element Headphone+LO]
switch = off
volume = off

Then run systemctl --user restart wireplumber.