Sound works for a bit, then stops (22.11)

I’ve got a strange issue since upgrading to 22.11 where my sound will work when I first log in, and then after some time, it simply stops working.

This happens with both pipewire and pulseaudio setups. My current config is back to pipewire, and looks like:

  hardware.pulseaudio.enable = false;
  security.rtkit.enable = true;
  services.pipewire = {
    enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;
    # jack.enable = true
  };

Sound works again any time I log out and log back in or restart my computer, and then at some point is just stops working. I don’t see anything in journalctl that looks suspicious around the time that the sound cuts out. My dmesg output looks like this:

❯ dmesg | grep -i audio
[    0.142317] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[    9.830431] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if info 0x040380
[    9.831423] sof-audio-pci-intel-tgl 0000:00:1f.3: Digital mics found on Skylake+ platform, using SOF driver
[    9.831937] sof-audio-pci-intel-tgl 0000:00:1f.3: DSP detected with PCI class/subclass/prog-if 0x040380
[    9.832011] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    9.838508] sof-audio-pci-intel-tgl 0000:00:1f.3: use msi interrupt mode
[    9.880853] sof-audio-pci-intel-tgl 0000:00:1f.3: hda codecs found, mask 5
[    9.880858] sof-audio-pci-intel-tgl 0000:00:1f.3: using HDA machine driver skl_hda_dsp_generic now
[    9.880861] sof-audio-pci-intel-tgl 0000:00:1f.3: DMICs detected in NHLT tables: 4
[    9.897746] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[    9.897749] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:18:0
[    9.897750] sof-audio-pci-intel-tgl 0000:00:1f.3: warn: FW ABI is more recent than kernel
[    9.897754] sof-audio-pci-intel-tgl 0000:00:1f.3: unknown sof_ext_man header type 3 size 0x30
[    9.991570] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware info: version 2:2:0-57864
[    9.991574] sof-audio-pci-intel-tgl 0000:00:1f.3: Firmware: ABI 3:22:1 Kernel ABI 3:18:0
[    9.991576] sof-audio-pci-intel-tgl 0000:00:1f.3: warn: FW ABI is more recent than kernel
[   10.015598] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:22:1 Kernel ABI 3:18:0
[   10.015602] sof-audio-pci-intel-tgl 0000:00:1f.3: warn: topology ABI is more recent than kernel
[   10.059548] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: Parent card not yet available, widget card binding deferred
[   10.122772] snd_hda_codec_realtek ehdaudio0D0: autoconfig for ALC287: line_outs=2 (0x14/0x17/0x0/0x0/0x0) type:speaker
[   10.122777] snd_hda_codec_realtek ehdaudio0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   10.122778] snd_hda_codec_realtek ehdaudio0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[   10.122779] snd_hda_codec_realtek ehdaudio0D0:    mono: mono_out=0x0
[   10.122780] snd_hda_codec_realtek ehdaudio0D0:    inputs:
[   10.122781] snd_hda_codec_realtek ehdaudio0D0:      Mic=0x19
[   10.190643] snd_hda_codec_realtek ehdaudio0D0: ASoC: sink widget AIF1TX overwritten
[   10.190651] snd_hda_codec_realtek ehdaudio0D0: ASoC: source widget AIF1RX overwritten

lspci output:

❯ lspci | grep -i audio
00:1f.3 Audio device: Intel Corporation Tiger Lake-LP Smart Sound Technology Audio Controller (rev 20)

Switching back to my 20.05 config resolves the issue.

I’d really appreciate any help investigating!

Some sleuthing points to users from other distros having issues with similar errors, apparently it’s a kernel module bug and fixed in more recent kernels.

What kernel version are you on? I believe 22.11 still defaults to 5.15, the posts I’ve seen report it being fixed a few patches into 6.0.x.

2 Likes

Great find! I am indeed on 5.15.86. I’ll keep booting into my older config for now, then, and then try updating again in a bit. Would be curious to know if anyone has any other workarounds, also.

Some related threads from the Manjaro forums:

I’m going to give the 6.0 kernel a shot. Haven’t done this with NixOS before, but it seems relatively straightforward from the instructions here: Linux kernel - NixOS Wiki

Confirmed what folks found in the Manjaro threads: upgrading to the 6.x series kernel seems to resolve the issue. I at least haven’t seen any other negative effects from the upgrade.

I added this line to my config:

  boot.kernelPackages = pkgs.linuxPackages_latest;

And that got me up to 6.1.2

2 Likes