You are not logged in.
Basically what it says in the subject. I need to open the sound settings panel (I'm using Cinnamon DE) every time I plug or unplug my headphones to manually switch the profile. I consulted the wiki and followed the advice given here:
https://wiki.archlinux.org/title/PipeWi … new_device
I restarted the pipewire-pulse service and used pactl list modules to confirm the module-switch-on-connect module was loaded, but this did not fix the issue
I can provide any console output needed about my system information and would greatly appreciate any help to get this behavior working as expected
Last edited by satellitesahara (2026-02-08 00:50:06)
Offline
Which kind of headphones? The module-switch-on-connect usually only works if whatever you're plugging in is considered a distinct card (spawns a new card in aplay -l/pactl list cards for example) if it's a simple jack, it might be misconfigured in the driver (amixer -c0 to check for example, or whatever the correct card index is) if you're lucky it's a toggle there if unlucky you might have to play around with some model settings.
First things first, what do you get from
aplay -lL
amixer -c0 #or whatever the correct card
pactl list cards
pactl list sinkspost that wrapped in [code][/code] tags.
Offline
It does appear that the headphones are not registered as a separate sound card. There's only one sound card in my system. Here's the output of the commands you asked for:
aplay -lL:
null
Discard all samples (playback) or generate zero samples (capture)
pipewire
PipeWire Sound Server
default:CARD=sofhdadsp
sof-hda-dsp,
Default Audio Device
sysdefault:CARD=sofhdadsp
sof-hda-dsp,
Default Audio Device
hdmi:CARD=sofhdadsp,DEV=0
sof-hda-dsp,
HDMI Audio Output
hdmi:CARD=sofhdadsp,DEV=1
sof-hda-dsp,
HDMI Audio Output
hdmi:CARD=sofhdadsp,DEV=2
sof-hda-dsp,
HDMI Audio Output
**** List of PLAYBACK Hardware Devices ****
card 0: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 3: HDMI1 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 4: HDMI2 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 5: HDMI3 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: sofhdadsp [sof-hda-dsp], device 31: Deepbuffer HDA Analog (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0amixer -c0
Simple mixer control 'Master',0
Capabilities: pvolume pvolume-joined pswitch pswitch-joined
Playback channels: Mono
Limits: Playback 0 - 87
Mono: Playback 87 [100%] [0.00dB] [on]
Simple mixer control 'Headphone',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 87
Mono:
Front Left: Playback 80 [92%] [-5.25dB] [off]
Front Right: Playback 80 [92%] [-5.25dB] [off]
Simple mixer control 'Speaker',0
Capabilities: pvolume pswitch
Playback channels: Front Left - Front Right
Limits: Playback 0 - 87
Mono:
Front Left: Playback 73 [84%] [-10.50dB] [on]
Front Right: Playback 73 [84%] [-10.50dB] [on]
Simple mixer control 'Mic Boost',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 3
Front Left: 0 [0%] [0.00dB]
Front Right: 0 [0%] [0.00dB]
Simple mixer control 'IEC958',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'IEC958',1
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'IEC958',2
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Capture',0
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 63
Front Left: Capture 38 [60%] [11.25dB] [off]
Front Right: Capture 38 [60%] [11.25dB] [off]
Simple mixer control 'Auto-Mute Mode',0
Capabilities: enum
Items: 'Disabled' 'Enabled'
Item0: 'Disabled'
Simple mixer control 'Dmic0',0
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right - Rear Left - Rear Right
Limits: Capture 0 - 45
Front Left: Capture 45 [100%] [0.00dB] [off]
Front Right: Capture 45 [100%] [0.00dB] [off]
Rear Left: Capture 45 [100%] [0.00dB] [off]
Rear Right: Capture 45 [100%] [0.00dB] [off]
Simple mixer control 'Dmic0 Capture DRC switch',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'Dmic0 Capture TDFB angle set enum',0
Capabilities: enum
Items: '-90' '-75' '-60' '-45' '-30' '-15' '0' '15' '30' '45' '60' '75' '90'
Item0: '0'
Simple mixer control 'Dmic0 Capture TDFB beam switch',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [on]
Simple mixer control 'Post Mixer Analog',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 45
Mono:
Front Left: Playback 45 [100%] [0.00dB]
Front Right: Playback 45 [100%] [0.00dB]
Simple mixer control 'Post Mixer Analog Playback DRC switch',0
Capabilities: pswitch pswitch-joined
Playback channels: Mono
Mono: Playback [off]
Simple mixer control 'Pre Mixer Analog',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 45
Mono:
Front Left: Playback 45 [100%] [0.00dB]
Front Right: Playback 45 [100%] [0.00dB]
Simple mixer control 'Pre Mixer Deepbuffer HDA Analog',0
Capabilities: volume
Playback channels: Front Left - Front Right
Capture channels: Front Left - Front Right
Limits: 0 - 45
Front Left: 45 [100%] [0.00dB]
Front Right: 45 [100%] [0.00dB]pactl list cards
Card #48
Name: alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic
Driver: alsa
Owner Module: n/a
Properties:
device.enum.api = "udev"
device.api = "alsa"
media.class = "Audio/Device"
api.alsa.path = "hw:0"
api.alsa.card = "0"
api.alsa.card.name = "sof-hda-dsp"
api.alsa.card.longname = "LENOVO-83DL-Yoga72_in_116IML9-LNVNB161216"
device.plugged.usec = "6115223403"
device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0"
device.bus = "pci"
device.subsystem = "sound"
device.vendor.id = "0x8086"
device.vendor.name = "Intel Corporation"
device.product.id = "0x7e28"
device.product.name = "Meteor Lake-P HD Audio Controller"
device.name = "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic"
device.description = "Meteor Lake-P HD Audio Controller"
device.nick = "sof-hda-dsp"
device.icon_name = "audio-card-analog-pci"
api.alsa.use-acp = "true"
api.acp.auto-profile = "false"
api.acp.auto-port = "false"
api.dbus.ReserveDevice1.Priority = "-20"
api.alsa.split-enable = "true"
api.dbus.ReserveDevice1 = "Audio0"
spa.object.id = "2"
factory.id = "15"
client.id = "47"
object.id = "48"
object.serial = "48"
object.path = "alsa:acp:sofhdadsp"
alsa.card = "0"
alsa.card_name = "sof-hda-dsp"
alsa.long_card_name = "LENOVO-83DL-Yoga72_in_116IML9-LNVNB161216"
alsa.driver_name = "snd_soc_skl_hda_dsp"
alsa.mixer_name = "Realtek ALC287"
alsa.components = "HDA:8086281d,80860101,00100000 HDA:10ec0287,17aa38dc,00100002 cfg-dmics:2 iec61937-pcm:5,4,3"
alsa.id = "sofhdadsp"
device.string = "0"
Profiles:
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2): Play HiFi quality Music (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2) (sinks: 4, sources: 2, priority: 10300, available: yes)
HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker): Play HiFi quality Music (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker) (sinks: 4, sources: 2, priority: 10200, available: yes)
pro-audio: Pro Audio (sinks: 5, sources: 2, priority: 1, available: yes)
Active Profile: HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker)
Ports:
[Out] HDMI3: HDMI / DisplayPort 3 Output (type: HDMI, priority: 700, latency offset: 0 usec, availability group: HDMI/DP,pcm=5, not available)
Properties:
port.type = "hdmi"
port.availability-group = "HDMI/DP,pcm=5"
device.icon_name = "video-display"
card.profile.port = "0"
Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker), HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2)
[Out] HDMI2: HDMI / DisplayPort 2 Output (type: HDMI, priority: 600, latency offset: 0 usec, availability group: HDMI/DP,pcm=4, not available)
Properties:
port.type = "hdmi"
port.availability-group = "HDMI/DP,pcm=4"
device.icon_name = "video-display"
card.profile.port = "1"
Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker), HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2)
[Out] HDMI1: HDMI / DisplayPort 1 Output (type: HDMI, priority: 500, latency offset: 0 usec, availability group: HDMI/DP,pcm=3, available)
Properties:
port.type = "hdmi"
port.availability-group = "HDMI/DP,pcm=3"
device.icon_name = "video-display"
card.profile.port = "2"
device.product.name = "DELL U2419H"
iec958.codecs.detected = "[\"PCM\"]"
Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker), HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2)
[Out] Speaker: Speaker (type: Speaker, priority: 100, latency offset: 0 usec, availability unknown)
Properties:
port.type = "speaker"
device.icon_name = "audio-speakers"
card.profile.port = "3"
Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker)
[In] Mic2: Stereo Microphone (type: Mic, priority: 200, latency offset: 0 usec, availability group: Mic, not available)
Properties:
port.type = "mic"
port.availability-group = "Mic"
device.icon_name = "audio-input-microphone"
card.profile.port = "4"
Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker), HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2)
[In] Mic1: Digital Microphone (type: Mic, priority: 100, latency offset: 0 usec, availability unknown)
Properties:
port.type = "mic"
device.icon_name = "audio-input-microphone"
card.profile.port = "5"
Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker), HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2)
[Out] Headphones: Headphones (type: Headphones, priority: 200, latency offset: 0 usec, availability group: Headphone, available)
Properties:
port.type = "headphones"
port.availability-group = "Headphone"
device.icon_name = "audio-headphones"
card.profile.port = "6"
Part of profile(s): HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2)pactl list sinks
Sink #59
State: SUSPENDED
Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink
Description: Meteor Lake-P HD Audio Controller HDMI / DisplayPort 3 Output
Driver: PipeWire
Sample Specification: s32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
object.path = "alsa:acp:sofhdadsp:0:playback"
api.alsa.path = "hw:sofhdadsp,5"
api.alsa.open.ucm = "true"
api.alsa.pcm.card = "0"
api.alsa.pcm.stream = "playback"
port.group = "playback"
device.icon_name = "video-display"
device.bus = "pci"
audio.channels = "2"
audio.position = "FL,FR"
device.routes = "1"
alsa.mixer_device = "_ucm0001.hw:sofhdadsp"
alsa.resolution_bits = "16"
alsa.card = "0"
alsa.card_name = "sof-hda-dsp"
alsa.long_card_name = "LENOVO-83DL-Yoga72_in_116IML9-LNVNB161216"
alsa.driver_name = "snd_soc_skl_hda_dsp"
alsa.mixer_name = "Realtek ALC287"
alsa.components = "HDA:8086281d,80860101,00100000 HDA:10ec0287,17aa38dc,00100002 cfg-dmics:2 iec61937-pcm:5,4,3"
alsa.id = "sofhdadsp"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = ""
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "5"
alsa.sync.id = "00000000:00000000:00000000:00000000"
device.profile.name = "HiFi: HDMI3: sink"
device.profile.description = "HDMI / DisplayPort 3 Output"
card.profile.device = "0"
device.id = "48"
factory.name = "api.alsa.pcm.sink"
node.pause-on-idle = "false"
priority.driver = "664"
priority.session = "664"
media.class = "Audio/Sink"
node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink"
node.nick = "HDMI / DisplayPort 3 Output"
device.description = "Meteor Lake-P HD Audio Controller"
api.alsa.card.name = "sof-hda-dsp"
api.alsa.card.longname = "LENOVO-83DL-Yoga72_in_116IML9-LNVNB161216"
factory.id = "19"
clock.quantum-limit = "8192"
client.id = "47"
node.driver = "true"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
object.id = "59"
object.serial = "59"
device.enum.api = "udev"
api.alsa.card = "0"
device.plugged.usec = "6115223403"
device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0"
device.subsystem = "sound"
device.vendor.id = "0x8086"
device.vendor.name = "Intel Corporation"
device.product.id = "0x7e28"
device.product.name = "Meteor Lake-P HD Audio Controller"
device.name = "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic"
device.nick = "sof-hda-dsp"
api.alsa.use-acp = "true"
api.acp.auto-profile = "false"
api.acp.auto-port = "false"
api.dbus.ReserveDevice1.Priority = "-20"
api.alsa.split-enable = "true"
api.dbus.ReserveDevice1 = "Audio0"
spa.object.id = "2"
device.string = "0"
Ports:
[Out] HDMI3: HDMI / DisplayPort 3 Output (type: HDMI, priority: 700, availability group: HDMI/DP,pcm=5, not available)
Active Port: [Out] HDMI3
Formats:
pcm
Sink #60
State: SUSPENDED
Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink
Description: Meteor Lake-P HD Audio Controller HDMI / DisplayPort 2 Output
Driver: PipeWire
Sample Specification: s32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
object.path = "alsa:acp:sofhdadsp:1:playback"
api.alsa.path = "hw:sofhdadsp,4"
api.alsa.open.ucm = "true"
api.alsa.pcm.card = "0"
api.alsa.pcm.stream = "playback"
port.group = "playback"
device.icon_name = "video-display"
device.bus = "pci"
audio.channels = "2"
audio.position = "FL,FR"
device.routes = "1"
alsa.mixer_device = "_ucm0001.hw:sofhdadsp"
alsa.resolution_bits = "16"
alsa.card = "0"
alsa.card_name = "sof-hda-dsp"
alsa.long_card_name = "LENOVO-83DL-Yoga72_in_116IML9-LNVNB161216"
alsa.driver_name = "snd_soc_skl_hda_dsp"
alsa.mixer_name = "Realtek ALC287"
alsa.components = "HDA:8086281d,80860101,00100000 HDA:10ec0287,17aa38dc,00100002 cfg-dmics:2 iec61937-pcm:5,4,3"
alsa.id = "sofhdadsp"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = ""
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "4"
alsa.sync.id = "00000000:00000000:00000000:00000000"
device.profile.name = "HiFi: HDMI2: sink"
device.profile.description = "HDMI / DisplayPort 2 Output"
card.profile.device = "1"
device.id = "48"
factory.name = "api.alsa.pcm.sink"
node.pause-on-idle = "false"
priority.driver = "680"
priority.session = "680"
media.class = "Audio/Sink"
node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink"
node.nick = "HDMI / DisplayPort 2 Output"
device.description = "Meteor Lake-P HD Audio Controller"
api.alsa.card.name = "sof-hda-dsp"
api.alsa.card.longname = "LENOVO-83DL-Yoga72_in_116IML9-LNVNB161216"
factory.id = "19"
clock.quantum-limit = "8192"
client.id = "47"
node.driver = "true"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
object.id = "60"
object.serial = "60"
device.enum.api = "udev"
api.alsa.card = "0"
device.plugged.usec = "6115223403"
device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0"
device.subsystem = "sound"
device.vendor.id = "0x8086"
device.vendor.name = "Intel Corporation"
device.product.id = "0x7e28"
device.product.name = "Meteor Lake-P HD Audio Controller"
device.name = "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic"
device.nick = "sof-hda-dsp"
api.alsa.use-acp = "true"
api.acp.auto-profile = "false"
api.acp.auto-port = "false"
api.dbus.ReserveDevice1.Priority = "-20"
api.alsa.split-enable = "true"
api.dbus.ReserveDevice1 = "Audio0"
spa.object.id = "2"
device.string = "0"
Ports:
[Out] HDMI2: HDMI / DisplayPort 2 Output (type: HDMI, priority: 600, availability group: HDMI/DP,pcm=4, not available)
Active Port: [Out] HDMI2
Formats:
pcm
Sink #61
State: SUSPENDED
Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink
Description: Meteor Lake-P HD Audio Controller HDMI / DisplayPort 1 Output
Driver: PipeWire
Sample Specification: s32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 26214 / 40% / -23.88 dB, front-right: 26214 / 40% / -23.88 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
object.path = "alsa:acp:sofhdadsp:2:playback"
api.alsa.path = "hw:sofhdadsp,3"
api.alsa.open.ucm = "true"
api.alsa.pcm.card = "0"
api.alsa.pcm.stream = "playback"
port.group = "playback"
device.icon_name = "video-display"
device.bus = "pci"
audio.channels = "2"
audio.position = "FL,FR"
iec958.codecs = "[\"PCM\"]"
device.routes = "1"
alsa.mixer_device = "_ucm0001.hw:sofhdadsp"
alsa.resolution_bits = "16"
alsa.card = "0"
alsa.card_name = "sof-hda-dsp"
alsa.long_card_name = "LENOVO-83DL-Yoga72_in_116IML9-LNVNB161216"
alsa.driver_name = "snd_soc_skl_hda_dsp"
alsa.mixer_name = "Realtek ALC287"
alsa.components = "HDA:8086281d,80860101,00100000 HDA:10ec0287,17aa38dc,00100002 cfg-dmics:2 iec61937-pcm:5,4,3"
alsa.id = "sofhdadsp"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = ""
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "3"
alsa.sync.id = "00000000:00000000:00000000:00000000"
device.profile.name = "HiFi: HDMI1: sink"
device.profile.description = "HDMI / DisplayPort 1 Output"
card.profile.device = "2"
device.id = "48"
factory.name = "api.alsa.pcm.sink"
node.pause-on-idle = "false"
priority.driver = "696"
priority.session = "696"
media.class = "Audio/Sink"
node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink"
node.nick = "HDMI / DisplayPort 1 Output"
device.description = "Meteor Lake-P HD Audio Controller"
api.alsa.card.name = "sof-hda-dsp"
api.alsa.card.longname = "LENOVO-83DL-Yoga72_in_116IML9-LNVNB161216"
factory.id = "19"
clock.quantum-limit = "8192"
client.id = "47"
node.driver = "true"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
object.id = "61"
object.serial = "61"
device.enum.api = "udev"
api.alsa.card = "0"
device.plugged.usec = "6115223403"
device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0"
device.subsystem = "sound"
device.vendor.id = "0x8086"
device.vendor.name = "Intel Corporation"
device.product.id = "0x7e28"
device.product.name = "Meteor Lake-P HD Audio Controller"
device.name = "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic"
device.nick = "sof-hda-dsp"
api.alsa.use-acp = "true"
api.acp.auto-profile = "false"
api.acp.auto-port = "false"
api.dbus.ReserveDevice1.Priority = "-20"
api.alsa.split-enable = "true"
api.dbus.ReserveDevice1 = "Audio0"
spa.object.id = "2"
device.string = "0"
Ports:
[Out] HDMI1: HDMI / DisplayPort 1 Output (type: HDMI, priority: 500, availability group: HDMI/DP,pcm=3, available)
Active Port: [Out] HDMI1
Formats:
pcm
Sink #62
State: RUNNING
Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink
Description: Meteor Lake-P HD Audio Controller Speaker
Driver: PipeWire
Sample Specification: s32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 42588 / 65% / -11.23 dB, front-right: 42588 / 65% / -11.23 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
object.path = "alsa:acp:sofhdadsp:3:playback"
api.alsa.path = "hw:sofhdadsp"
api.alsa.open.ucm = "true"
api.alsa.pcm.card = "0"
api.alsa.pcm.stream = "playback"
port.group = "playback"
device.icon_name = "audio-speakers"
device.bus = "pci"
audio.channels = "2"
audio.position = "FL,FR"
device.routes = "1"
alsa.mixer_device = "_ucm0001.hw:sofhdadsp"
alsa.resolution_bits = "16"
alsa.card = "0"
alsa.card_name = "sof-hda-dsp"
alsa.long_card_name = "LENOVO-83DL-Yoga72_in_116IML9-LNVNB161216"
alsa.driver_name = "snd_soc_skl_hda_dsp"
alsa.mixer_name = "Realtek ALC287"
alsa.components = "HDA:8086281d,80860101,00100000 HDA:10ec0287,17aa38dc,00100002 cfg-dmics:2 iec61937-pcm:5,4,3"
alsa.id = "sofhdadsp"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = ""
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.sync.id = "00000000:00000000:00000000:00000000"
device.profile.name = "HiFi: Speaker: sink"
device.profile.description = "Speaker"
card.profile.device = "3"
device.id = "48"
factory.name = "api.alsa.pcm.sink"
node.pause-on-idle = "false"
priority.driver = "1000"
priority.session = "1000"
media.class = "Audio/Sink"
node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Speaker__sink"
node.nick = "Speaker"
device.description = "Meteor Lake-P HD Audio Controller"
api.alsa.card.name = "sof-hda-dsp"
api.alsa.card.longname = "LENOVO-83DL-Yoga72_in_116IML9-LNVNB161216"
factory.id = "19"
clock.quantum-limit = "8192"
client.id = "47"
node.driver = "true"
node.loop.name = "data-loop.0"
library.name = "audioconvert/libspa-audioconvert"
object.id = "62"
object.serial = "62"
node.max-latency = "16384/48000"
api.alsa.period-size = "1024"
api.alsa.period-num = "32"
api.alsa.headroom = "384"
device.enum.api = "udev"
api.alsa.card = "0"
device.plugged.usec = "6115223403"
device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card0"
device.subsystem = "sound"
device.vendor.id = "0x8086"
device.vendor.name = "Intel Corporation"
device.product.id = "0x7e28"
device.product.name = "Meteor Lake-P HD Audio Controller"
device.name = "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic"
device.nick = "sof-hda-dsp"
api.alsa.use-acp = "true"
api.acp.auto-profile = "false"
api.acp.auto-port = "false"
api.dbus.ReserveDevice1.Priority = "-20"
api.alsa.split-enable = "true"
api.dbus.ReserveDevice1 = "Audio0"
spa.object.id = "2"
device.string = "0"
Ports:
[Out] Speaker: Speaker (type: Speaker, priority: 100, availability unknown)
Active Port: [Out] Speaker
Formats:
pcmOffline
Probably jack sensing not getting triggered properly/at all I assume
HiFi (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2): Play HiFi quality Music (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2) (sinks: 4, sources: 2, priority: 10300, available: yes)
HiFi (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker): Play HiFi quality Music (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker) (sinks: 4, sources: 2, priority: 10200, available: yes)both of these "stay" available no matter whether the headset is plugged in or not? That would normally be the relevant detection mechanism.
I'm not that well versed with the inner workings of sof based audio in comparison to snd_hda_intel, if you don't actually get a proper jack event anywhere this might be annoying to fix. Something easy to try is a
amixer -c0 set 'Auto-Mute Mode',0 'Enabled'but I'm suspecting that might just lead to speaker audio getting cut, but the switch not happening either (same command but with Disabled to revert). Do you get an event from the jack plug over ACPI? https://wiki.archlinux.org/title/Acpid https://wiki.archlinux.org/title/Acpid#Example_events ? If you do you can probably script something up to do this change
Last edited by V1del (2026-02-10 20:50:47)
Offline
Probably jack sensing not getting triggered properly/at all I assume
actually, if I run acpi_listen, it shows that my jack being plugged in and unplugged are detected properly
both of these "stay" available no matter whether the headset is plugged in or not?
both are "available" regardless of whether or not the headphones are plugged in yeah
If I try this :
amixer -c0 set 'Auto-Mute Mode',0 'Enabled'and plug in headphones, audio does not come from either source, but in the sound control panel, speakers are still shown to be the audio device in use and level is the same
Offline
I did some reading for scripting acpi events and ended up creating a file in /etc/acpi/events/headphone:
event=jack/headphone HEADPHONE (plug|unplug)
action=/etc/acpi/actions/headphone.sh "%e"and another file in /etc/acpi/actions/headphone.sh
#!/bin/bash
event="$1"
if echo "$event" | grep -q "HEADPHONE plug"; then
wpctl set-profile 48 1
elif echo "$event" | grep -q "HEADPHONE unplug"; then
wpctl set-profile 48 2
fiUsing journalctl I confirmed that this script is executing but it's failing with error message "Could not connect to PipeWire". I'm gonna keep trying to troubleshoot this. Thank you for your help so far!
Offline
Yes this would've been my next suggestion if you indeed get acpi events proper. Good stuff getting this far.
The reason this fails is because the acpi event will be processed by a root process but your pipewire is running as your user, so you need mainly two things here, access to your normal user and access to your dbus session. If you "pick a process" from your user that you know is guaranteed to run (e.g. pipewire) you can "steal" the info to which dbus to connect to -> https://gist.github.com/AladW/de1c5676d93d05a5a0e1 and make sure you run the wpctl command as your user with e.g.
sudo -u $myuser DBUS_SESSION_BUS_ADDRESS=$DBUS_SESSION_BUS_ADDRESS wpctl set-profile 48 1you probably also shouldn't hardcode that 48, it will likely change between invocations, but either use a more fully qualified name or grep out the exact node from wpctl
See also this older thread, where someone had a similar problem/solution https://bbs.archlinux.org/viewtopic.php … 4#p1646244 you'll have to adjust a bit, but the gist is there.
Offline