[Intel SOF] No sound card / mic detected on Razer Blade Stealth Early 2020

I installed Manjaro KDE on the Razer Blade Stealth Early 2020 (inxi here), and as per the recommendation on the Arch website I upgraded the kernel to 5.6 / 5.7 (tried both).

Most things work fine after a little bit of tweaking, but I noticed that no sound card is detected by default, so there's no way to play any sound or record any audio. The card however is certainly recognised in inxi:

Audio:     Device-1: Intel Smart Sound Audio vendor: Razer USA driver: sof-audio-pci 
           bus ID: 00:1f.3 
           Sound Server: ALSA v: k5.6.15-1-MANJARO

After some digging around. I managed to get a workaround going by changing to the HiFi PulseAudio profile:

pactl set-card-profile 0 HiFi

and I also got the corresponding setting going on /etc/pulse/default.pa. So now I can hear stuff, awesome! Once I tried to join a meeting on my browser however, I noticed that the browser doesn't detect any microphones... in fact it doesn't detect any audio devices at all (even though the test ping still works):
meeting-audio
At this point the problem I'm starting to feel lost... would anybody here mind giving me some troubleshooting advice? Thank you so much in advance!

Edit: in the configurations page of pavucontrol, HiFiprofile is listed as "unavailable", and selecting it will lead to the iffy audio behaviour described above:
pavu-hifi


Updates

Jun-09: I simply switched back to Kernel 5.4 and this seemed to have taken care of the issue. This allows Analog output to work but the browser issue is still present, so we're still stuck.

Jun-10: Solved! Turns out this is an issue of Intel SOF, which is relatively new technology and isn't robustly supported on Linux yet. Solution took a lot of digging and I probably wouldn't have figured it out without very specific hints the Linux masters (credit alphazo on Arch forums).

2 Likes

Thanks Fabby! Sorry I knew this forum has a "solved" mechanism but I couldn't find it.

Verified solution - install firmware

Based on this solution, with some typos corrected and an addition preparation step.
Please skim it since the alphazo had a better understanding of what was going on

I found out this is actually an issue with the Intel SOF firmware. I got full audio functionality by doing the following:

1. Prep: install pavucontrol and sof-firmware

This solution won't work without sof-firmware!

sudo pacman -s pavucontrol sof-firmware

2. Blacklist the original audio modules

Add the following to etc/modprobe.d/blacklist.conf:

blacklist snd_hda_intel
blacklist snd_soc_skl

3. Get the source from ALSA instead

Add the following to /etc/pulse/default.pa:

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

4. Modify SOF firmware

I stuck to v1.3 as shown in the post

wget https://github.com/thesofproject/sof/releases/download/v1.3/sof-cnl-signed-intel.ri
mkdir /lib/firmware/intel/sof
cp sof-cnl-signed-intel.ri /lib/firmware/intel/sof/sof-cnl.ri

5. Modify SOF topology

I made some corrections in the blocks in this section:

mv  /lib/firmware/intel/sof-tplg  /lib/firmware/intel/sof-tplg-bak
mkdir /lib/firmware/intel/sof-tplg
wget https://bugzilla.kernel.org/attachment.cgi?id=284395 -O hda-topology.tar.gz
tar xf hda-topology.tar.gz -C /lib/firmware/intel/sof-tplg
  • Install symlink (not necessarily required):
mv /lib/firmware/intel/sof-tplg/sof-hda-generic.tplg /lib/firmware/intel/sof-tplg/sof-hda-generic.tplg.original
ln -s /lib/firmware/intel/sof-tplg/sof-hda-generic-4ch.tplg /lib/firmware/intel/sof-tplg/sof-hda-generic.tplg

6. Reboot

7. Change device profile

Use pactl, pavucontrol or add profile to etc/default.pa

  • Specific to Razer Blade Stealth Early 2020:

    • Linux 5.4: use output:multichannel-output profile
    • Linux 5.6+: use HiFi profile
  • In general: use pacmd list-cards to find your sound card / profile

    fix-kde fix-meet

8. Set volume using alsamixer

The volume of the ALSA sound card itself cannot be adjusted through pulseaudio, so the volume will be tinny as a result. To improve this,

  • Enter alsamixer through the terminal
  • Hit F6 to get to the sound card
  • Adjust the volume accordingly (keep it in the white zone)

Then exit alsamixer and run

sudo alsactl store

which will make the changes persistent across reboot.

2 Likes

@ fuzegane

How were you able to install Manjaro on the RBS? When I tried to load the liveusb, I kept getting blank screens even after setting nomodeset. Can you explain how you got it to work? Does everything else work ok?

Thanks for any help.

1 Like

Hello, I have the same model of laptop and am experiencing this issue. I went through and followed the steps and now I am seeing the sound card with in the audio settings but even after setting the volume through alsamixer there isn't any sound coming out of my speakers. Any ideas?

solution is based on an Arch forum solution from October 2019 for Lenovo Carbon X1 Gen 7
package sof-firmware has updated to v1.5.1.1 so modifying SOF firmware and topology should not be needed

Arch wiki page for Lenovo Carbon X1 Gen 7 had a simpler solution added recently
that has been confirmed to work for some other laptops - install sof-firmware and also pulseaudio-git to get pulseaudio v13.99

@imjustheretoinstall
maybe this will help with your boot problem

1 Like

Thank you! Upgrading pulseaudio to the newest version (pulseaudio-git) worked. Appreciate you taking the time to point that out.

I am very interested to know as well.

I'm in the same boat, same machine except I'm using xfce. I'm trying to install pulseaudio-git but I'm getting the error

could not satisfy dependencies:
- removing libpulse breaks dependency 'libpulse-simple.so=0-64' required by fluidsynth

I looked into both libpulse and fluidsynth but I don't feel confident removing either of them to install this. Any advice?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by