Sound stopped working on Lenovo laptop

I have a problem where my laptop randomly loses all sound capabilities after some time.
It started happening just today, and it persists over restarts.
I’m not sure if it started before or after my latest rebuild.
It cripples video playback and the “Test” feature in the GNOME settings sound panel.
It might be because I have lots of tabs open and/or I restarted VSCode and/or memory use from GHC (things I did shortly before discovering it had stopped working)

Here’s some information:

  • My laptop is a 81FV Lenovo Legion Y530-15ICH
  • My DE is GNOME 41.4
  • My CPU is Intel i5-8300H (8) @ 4.000GHz
  • I have a dual GPU setup, with:
    • NVIDIA GeForce GTX 1050 Ti Mobile
    • Intel CoffeeLake-H GT2 [UHD Graphics 630]
  • I don’t know what sound system I’m using, here are some attempts at getting info:
    • systemctl status sound.target shows “active”
    • pactl info shows nothing of interest
    • Running alsa-info spits out some errors about files not found and produces this:
    • systemctl show pipewire.service shows that it’s masked
    • lspci shows two “Audio” devices:
      • 00:1f.3 Audio device: Intel Corporation Cannon Lake PCH cAVS (rev 10)
      • 01:00.1 Audio device: NVIDIA Corporation GP107GL High Definition Audio Controller (rev a1)
  • My nixpkgs revision is 062a0c5437b68f950b081bbfc8a699d57a4ee026. The specific configs are:

Here is the output of journalctl -b 0 | grep -Ei "audio|sound|alsa|pipewire|pulseaudio|jack" :

I’ve had this too for a few months now but unlike you I do use pipewire so I don’t know if we’re experiencing the same bug. It never happened on Pulse and if I go to pavucontrol and change the audio controller configuration back and forth it resolves itself for a bit: (between digital and analog)

Could try using the default kernel instead of latest, sometimes sound issues like this are kernel-related.

I’ve found that pulseaudio claims that a “sink” is “suspended”, and there’s many people online from times past reporting similar reports of suspended sinks, and answers saying that the solution is to remove the

### Automatically suspend sinks/sources that become idle for too long
load-module module-suspend-on-idle

from /etc/pulse/default.pa.

But why would a sink be suspended? Do sink represent outputs? Are they created and destroyed regularly or do they persist? Is suspending them sensible—why is it in the default config?

Or is module-suspend-on-idle something else? Does idle mean unresponsive on an internal bus?

Also, is PulseAudio not managed by systemd? I can’t find a service called that anywhere.

Also, killall pulseaudio resolves the issue (likely only temporarily).

OK, killall pulseaudio solves nothing! It’s back to being broken a minute after killing it.

Here’s a list of links that I found that seem to relate to this