You are not logged in.
My new laptop has 4 speakers at roughly 4 corners (judging by the outlets, and sound produced when boots into windows). After base installation of archlinux. I installed "alsa-utils", "pipewire", "wireplumber", "pipewire-audio", and "pipewire-pulse". Initially, no sound through any of them at all. I installed "sof-firmware" and "alsa-firmware", and only 2 speakers can be heard. Because of this, the sound is really low. And if I turn the volume up, the sound will first be distorted and then hearable.
I ran "speaker-test -c 4". I got an error said
speaker-test 1.2.8
Playback device is default
Stream parameters are 48000Hz, S16_LE, 2 channels
Using 16 octaves of pink noise
ALSA lib pcm_dmix.c:999:(snd_pcm_dmix_open) unable to open slave
Playback open error: -2,No such file or directoryThis is resolved by setting ./.asoundrc file to
defaults.pcm.card 1
defaults.ctl.card 1Then, I can hear white noise from Front Left and Front Right, but not from Rear Right and Rear Left.
At some point, I tried switching from pipewire to pulseaudio, but the problem persisted so I switched back.
Also, This is the feedback from "aplay -l"
**** List of PLAYBACK Hardware Devices ****
card 0: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sofhdadsp [sof-hda-dsp], device 0: HDA Analog (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sofhdadsp [sof-hda-dsp], device 3: HDMI1 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sofhdadsp [sof-hda-dsp], device 4: HDMI2 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sofhdadsp [sof-hda-dsp], device 5: HDMI3 (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: sofhdadsp [sof-hda-dsp], device 31: HDA Analog Deep Buffer (*) []
Subdevices: 1/1
Subdevice #0: subdevice #0I searched around, but can't find a similar case. I'm not familiar with sound systems in Linux. In my old setups, sound just works so I didn't pay much attention. I would appreciate any suggestions on how to debug this.
Offline
The majority of sof firmware stuff is very rough around the edges sadly and it wouldn't surprise me if this was the norm currently. Which system/laptop is this exactly? What output do you get from
aplay -L
pactl list cards
pactl list sinksOffline
The laptop model is Thinkbook 16p Gen4. It's quite new, so I would assume the support is not that good.
"aplay -L" gives
null
Discard all samples (playback) or generate zero samples (capture)
lavrate
Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
Rate Converter Plugin Using Samplerate Library
speexrate
Rate Converter Plugin Using Speex Resampler
jack
JACK Audio Connection Kit
oss
Open Sound System
pipewire
PipeWire Sound Server
pulse
PulseAudio Sound Server
speex
Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)
upmix
Plugin for channel upmix (4,6,8)
vdownmix
Plugin for channel downmix (stereo) with a simple spacialization
hdmi:CARD=NVidia,DEV=0
HDA NVidia, HDMI 0
HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
HDA NVidia, HDMI 1
HDMI Audio Output
usbstream:CARD=NVidia
HDA NVidia
USB Stream Output
sysdefault:CARD=sofhdadsp
sof-hda-dsp,
Default Audio Device
usbstream:CARD=sofhdadsp
sof-hda-dsp
USB Stream Output"pactl list cards" gives
Card #47
Name: alsa_card.pci-0000_01_00.1
Driver: alsa
Owner Module: n/a
Properties:
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "0"
api.alsa.card.longname = "HDA NVidia at 0x60080000 irq 17"
api.alsa.card.name = "HDA NVidia"
api.alsa.path = "hw:0"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio0"
device.api = "alsa"
device.bus = "pci"
device.bus_path = "pci-0000:01:00.1"
device.description = "HDA NVidia"
device.enum.api = "udev"
device.icon_name = "audio-card-analog-pci"
device.name = "alsa_card.pci-0000_01_00.1"
device.nick = "HDA NVidia"
device.plugged.usec = "4471172"
device.product.id = "0x22be"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card0"
device.vendor.id = "0x10de"
device.vendor.name = "NVIDIA Corporation"
media.class = "Audio/Device"
factory.id = "14"
client.id = "34"
object.id = "47"
object.serial = "47"
object.path = "alsa:pcm:0"
alsa.card = "0"
alsa.card_name = "HDA NVidia"
alsa.long_card_name = "HDA NVidia at 0x60080000 irq 17"
alsa.driver_name = "snd_hda_intel"
device.string = "0"
Profiles:
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: no)
output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (sinks: 1, sources: 0, priority: 5700, available: no)
output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
pro-audio: Pro Audio (sinks: 2, sources: 0, priority: 1, available: yes)
Active Profile: off
Ports:
hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability group: Legacy 1, not available)
Properties:
port.type = "hdmi"
port.availability-group = "Legacy 1"
device.icon_name = "video-display"
card.profile.port = "0"
Part of profile(s): output:hdmi-stereo, output:hdmi-surround, output:hdmi-surround71
hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, availability group: Legacy 2, not available)
Properties:
port.type = "hdmi"
port.availability-group = "Legacy 2"
device.icon_name = "video-display"
card.profile.port = "1"
Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-surround-extra1, output:hdmi-surround71-extra1
Card #48
Name: alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic
Driver: alsa
Owner Module: n/a
Properties:
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "1"
api.alsa.card.longname = "LENOVO-21J8-LenovoThinkBook16pGen4-LNVNB161216"
api.alsa.card.name = "sof-hda-dsp"
api.alsa.path = "hw:1"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio1"
device.api = "alsa"
device.bus = "pci"
device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
device.description = "sof-hda-dsp"
device.enum.api = "udev"
device.icon_name = "audio-card-analog-pci"
device.name = "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic"
device.nick = "sof-hda-dsp"
device.plugged.usec = "4920103"
device.product.id = "0x51ca"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
device.vendor.id = "0x8086"
device.vendor.name = "Intel Corporation"
media.class = "Audio/Device"
factory.id = "14"
client.id = "34"
object.id = "48"
object.serial = "48"
object.path = "alsa:pcm:1"
alsa.card = "1"
alsa.card_name = "sof-hda-dsp"
alsa.long_card_name = "LENOVO-21J8-LenovoThinkBook16pGen4-LNVNB161216"
alsa.driver_name = "snd_soc_skl_hda_dsp"
device.string = "1"
Profiles:
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
HiFi: Play HiFi quality Music (sinks: 4, sources: 2, priority: 8000, available: yes)
pro-audio: Pro Audio (sinks: 5, sources: 3, priority: 1, available: yes)
Active Profile: HiFi
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"
card.profile.port = "0"
Part of profile(s): HiFi
[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"
card.profile.port = "1"
Part of profile(s): HiFi
[Out] HDMI1: HDMI / DisplayPort 1 Output (type: HDMI, priority: 500, latency offset: 0 usec, availability group: HDMI/DP,pcm=3, not available)
Properties:
port.type = "hdmi"
port.availability-group = "HDMI/DP,pcm=3"
card.profile.port = "2"
Part of profile(s): HiFi
[Out] Speaker: Speaker (type: Speaker, priority: 100, latency offset: 0 usec, availability unknown)
Properties:
port.type = "speaker"
card.profile.port = "3"
Part of profile(s): HiFi
[Out] Headphones: Headphones (type: Headphones, priority: 200, latency offset: 0 usec, availability group: Headphone, not available)
Properties:
port.type = "headphones"
port.availability-group = "Headphone"
card.profile.port = "4"
Part of profile(s): HiFi
[In] Mic2: Headphones Stereo Microphone (type: Mic, priority: 200, latency offset: 0 usec, availability group: Mic, not available)
Properties:
port.type = "mic"
port.availability-group = "Mic"
card.profile.port = "5"
Part of profile(s): HiFi
[In] Mic1: Digital Microphone (type: Mic, priority: 100, latency offset: 0 usec, availability unknown)
Properties:
port.type = "mic"
card.profile.port = "6"
Part of profile(s): HiFi"pactl list sinks" gives
Sink #61
State: SUSPENDED
Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_5__sink
Description: sof-hda-dsp HDMI / DisplayPort 3 Output
Driver: PipeWire
Sample Specification: s24-32le 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__hw_sofhdadsp_5__sink.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
alsa.card = "1"
alsa.card_name = "sof-hda-dsp"
alsa.class = "generic"
alsa.device = "5"
alsa.driver_name = "snd_soc_skl_hda_dsp"
alsa.id = "HDMI3 (*)"
alsa.long_card_name = "LENOVO-21J8-LenovoThinkBook16pGen4-LNVNB161216"
alsa.mixer_device = "_ucm0003.hw:sofhdadsp"
alsa.name = ""
alsa.resolution_bits = "16"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
api.alsa.card.longname = "LENOVO-21J8-LenovoThinkBook16pGen4-LNVNB161216"
api.alsa.card.name = "sof-hda-dsp"
api.alsa.open.ucm = "true"
api.alsa.path = "hw:sofhdadsp,5"
api.alsa.pcm.card = "1"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
card.profile.device = "0"
device.api = "alsa"
device.class = "sound"
device.id = "48"
device.profile.description = "HDMI / DisplayPort 3 Output"
device.profile.name = "HiFi: hw:sofhdadsp,5: sink"
device.routes = "1"
factory.name = "api.alsa.pcm.sink"
media.class = "Audio/Sink"
device.description = "sof-hda-dsp"
node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_5__sink"
node.nick = "HDMI / DisplayPort 3 Output"
node.pause-on-idle = "false"
object.path = "alsa:pcm:1:hw:sofhdadsp,5:playback"
priority.driver = "664"
priority.session = "664"
factory.id = "18"
clock.quantum-limit = "8192"
client.id = "34"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "61"
object.serial = "61"
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "1"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio1"
device.bus = "pci"
device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
device.enum.api = "udev"
device.icon_name = "audio-card-analog-pci"
device.name = "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic"
device.nick = "sof-hda-dsp"
device.plugged.usec = "4920103"
device.product.id = "0x51ca"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
device.vendor.id = "0x8086"
device.vendor.name = "Intel Corporation"
device.string = "1"
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 #62
State: SUSPENDED
Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_4__sink
Description: sof-hda-dsp HDMI / DisplayPort 2 Output
Driver: PipeWire
Sample Specification: s24-32le 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__hw_sofhdadsp_4__sink.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
alsa.card = "1"
alsa.card_name = "sof-hda-dsp"
alsa.class = "generic"
alsa.device = "4"
alsa.driver_name = "snd_soc_skl_hda_dsp"
alsa.id = "HDMI2 (*)"
alsa.long_card_name = "LENOVO-21J8-LenovoThinkBook16pGen4-LNVNB161216"
alsa.mixer_device = "_ucm0003.hw:sofhdadsp"
alsa.name = ""
alsa.resolution_bits = "16"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
api.alsa.card.longname = "LENOVO-21J8-LenovoThinkBook16pGen4-LNVNB161216"
api.alsa.card.name = "sof-hda-dsp"
api.alsa.open.ucm = "true"
api.alsa.path = "hw:sofhdadsp,4"
api.alsa.pcm.card = "1"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
card.profile.device = "1"
device.api = "alsa"
device.class = "sound"
device.id = "48"
device.profile.description = "HDMI / DisplayPort 2 Output"
device.profile.name = "HiFi: hw:sofhdadsp,4: sink"
device.routes = "1"
factory.name = "api.alsa.pcm.sink"
media.class = "Audio/Sink"
device.description = "sof-hda-dsp"
node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_4__sink"
node.nick = "HDMI / DisplayPort 2 Output"
node.pause-on-idle = "false"
object.path = "alsa:pcm:1:hw:sofhdadsp,4:playback"
priority.driver = "680"
priority.session = "680"
factory.id = "18"
clock.quantum-limit = "8192"
client.id = "34"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "62"
object.serial = "62"
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "1"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio1"
device.bus = "pci"
device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
device.enum.api = "udev"
device.icon_name = "audio-card-analog-pci"
device.name = "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic"
device.nick = "sof-hda-dsp"
device.plugged.usec = "4920103"
device.product.id = "0x51ca"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
device.vendor.id = "0x8086"
device.vendor.name = "Intel Corporation"
device.string = "1"
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 #63
State: SUSPENDED
Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_3__sink
Description: sof-hda-dsp HDMI / DisplayPort 1 Output
Driver: PipeWire
Sample Specification: s24-32le 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__hw_sofhdadsp_3__sink.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
alsa.card = "1"
alsa.card_name = "sof-hda-dsp"
alsa.class = "generic"
alsa.device = "3"
alsa.driver_name = "snd_soc_skl_hda_dsp"
alsa.id = "HDMI1 (*)"
alsa.long_card_name = "LENOVO-21J8-LenovoThinkBook16pGen4-LNVNB161216"
alsa.mixer_device = "_ucm0003.hw:sofhdadsp"
alsa.name = ""
alsa.resolution_bits = "16"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
api.alsa.card.longname = "LENOVO-21J8-LenovoThinkBook16pGen4-LNVNB161216"
api.alsa.card.name = "sof-hda-dsp"
api.alsa.open.ucm = "true"
api.alsa.path = "hw:sofhdadsp,3"
api.alsa.pcm.card = "1"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
card.profile.device = "2"
device.api = "alsa"
device.class = "sound"
device.id = "48"
device.profile.description = "HDMI / DisplayPort 1 Output"
device.profile.name = "HiFi: hw:sofhdadsp,3: sink"
device.routes = "1"
factory.name = "api.alsa.pcm.sink"
media.class = "Audio/Sink"
device.description = "sof-hda-dsp"
node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_3__sink"
node.nick = "HDMI / DisplayPort 1 Output"
node.pause-on-idle = "false"
object.path = "alsa:pcm:1:hw:sofhdadsp,3:playback"
priority.driver = "696"
priority.session = "696"
factory.id = "18"
clock.quantum-limit = "8192"
client.id = "34"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "63"
object.serial = "63"
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "1"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio1"
device.bus = "pci"
device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
device.enum.api = "udev"
device.icon_name = "audio-card-analog-pci"
device.name = "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic"
device.nick = "sof-hda-dsp"
device.plugged.usec = "4920103"
device.product.id = "0x51ca"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
device.vendor.id = "0x8086"
device.vendor.name = "Intel Corporation"
device.string = "1"
Ports:
[Out] HDMI1: HDMI / DisplayPort 1 Output (type: HDMI, priority: 500, availability group: HDMI/DP,pcm=3, not available)
Active Port: [Out] HDMI1
Formats:
pcm
Sink #64
State: SUSPENDED
Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink
Description: sof-hda-dsp Speaker + Headphones
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__hw_sofhdadsp__sink.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
alsa.card = "1"
alsa.card_name = "sof-hda-dsp"
alsa.class = "generic"
alsa.device = "0"
alsa.driver_name = "snd_soc_skl_hda_dsp"
alsa.id = "HDA Analog (*)"
alsa.long_card_name = "LENOVO-21J8-LenovoThinkBook16pGen4-LNVNB161216"
alsa.mixer_device = "_ucm0003.hw:sofhdadsp"
alsa.name = ""
alsa.resolution_bits = "16"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
api.alsa.card.longname = "LENOVO-21J8-LenovoThinkBook16pGen4-LNVNB161216"
api.alsa.card.name = "sof-hda-dsp"
api.alsa.open.ucm = "true"
api.alsa.path = "hw:sofhdadsp"
api.alsa.pcm.card = "1"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
card.profile.device = "3"
device.api = "alsa"
device.class = "sound"
device.id = "48"
device.profile.description = "Speaker + Headphones"
device.profile.name = "HiFi: hw:sofhdadsp: sink"
device.routes = "2"
factory.name = "api.alsa.pcm.sink"
media.class = "Audio/Sink"
device.description = "sof-hda-dsp"
node.name = "alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink"
node.nick = "Speaker + Headphones"
node.pause-on-idle = "false"
object.path = "alsa:pcm:1:hw:sofhdadsp:playback"
priority.driver = "1000"
priority.session = "1000"
factory.id = "18"
clock.quantum-limit = "8192"
client.id = "34"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "64"
object.serial = "64"
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "1"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio1"
device.bus = "pci"
device.bus_path = "pci-0000:00:1f.3-platform-skl_hda_dsp_generic"
device.enum.api = "udev"
device.icon_name = "audio-card-analog-pci"
device.name = "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic"
device.nick = "sof-hda-dsp"
device.plugged.usec = "4920103"
device.product.id = "0x51ca"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/skl_hda_dsp_generic/sound/card1"
device.vendor.id = "0x8086"
device.vendor.name = "Intel Corporation"
device.string = "1"
Ports:
[Out] Speaker: Speaker (type: Speaker, priority: 100, availability unknown)
[Out] Headphones: Headphones (type: Headphones, priority: 200, availability group: Headphone, not available)
Active Port: [Out] Speaker
Formats:
pcmI'm suspecting it's related to the "audio.channels = "2"" or the "channel map" thing. But I can't find how to configure it for pipewire. For pulseaudio, according to PulseAudio Example, it seems I can set "default-sample-channels=2" to "default-sample-channels=6" in "/etc/pulse/daemon.conf". Does that mean I should give pulseaudio another try?
Last edited by shuohuli (2023-05-09 09:39:19)
Offline
If you think sof is the problem, I can switch to snd_hda_intel. I initially got snd_hda_intel to work with some tricks I found here (The two models use the same ALC287 chip). But I still can only get the 2 speakers working.
I made the switch from snd_hda_intel to sof because I found from the arch's ALSA wiki that, for new laptop models, I should use sof-firmware. But that didn't help.
Offline
You should generally use sof for new hardware, pipewire or pulseaudio are irrelevant if it doesn't work on a ALSA level either (the channel map setting in pulseaudio should also not be overly relevant if the alsa-ucm-conf properly announces 4-channel support, which it doesn't in this case, so if anything this is up to a alsa-ucm-conf setup issue/and or system firmware not announcing the verb table properly). FWIW the proper test for that would be
speaker-test -Dhw:1,31 -c4maybe also post/check
amixer -c1Last edited by V1del (2023-05-09 10:19:55)
Offline
"speaker-test -Dhw:1,31 -c4" gives
speaker-test 1.2.8
Playback device is hw:1,31
Stream parameters are 48000Hz, S16_LE, 4 channels
Using 16 octaves of pink noise
Channels count (4) not available for playbacks: Invalid argument
Setting of hwparams failed: Invalid argument"amixer -c1" gives
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: pswitch
Playback channels: Front Left - Front Right
Mono:
Front Left: Playback [off]
Front Right: Playback [off]
Simple mixer control 'Speaker',0
Capabilities: pswitch
Playback channels: Front Left - Front Right
Mono:
Front Left: Playback [on]
Front Right: Playback [on]
Simple mixer control 'Bass Speaker',0
Capabilities: pswitch
Playback channels: Front Left - Front Right
Mono:
Front Left: Playback [on]
Front Right: Playback [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 [off]
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] [on]
Front Right: Capture 38 [60%] [11.25dB] [on]
Simple mixer control 'Auto-Mute Mode',0
Capabilities: enum
Items: 'Disabled' 'Enabled'
Item0: 'Disabled'
Simple mixer control 'DAC1',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 87
Mono:
Front Left: Playback 87 [100%] [0.00dB]
Front Right: Playback 87 [100%] [0.00dB]
Simple mixer control 'DAC2',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 87
Mono:
Front Left: Playback 87 [100%] [0.00dB]
Front Right: Playback 87 [100%] [0.00dB]
Simple mixer control 'Dmic0',0
Capabilities: cvolume cswitch
Capture channels: Front Left - Front Right
Limits: Capture 0 - 70
Front Left: Capture 70 [100%] [20.00dB] [on]
Front Right: Capture 70 [100%] [20.00dB] [on]
Simple mixer control 'Dmic1 2nd',0
Capabilities: cvolume
Capture channels: Front Left - Front Right
Limits: Capture 0 - 70
Front Left: Capture 50 [71%] [0.00dB]
Front Right: Capture 50 [71%] [0.00dB]
Simple mixer control 'PGA1.0 1 Master',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 32
Mono:
Front Left: Playback 32 [100%] [0.00dB]
Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'PGA2.0 2 Master',0
Capabilities: cvolume
Capture channels: Front Left - Front Right
Limits: Capture 0 - 80
Front Left: Capture 50 [62%] [0.00dB]
Front Right: Capture 50 [62%] [0.00dB]
Simple mixer control 'PGA30.0 30',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 32
Mono:
Front Left: Playback 32 [100%] [0.00dB]
Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'PGA31.0 31',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 32
Mono:
Front Left: Playback 32 [100%] [0.00dB]
Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'PGA7.0 7 Master',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 32
Mono:
Front Left: Playback 32 [100%] [0.00dB]
Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'PGA8.0 8 Master',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 32
Mono:
Front Left: Playback 32 [100%] [0.00dB]
Front Right: Playback 32 [100%] [0.00dB]
Simple mixer control 'PGA9.0 9 Master',0
Capabilities: pvolume
Playback channels: Front Left - Front Right
Limits: Playback 0 - 32
Mono:
Front Left: Playback 32 [100%] [0.00dB]
Front Right: Playback 32 [100%] [0.00dB]Offline
Yeah just from this there's logically little way to make this work, one thing you could test is whether opting for the older snd-hda-intel driver works better by creating a file in /etc/modprobe.d/switchHDA.conf
options snd_intel_dspcfg dsp_driver=1and rebooting
Offline
Yeah, I come to realize this is not a configuration thing, but some bugs due to lack of supports of the hardware.
I tried setting "options snd_intel_dspcfg dsp_driver=1" and then
"pactl list cards" gives
Card #47
Name: alsa_card.pci-0000_01_00.1
Driver: alsa
Owner Module: n/a
Properties:
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "1"
api.alsa.card.longname = "HDA NVidia at 0x60080000 irq 17"
api.alsa.card.name = "HDA NVidia"
api.alsa.path = "hw:1"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio1"
device.api = "alsa"
device.bus = "pci"
device.bus_path = "pci-0000:01:00.1"
device.description = "HDA NVidia"
device.enum.api = "udev"
device.icon_name = "audio-card-analog-pci"
device.name = "alsa_card.pci-0000_01_00.1"
device.nick = "HDA NVidia"
device.plugged.usec = "4584068"
device.product.id = "0x22be"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1"
device.vendor.id = "0x10de"
device.vendor.name = "NVIDIA Corporation"
media.class = "Audio/Device"
factory.id = "14"
client.id = "34"
object.id = "47"
object.serial = "47"
object.path = "alsa:pcm:1"
alsa.card = "1"
alsa.card_name = "HDA NVidia"
alsa.long_card_name = "HDA NVidia at 0x60080000 irq 17"
alsa.driver_name = "snd_hda_intel"
device.string = "1"
Profiles:
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: no)
output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (sinks: 1, sources: 0, priority: 5700, available: no)
output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
pro-audio: Pro Audio (sinks: 2, sources: 0, priority: 1, available: yes)
Active Profile: off
Ports:
hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability group: Legacy 1, not available)
Properties:
port.type = "hdmi"
port.availability-group = "Legacy 1"
device.icon_name = "video-display"
card.profile.port = "0"
Part of profile(s): output:hdmi-stereo, output:hdmi-surround, output:hdmi-surround71
hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, availability group: Legacy 2, not available)
Properties:
port.type = "hdmi"
port.availability-group = "Legacy 2"
device.icon_name = "video-display"
card.profile.port = "1"
Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-surround-extra1, output:hdmi-surround71-extra1
Card #48
Name: alsa_card.pci-0000_00_1f.3
Driver: alsa
Owner Module: n/a
Properties:
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "0"
api.alsa.card.longname = "HDA Intel PCH at 0x6203190000 irq 188"
api.alsa.card.name = "HDA Intel PCH"
api.alsa.path = "hw:0"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio0"
device.api = "alsa"
device.bus = "pci"
device.bus_path = "pci-0000:00:1f.3"
device.description = "Built-in Audio"
device.enum.api = "udev"
device.form_factor = "internal"
device.icon_name = "audio-card-analog-pci"
device.name = "alsa_card.pci-0000_00_1f.3"
device.nick = "HDA Intel PCH"
device.plugged.usec = "4685814"
device.product.id = "0x51ca"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
device.vendor.id = "0x8086"
device.vendor.name = "Intel Corporation"
media.class = "Audio/Device"
factory.id = "14"
client.id = "34"
object.id = "48"
object.serial = "48"
object.path = "alsa:pcm:0"
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.long_card_name = "HDA Intel PCH at 0x6203190000 irq 188"
alsa.driver_name = "snd_hda_intel"
device.string = "0"
Profiles:
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
output:analog-stereo+input:analog-stereo: Analog Stereo Duplex (sinks: 1, sources: 1, priority: 6565, available: yes)
output:analog-stereo: Analog Stereo Output (sinks: 1, sources: 0, priority: 6500, available: yes)
output:hdmi-stereo+input:analog-stereo: Digital Stereo (HDMI) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5965, available: no)
output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: no)
output:hdmi-stereo-extra1+input:analog-stereo: Digital Stereo (HDMI 2) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5765, available: no)
output:hdmi-stereo-extra2+input:analog-stereo: Digital Stereo (HDMI 3) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5765, available: no)
output:hdmi-stereo-extra3+input:analog-stereo: Digital Stereo (HDMI 4) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 5765, available: no)
output:hdmi-stereo-extra1: Digital Stereo (HDMI 2) Output (sinks: 1, sources: 0, priority: 5700, available: no)
output:hdmi-stereo-extra2: Digital Stereo (HDMI 3) Output (sinks: 1, sources: 0, priority: 5700, available: no)
output:hdmi-stereo-extra3: Digital Stereo (HDMI 4) Output (sinks: 1, sources: 0, priority: 5700, available: no)
output:analog-surround-21+input:analog-stereo: Analog Surround 2.1 Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 1365, available: yes)
output:analog-surround-21: Analog Surround 2.1 Output (sinks: 1, sources: 0, priority: 1300, available: yes)
output:analog-surround-40+input:analog-stereo: Analog Surround 4.0 Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 1265, available: yes)
output:analog-surround-40: Analog Surround 4.0 Output (sinks: 1, sources: 0, priority: 1200, available: yes)
output:hdmi-surround+input:analog-stereo: Digital Surround 5.1 (HDMI) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 865, available: no)
output:hdmi-surround71+input:analog-stereo: Digital Surround 7.1 (HDMI) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 865, available: no)
output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: no)
output:hdmi-surround-extra1+input:analog-stereo: Digital Surround 5.1 (HDMI 2) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
output:hdmi-surround71-extra1+input:analog-stereo: Digital Surround 7.1 (HDMI 2) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
output:hdmi-surround-extra2+input:analog-stereo: Digital Surround 5.1 (HDMI 3) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
output:hdmi-surround71-extra2+input:analog-stereo: Digital Surround 7.1 (HDMI 3) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
output:hdmi-surround-extra3+input:analog-stereo: Digital Surround 5.1 (HDMI 4) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
output:hdmi-surround71-extra3+input:analog-stereo: Digital Surround 7.1 (HDMI 4) Output + Analog Stereo Input (sinks: 1, sources: 1, priority: 665, available: no)
output:hdmi-surround-extra1: Digital Surround 5.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-surround71-extra1: Digital Surround 7.1 (HDMI 2) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-surround-extra2: Digital Surround 5.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-surround71-extra2: Digital Surround 7.1 (HDMI 3) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-surround-extra3: Digital Surround 5.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
output:hdmi-surround71-extra3: Digital Surround 7.1 (HDMI 4) Output (sinks: 1, sources: 0, priority: 600, available: no)
input:analog-stereo: Analog Stereo Input (sinks: 0, sources: 1, priority: 65, available: no)
pro-audio: Pro Audio (sinks: 5, sources: 1, priority: 1, available: yes)
Active Profile: output:analog-stereo+input:analog-stereo
Ports:
analog-input-mic: Microphone (type: Mic, priority: 8700, latency offset: 0 usec, availability group: Legacy 1, not available)
Properties:
port.type = "mic"
port.availability-group = "Legacy 1"
device.icon_name = "audio-input-microphone"
card.profile.port = "0"
Part of profile(s): input:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21+input:analog-stereo, output:analog-surround-40+input:analog-stereo, output:hdmi-stereo+input:analog-stereo, output:hdmi-surround+input:analog-stereo, output:hdmi-surround71+input:analog-stereo, output:hdmi-stereo-extra1+input:analog-stereo, output:hdmi-surround-extra1+input:analog-stereo, output:hdmi-surround71-extra1+input:analog-stereo, output:hdmi-stereo-extra2+input:analog-stereo, output:hdmi-surround-extra2+input:analog-stereo, output:hdmi-surround71-extra2+input:analog-stereo, output:hdmi-stereo-extra3+input:analog-stereo, output:hdmi-surround-extra3+input:analog-stereo, output:hdmi-surround71-extra3+input:analog-stereo
analog-output-speaker: Speakers (type: Speaker, priority: 10000, latency offset: 0 usec, availability group: Legacy 2, availability unknown)
Properties:
port.type = "speaker"
port.availability-group = "Legacy 2"
device.icon_name = "audio-speakers"
card.profile.port = "1"
Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo, output:analog-surround-21, output:analog-surround-21+input:analog-stereo, output:analog-surround-40, output:analog-surround-40+input:analog-stereo
analog-output-headphones: Headphones (type: Headphones, priority: 9900, latency offset: 0 usec, availability group: Legacy 3, not available)
Properties:
port.type = "headphones"
port.availability-group = "Legacy 3"
device.icon_name = "audio-headphones"
card.profile.port = "2"
Part of profile(s): output:analog-stereo, output:analog-stereo+input:analog-stereo
hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability group: Legacy 4, not available)
Properties:
port.type = "hdmi"
port.availability-group = "Legacy 4"
device.icon_name = "video-display"
card.profile.port = "3"
Part of profile(s): output:hdmi-stereo, output:hdmi-stereo+input:analog-stereo, output:hdmi-surround, output:hdmi-surround+input:analog-stereo, output:hdmi-surround71, output:hdmi-surround71+input:analog-stereo
hdmi-output-1: HDMI / DisplayPort 2 (type: HDMI, priority: 5800, latency offset: 0 usec, availability group: Legacy 5, not available)
Properties:
port.type = "hdmi"
port.availability-group = "Legacy 5"
device.icon_name = "video-display"
card.profile.port = "4"
Part of profile(s): output:hdmi-stereo-extra1, output:hdmi-stereo-extra1+input:analog-stereo, output:hdmi-surround-extra1, output:hdmi-surround-extra1+input:analog-stereo, output:hdmi-surround71-extra1, output:hdmi-surround71-extra1+input:analog-stereo
hdmi-output-2: HDMI / DisplayPort 3 (type: HDMI, priority: 5700, latency offset: 0 usec, availability group: Legacy 6, not available)
Properties:
port.type = "hdmi"
port.availability-group = "Legacy 6"
device.icon_name = "video-display"
card.profile.port = "5"
Part of profile(s): output:hdmi-stereo-extra2, output:hdmi-stereo-extra2+input:analog-stereo, output:hdmi-surround-extra2, output:hdmi-surround-extra2+input:analog-stereo, output:hdmi-surround71-extra2, output:hdmi-surround71-extra2+input:analog-stereo
hdmi-output-3: HDMI / DisplayPort 4 (type: HDMI, priority: 5600, latency offset: 0 usec, availability group: Legacy 7, not available)
Properties:
port.type = "hdmi"
port.availability-group = "Legacy 7"
device.icon_name = "video-display"
card.profile.port = "6"
Part of profile(s): output:hdmi-stereo-extra3, output:hdmi-stereo-extra3+input:analog-stereo, output:hdmi-surround-extra3, output:hdmi-surround-extra3+input:analog-stereo, output:hdmi-surround71-extra3, output:hdmi-surround71-extra3+input:analog-stereo"pactl list sinks" gives
Sink #61
State: SUSPENDED
Name: alsa_output.pci-0000_00_1f.3.analog-stereo
Description: Built-in Audio Analog Stereo
Driver: PipeWire
Sample Specification: s32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 75135 / 115% / 3.56 dB, front-right: 75135 / 115% / 3.56 dB
balance 0.00
Base Volume: 65536 / 100% / 0.00 dB
Monitor Source: alsa_output.pci-0000_00_1f.3.analog-stereo.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE HW_MUTE_CTRL HW_VOLUME_CTRL DECIBEL_VOLUME LATENCY
Properties:
alsa.card = "0"
alsa.card_name = "HDA Intel PCH"
alsa.class = "generic"
alsa.device = "0"
alsa.driver_name = "snd_hda_intel"
alsa.id = "ALC287 Analog"
alsa.long_card_name = "HDA Intel PCH at 0x6203190000 irq 188"
alsa.name = "ALC287 Analog"
alsa.resolution_bits = "16"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
api.alsa.card.longname = "HDA Intel PCH at 0x6203190000 irq 188"
api.alsa.card.name = "HDA Intel PCH"
api.alsa.path = "front:0"
api.alsa.pcm.card = "0"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
card.profile.device = "7"
device.api = "alsa"
device.class = "sound"
device.id = "48"
device.profile.description = "Analog Stereo"
device.profile.name = "analog-stereo"
device.routes = "2"
factory.name = "api.alsa.pcm.sink"
media.class = "Audio/Sink"
device.description = "Built-in Audio"
node.name = "alsa_output.pci-0000_00_1f.3.analog-stereo"
node.nick = "ALC287 Analog"
node.pause-on-idle = "false"
object.path = "alsa:pcm:0:front:0:playback"
priority.driver = "1009"
priority.session = "1009"
factory.id = "18"
clock.quantum-limit = "8192"
client.id = "34"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "61"
object.serial = "61"
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "0"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio0"
device.bus = "pci"
device.bus_path = "pci-0000:00:1f.3"
device.enum.api = "udev"
device.form_factor = "internal"
device.icon_name = "audio-card-analog-pci"
device.name = "alsa_card.pci-0000_00_1f.3"
device.nick = "HDA Intel PCH"
device.plugged.usec = "4685814"
device.product.id = "0x51ca"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:1f.3/sound/card0"
device.vendor.id = "0x8086"
device.vendor.name = "Intel Corporation"
device.string = "0"
Ports:
analog-output-speaker: Speakers (type: Speaker, priority: 10000, availability group: Legacy 2, availability unknown)
analog-output-headphones: Headphones (type: Headphones, priority: 9900, availability group: Legacy 3, not available)
Active Port: analog-output-speaker
Formats:
pcmIn this config, I have the "analog-surround-40" for the cards but the sink still is "audio.channels = "2"". And if I run "speaker-test -c4", I still only have the same two working speakers and the prompt line says
speaker-test 1.2.8
Playback device is default
Stream parameters are 48000Hz, S16_LE, 4 channels
Using 16 octaves of pink noise
Rate set to 48000Hz (requested 48000Hz)
Buffer size range from 2048 to 16384
Period size range from 1024 to 1024
Using max buffer size 16384
Periods = 4
was set period_size = 1024
was set buffer_size = 16384
0 - Front Left
1 - Front Right
2 - Unused
3 - UnusedAlso the mic is gone.
I read the around 1k posts from the kernel bug report. It turns out this thing is twofold. Firstly, the audio chip is actually ACL3306 which is wrongly recognized as ACL287 by the kernel. ACL3306 has no linux driver, but people from the posts made a reverse-engineering version of it. This patch made it to the kernel at around ver. 5.X.X so my kernel (6.3.1) should have it. However, my laptop's audio chip is labeled as ACL3306-CG (see here). I have no idea if the two is the same one and if it can work with the driver. Then, Lenovo puts extra level of awfulness by using a "smart amplifier" for the speakers, which requires a driver. This driver is not provided for linux, and we don't know if there will ever be one. Without this diver, you may only have the two speakers running and have a low volume.
From what I learned from the Lenovo's forum, this issue affects multiple newer models from Lenovo, at least these with the "smart amplifier". The arch wiki said the audio is supported but it is actually not, at least not fully supported. This Thinkbook 16p Gen4 of mine is also labeled as supported. Maybe we could consider modifying this to avoid misleading newcomers.
Offline