No Sound on XPS 17 9700

Solution 1:

I found this on Reddit and it worked perfectly for me...

How to get fully working audio on XPS 9700 in Ubuntu 20.04:

  1. Download and install dkms module:

    https://launchpad.net/~canonical-hwe-team/+archive/ubuntu/pc-oem-dkms/+packages

    Alternatively, you can install linux-oem-20.04, it will install the 5.6 kernel with the above driver. Your system may be more stable with 5.4 kernel since it is in wide use.

  2. Manually install sof-firmware from Arch Linux:

    https://archlinux.pkgs.org/rolling/archlinux-extra-x86_64/sof-firmware-1.5.1-1-any.pkg.tar.zst.html

    You will need to delete the existing "sof" and "sof-tplg" files from the Ubuntu linux-firmware package first. Note if this package gets updated from Canoncial and they don't update these, you will have to delete and then reextract. Files go into the /usr/lib/firmware/intel/sof and /usr/lib/firmware/intel/sof-tplg folders.

  3. Manually install the ucm2 files:

    http://xps17.ddns.net/sof-soundwire.zip

    These go into /usr/share/alsa/ucm2/sof-soundwire. Delete the contents of the existing sof-soundwire folder (if you have it) and replace them with the ones from the archive.

  4. Reboot. You should now have all your audio devices available. If speakers do not play, you may need to run alsamixer (non-root) from a terminal and unmute and set the mixer levels all the way up.

Solution 2:

The accepted answer did not work for me. Rather, I found a blog post that fixed the problem for me. This is not my blog, and the author deserves a lot of kudos. I'm running Mint 20.1, rather than Ubuntu, but the author of the blog was writing about Manjaro and Ubuntu, so this should work there too.

His solution was to install updated drivers. In summary, here are the steps I followed (I'm using version 5.8 of the Linux Kernel, but other versions are covered in the post too):

  1. git clone https://github.com/maaarghk/soundwire-dkms
  2. cd soundwire-dkms
  3. git checkout latest-sofproject
  4. cd ..
  5. sudo mv soundwire-dkms /usr/src/soundwire-1.4.0
  6. sudo dkms add soundwire/1.4.0
  7. sudo dkms build soundwire/1.4.0
  8. sudo dkms install soundwire/1.4.0
  9. Reboot. The blog states that you may need to tweak things in alsamixer, but sound worked for me as soon as my laptop restarted.

I hope this is of help to someone. Again, kudos to Mark G. for his excellent blog post.