No sound unless root in Debian Buster
I solved this issue for me by running:
sudo apt-get remove --purge timidity
Please make sure this will only remove timidity and timidity-daemon. As far as I understand the daemon grabs some resources on startup and prevents the other services from finding the sound cards. I think timidity has something to do with MIDI files so make sure you do not need this when uninstalling the packages and make sure that you know what you uninstall.
Hope this resolves the issue for some users. You might want to reinstall timidity in the future when the above mentioned issues are resolved.
Brief overview of sound: The sound hardware is managed by kernel drivers (formerly a part of ALSA), ALSA provides libraries to access the kernel drivers (this is what you see with alsamixer), and Pulseaudio runs on top of ALSA. One reason for that is that without extra effort, ALSA devices can only be used by a single program, while Pulseaudio allows multiple programs to use the hardware by providing a transport layer.
No sink with Pulseaudio means Pulseaudio failed to grab the ALSA device(s), possibly because (1) permissions are wrong, (2) something else is already using them, (3) something totally different went wrong.
So the first step is to stop Pulseaudio, then use aplay -L
to see your ALSA devices, and try aplay -D ... audio_file.wav
to see if you can access the device directly. Depending on the result of that the next step is either to look what is blocking the device (something else has started earlier and is using it), or to find out why Pulseaudio isn't using the ALSA devices (e.g. load module-alsa-card directly with pacmd
, look at the error message/log entries). How to stop Pulseaudio depends on how you started it, possibly with systemd, possibly via your Desktop system login.
Inspecting the command line of running processes with ps axu
etc. may give hints about the points mentioned above, and will also make sure Pulseaudio has been stopped properly, and is not restarting itself.
Problem solved: after the upgrade, I don't know why, the output was in automute. I just had to change it in alsamixer.
Sometimes, digging deep is not needed.