Linux Thinkpad P1 audio issues

Sometimes I just like to write about how I solved a problem that took me way longer than it really should have. This was one of those problems which persisted for over a month.

I got my hands on a Lenovo Thinkpad P1. This machine had problems with the audio drivers on Windows; however it's a professional requirement for me to use Linux. Parrot was the distro that was loaded onto this. When I installed Parrot on this system, audio was absolutely not available.

Running lspci -v or inxi -Fx will give us an idea of what sound card is on board.

Mine was

Audio:
  Device-1: Intel Comet Lake PCH cAVS vendor: Lenovo

In the sound control panel of Parrot, I could not see any options for audio input or output. There were some blogs that suggested altering the grub file and playing with the /etc/modprobe.d/alsa.conf file, however those didn't help much. At best they got the speakers working and not the microphone.

What really solved the problem for me was using sof-firmware

Steps to get it working:

  1. Install sof-firmware : github.com/thesofproject/sof-bin and follow the installation instructions

  2. Blacklist incompatible hda_intel and soc_skl modules:

/etc/modprobe.d/blacklist.conf

blacklist snd_hda_intel
blacklist snd_soc_skl
  1. Configure PulseAudio's to load Alsa modules with the correct device and channnel settings, by adding these two lines to /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

Reboot!

Now I've got speakers and a microphone working!