Fixing Sound on Void Linux with ALSA

KennethKenneth
2 min read

I recently migrated from musl to glibc. It was a long time coming but it essentially boiled down to a pretty stupid problem; you can't compile android apps written in java without using apps that link glibc. As it happens I also wanted to try out the SplicerT plugin in LMMS but couldn't figure out how the nightly builds were compiled which, coupled with the fact that I want to participate in a cypher whose deadline is in under a week, is ultimately what prompted me to fix the audio straight away and not just let it be an inconvenience for 6 months like I did last time.

briefly

  1. Install missing firmware (in my case it was the sof-firmware, which in turn depends on alsa-ucm-conf)

  2. Create /etc/modprobe.d/alsa-base.conf with options snd-hda-intel dmic_detect=0 inside

detailed

I wanted to be systematic about solving this. Last time it happened I worked haphazardly over many months and ultimately couldn't tell what worked and was in no position to trace my steps because I didn't undo any suggested changes that proved unfruitful. I also wound up solving it with pulseaudio which, even back then, I knew I shouldn't have needed. This time I made sure to arrive at the solution with only the relevant changes by undoing every step that yielded no improvement.

  1. After failing to play audio, and fixing other problems I had to procrastinate, I first noticed that aplay -l was reporting that no soundcards were found.

  2. Using dmesg | grep -E 'snd|sof' (and more fortunately this) I learned that my HP Laptop 17-cn0xxx needed me to install sof-firmware.

    This was reported as a complete solution but it didn't work for me. I ultimately decided to keep these changes moving forward because suddenly I had positive feedback from /proc/asound/{cards,devices,modules} which were no longer reporting that soundcards couldn’t be found.

  3. For reasons unknown to me this didn't work, but the second step of this did. Afterwards I removed each file and rebooted to determine that the blacklist step was unnecessary.

0
Subscribe to my newsletter

Read articles from Kenneth directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Kenneth
Kenneth