I have a Dell XPS 9550 laptop with an up-to-date ArchLinux installation. I use KDE 6 as my Desktop Environment, with Pipewire.
$ uname -a
Linux red 6.9.3-arch1-1 #1 SMP PREEMPT_DYNAMIC Fri, 31 May 2024 15:14:45 +0000 x86_64 GNU/Linux
$ pactl status
No valid command specified.
[demurgos@red ~]$ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 71
Tile Size: 65472
User Name: demurgos
Host Name: red
Server Name: PulseAudio (on PipeWire 1.0.7)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: auto_null
Default Source: auto_null.monitor
Cookie: a21c:d2b9
I encounter an issue where my builtin speakers are not detected 90% of the time. However about 10% of the time, it's properly detected on boot. I have no idea what causes this to work only occasionally.
Pipewire only exposes a dummy device:
$ pactl list sinks
Sink #56
State: SUSPENDED
Name: auto_null
Description: Dummy Output
Driver: PipeWire
Sample Specification: float32le 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: auto_null.monitor
Latency: 0 usec, configured 0 usec
Flags: DECIBEL_VOLUME LATENCY
Properties:
node.name = "auto_null"
device.description = "Dummy Output"
audio.rate = "48000"
audio.channels = "2"
audio.position = "FL,FR"
media.class = "Audio/Sink"
factory.name = "support.null-audio-sink"
node.virtual = "true"
monitor.channel-volumes = "true"
factory.id = "18"
clock.quantum-limit = "8192"
client.id = "54"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "55"
object.serial = "56"
Formats:
pcm
However the corresponding sound card seems detected:
$ cat /proc/asound/cards
1 [avsprobemb ]: avs_probe_mb - avs_probe_mb
DellInc.-XPS159560--0YH90J
$ pactl list cards
Card #75
Name: alsa_card.comprC1
Driver: alsa:compressed
Owner Module: n/a
Properties:
api.acp.auto-port = "false"
api.alsa.card = "1"
api.alsa.path = "hw:1"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio1"
api.dbus.ReserveDevice1.Priority = "-20"
device.api = "alsa:compressed"
device.bus_path = "platform-avs_probe_mb"
device.description = "Compress-Offload device (ALSA card 1)"
device.enum.api = "udev"
device.icon_name = "audio-card-analog"
device.name = "alsa_card.comprC1"
device.plugged.usec = "7147204"
device.subsystem = "sound"
sysfs.path = "/devices/platform/avs_probe_mb/sound/card1"
media.class = "Audio/Device"
factory.id = "14"
client.id = "40"
object.id = "49"
object.serial = "75"
object.path = "alsa:pcm:1"
alsa.card = "1"
alsa.card_name = "avs_probe_mb"
alsa.long_card_name = "DellInc.-XPS159560--0YH90J"
alsa.driver_name = "snd_soc_avs_probe"
alsa.id = "avsprobemb"
device.string = "1"
Profiles:
off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
pro-audio: Pro Audio (sinks: 0, sources: 0, priority: 1, available: yes)
Active Profile: off
Here are sound-related dmesg audio logs:
$ dmesg | grep snd
[ 5.578520] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 5.578537] snd_hda_intel 0000:00:1f.3: enabling device (0000 -> 0002)
[ 5.612246] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 5.684338] snd_soc_avs 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 5.687777] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 5.688051] snd_soc_avs 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 6.131106] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 6.131409] snd_soc_avs 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 6.484227] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 6.484524] snd_soc_avs 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 6.580848] usbcore: registered new interface driver snd-usb-audio
[ 6.580897] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 6.581665] snd_soc_avs 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 7.014160] snd_hda_intel 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 7.014418] snd_soc_avs 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[ 7.073738] snd_soc_avs 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 7.133952] snd_soc_avs 0000:00:1f.3: cldma_irq_handler sd_status: 0x00000004
[ 7.134011] snd_soc_avs 0000:00:1f.3: cldma_irq_handler sd_status: 0x00000004
[ 7.155413] snd_hda_codec_realtek hdaudioB0D0: autoconfig for ALC3266: line_outs=1 (0x17/0x0/0x0/0x0/0x0) type:speaker
[ 7.155420] snd_hda_codec_realtek hdaudioB0D0: speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[ 7.155423] snd_hda_codec_realtek hdaudioB0D0: hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[ 7.155426] snd_hda_codec_realtek hdaudioB0D0: mono: mono_out=0x0
[ 7.155428] snd_hda_codec_realtek hdaudioB0D0: inputs:
[ 7.155430] snd_hda_codec_realtek hdaudioB0D0: Headset Mic=0x18
[ 7.155432] snd_hda_codec_realtek hdaudioB0D0: Headphone Mic=0x1a
[ 7.155434] snd_hda_codec_realtek hdaudioB0D0: Internal Mic=0x12
[ 7.165576] snd_hda_codec_realtek hdaudioB0D0: creating for ALC3266 Analog 0
[ 7.206115] snd_soc_avs 0000:00:1f.3: Direct firmware load for intel/avs/hda-10ec0298-tplg.bin failed with error -2
[ 7.206122] snd_soc_avs 0000:00:1f.3: request topology "intel/avs/hda-10ec0298-tplg.bin" failed: -2
[ 7.206216] snd_soc_avs 0000:00:1f.3: Direct firmware load for intel/avs/hda-generic-tplg.bin failed with error -2
[ 7.206220] snd_soc_avs 0000:00:1f.3: request topology "intel/avs/hda-generic-tplg.bin" failed: -2
[ 7.206255] snd_soc_avs 0000:00:1f.3: ASoC: error at snd_soc_component_probe on hdaudioB0D0-platform: -2
[ 7.214706] snd_hda_codec_hdmi hdaudioB0D2: creating for HDMI 0 0
[ 7.214711] snd_hda_codec_hdmi hdaudioB0D2: skipping capture dai for HDMI 0
[ 7.214712] snd_hda_codec_hdmi hdaudioB0D2: creating for HDMI 1 1
[ 7.214714] snd_hda_codec_hdmi hdaudioB0D2: skipping capture dai for HDMI 1
[ 7.214715] snd_hda_codec_hdmi hdaudioB0D2: creating for HDMI 2 2
[ 7.214718] snd_hda_codec_hdmi hdaudioB0D2: skipping capture dai for HDMI 2
[ 7.214783] snd_soc_avs 0000:00:1f.3: Direct firmware load for intel/avs/hda-8086280b-tplg.bin failed with error -2
[ 7.214787] snd_soc_avs 0000:00:1f.3: request topology "intel/avs/hda-8086280b-tplg.bin" failed: -2
[ 7.214847] snd_soc_avs 0000:00:1f.3: Direct firmware load for intel/avs/hda-8086-generic-tplg.bin failed with error -2
[ 7.214851] snd_soc_avs 0000:00:1f.3: request topology "intel/avs/hda-8086-generic-tplg.bin" failed: -2
[ 7.214876] snd_soc_avs 0000:00:1f.3: ASoC: error at snd_soc_component_probe on hdaudioB0D2-platform: -2
How can I fix this issue so my sound card is enabled reliably?