How I got pulseaudio sound working with an X1 Carbon 7th Gen on Arch Linux

I tried following the instructions on the Arch Wiki and everywhere else I could find, but I kept having one of the following problems:

  • No sound would play at all
  • Sound only came out of the bottom two speakers
  • Sound came out from all four speakers, but sounded tinny

Here’s my setup and how I solved it. I’m running an X1 Carbon 7th Gen on Arch Linux.

$ uname -r

5.6.13-arch1-1

Install pulseaudio-git and sof-firmware.

Put the following in /etc/modprobe.d/sof.conf:

options snd slots=snd_soc_skl_hda_dsp

Put the following in /etc/pulse/default.pa:

load-module module-alsa-sink device=hw:0,0 channels=4
load-module module-alsa-source device=hw:0,7 channels=4

Restart and launch PulseAudio. Audio will play from all 4 speakers, but sound tinny. Solve this by doing the following:

Run alsamixer > F6 > Select sof-hda-dsp as Sound Card > Hit “M” over “Speaker” to mute it.

Sound will now play through all 4 speakers and no longer be tinny.