Score:1

Ubuntu 20.04 Dell XPS Laptop Audio not working

us flag

I've almost got my new Dell XPS laptop setup properly, but a few things are still not quite right. One of the major issues is with audio.

First off, I've never been able to get the system to recognize that it has built-in speakers. The only way I've gotten any audio to work at all is with USB 3.0 headset attached to USB-C hub.

Audio Output Options

This laptop has 4 USB-C ports. I have tried using a 3 or 4 different USB-C hub type devices from different manufacturers. I am currently using a couple from Anker bought on Amazon. Some work better than others. Usually I need to unplug and replug or even reboot to get devices attached to USB hubs to be recognized.

About 95% of the time, the HDMI port works, but around 20% of the time, the keyboard and mouse fail to be recognized. When I plug in the USB headphones, occasionally they are recongized after a very long delay (1 minute or more), other times I have to reboot.

Very strangely, I've noticed that:

  1. If I boot up from a cold-start from power off with the USB-C hub and all devices attached, Ubuntu fails to start completely
  2. If I plug in USB-C hub "at the right time" during Ubuntu boot sequence (after Ubuntu logo, before login screen is displayed) it sometimes works
  3. If I plug in USB-C hub after logging in, usually the monitors work but the audio lags behind
  4. If I boot with nothing attached, attach USB-C hub after logging in, and then REBOOT, everything can boot just fine and my headphones are recognized quickly

I've followed the advice of the following threads...

...but still experience these audio issues.

Here are some investigations I've done:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.3 LTS
Release:    20.04
Codename:   focal

$ sudo lspci | grep audio
[sudo] password for geoff: 
0000:00:1f.3 Multimedia audio controller: Intel Corporation Device 43c8 (rev 11)

$ sudo lshw -C multimedia
  *-multimedia              
       description: Audio device
       product: NVIDIA Corporation
       vendor: NVIDIA Corporation
       physical id: 0.1
       bus info: pci@0000:01:00.1
       version: a1
       width: 32 bits
       clock: 33MHz
       capabilities: pm msi pciexpress bus_master cap_list
       configuration: driver=snd_hda_intel latency=0
       resources: irq:17 memory:ac000000-ac003fff
  *-usb:1
       description: Audio device
       product: Plantronics GameCom 780/788
       vendor: Plantronics
       physical id: 2
       bus info: usb@3:4.2
       version: 1.00
       capabilities: usb-1.10 audio-control
       configuration: driver=usbhid maxpower=500mA speed=12Mbit/s
  *-usb:2
       description: Video
       product: Integrated_Webcam_HD
       vendor: CN07JX4K8LG0016KD8L9A00
       physical id: b
       bus info: usb@3:b
       version: 9.11
       capabilities: usb-2.01
       configuration: driver=uvcvideo maxpower=500mA speed=480Mbit/s
  *-multimedia
       description: Multimedia audio controller
       product: Intel Corporation
       vendor: Intel Corporation
       physical id: 1f.3
       bus info: pci@0000:00:1f.3
       version: 11
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi bus_master cap_list
       configuration: driver=snd_hda_intel latency=64
       resources: iomemory:620-61f iomemory:620-61f irq:225 memory:628f2d8000-628f2dbfff memory:628f000000-628f0fffff

I installed pulseaudio, didn't seem to do anything.

Not sure if this is enough to go on, but I'd appreciate any additional things to try.

Edit 1:

Upon the advice of matigo, I tried installing Hui Wang’s custom kernel: https://people.canonical.com/~hwang4/9710/

It did not work. Here is the output

$ sudo dpkg -i linux-image-unsigned-5.11.0-33-generic_5.11.0-33.35_amd64.deb linux-modules-5.11.0-33-generic_5.11.0-33.35_amd64.deb linux-modules-extra-5.11.0-33-generic_5.11.0-33.35_amd64.deb
(Reading database ... 256692 files and directories currently installed.)
Preparing to unpack linux-image-unsigned-5.11.0-33-generic_5.11.0-33.35_amd64.deb ...
Unpacking linux-image-unsigned-5.11.0-33-generic (5.11.0-33.35) over (5.11.0-33.35) ...
Preparing to unpack linux-modules-5.11.0-33-generic_5.11.0-33.35_amd64.deb ...
Unpacking linux-modules-5.11.0-33-generic (5.11.0-33.35) over (5.11.0-33.35) ...
Preparing to unpack linux-modules-extra-5.11.0-33-generic_5.11.0-33.35_amd64.deb ...
Unpacking linux-modules-extra-5.11.0-33-generic (5.11.0-33.35) over (5.11.0-33.35) ...
Setting up linux-image-unsigned-5.11.0-33-generic (5.11.0-33.35) ...
Setting up linux-modules-5.11.0-33-generic (5.11.0-33.35) ...
Setting up linux-modules-extra-5.11.0-33-generic (5.11.0-33.35) ...
Processing triggers for linux-image-unsigned-5.11.0-33-generic (5.11.0-33.35) ...
/etc/kernel/postinst.d/dkms:
 * dkms: running auto installation service for kernel 5.11.0-33-generic
Error! Your kernel headers for kernel 5.11.0-33-generic cannot be found.
Please install the linux-headers-5.11.0-33-generic package,
or use the --kernelsourcedir option to tell DKMS where it's located
   ...done.
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-5.11.0-33-generic
I: The initramfs will attempt to resume from /dev/nvme0n1p5
I: (UUID=21e10181-5587-4c05-b581-4dcc1bb6b268)
I: Set the RESUME variable to override this.
/etc/kernel/postinst.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.11.0-34-generic
Found initrd image: /boot/initrd.img-5.11.0-34-generic
Found linux image: /boot/vmlinuz-5.11.0-33-generic
Found initrd image: /boot/initrd.img-5.11.0-33-generic
Found linux image: /boot/vmlinuz-5.11.0-27-generic
Found initrd image: /boot/initrd.img-5.11.0-27-generic
Found linux image: /boot/vmlinuz-5.4.0-84-generic
Found initrd image: /boot/initrd.img-5.4.0-84-generic
Adding boot menu entry for UEFI Firmware Settings
done

Does this mean I need to downgrade my Kernel from 5.11.0-34 to 5.11.0-33?

Edit 2:

The system already has 5.11.0-34, and so Hui Wang's pre-release audio driver cannot find the linux headers, because it's looking for 5.11.0-33.

See full output below.

$ sudo apt install linux-headers-$(uname -r)
[sudo] password for geoff: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
linux-headers-5.11.0-34-generic is already the newest version (5.11.0-34.36~20.04.1).
linux-headers-5.11.0-34-generic set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

I am not sure how to downgrade to 5.11.0-33. I momentarily contemplated symlinking 5.11.0-34 as 5.11.0-33, but didn't want to risk bricking my system.

I also found it rather odd that this answer describes where to download the linux source code for a specific version but when I follow the link to the linux source, version 5.11 is completely absent from the listing.

Edit 3:

Based on one of the comments, I did some research into how to update the Ubuntu 20 Kernel -- when I run the updater for 5.13.16 I get:

dpkg: error processing package linux-headers-5.13.16-051316-generic (--install):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of linux-headers-5.13.16-051316-lowlatency:
 linux-headers-5.13.16-051316-lowlatency depends on libc6 (>= 2.34); however:
  Version of libc6:amd64 on system is 2.31-0ubuntu9.2.

I tried fixing it, but run into a libc6 compatibility problem...

$ sudo dpkg -i *.deb
(Reading database ... 322081 files and directories currently installed.)
Preparing to unpack linux-headers-5.13.16-051316_5.13.16-051316.202109120831_all.deb ...
Unpacking linux-headers-5.13.16-051316 (5.13.16-051316.202109120831) over (5.13.16-051316.202109120831) ...
Selecting previously unselected package linux-headers-5.13.16-051316-generic.
Preparing to unpack linux-headers-5.13.16-051316-generic_5.13.16-051316.202109120831_amd64.deb ...
Unpacking linux-headers-5.13.16-051316-generic (5.13.16-051316.202109120831) ...
Preparing to unpack linux-image-unsigned-5.13.16-051316-generic_5.13.16-051316.202109120831_amd64.deb ...
Unpacking linux-image-unsigned-5.13.16-051316-generic (5.13.16-051316.202109120831) over (5.13.16-051316.202109120831) ...
Preparing to unpack linux-modules-5.13.16-051316-generic_5.13.16-051316.202109120831_amd64.deb ...
Unpacking linux-modules-5.13.16-051316-generic (5.13.16-051316.202109120831) over (5.13.16-051316.202109120831) ...
Setting up linux-headers-5.13.16-051316 (5.13.16-051316.202109120831) ...
dpkg: dependency problems prevent configuration of linux-headers-5.13.16-051316-generic:
 linux-headers-5.13.16-051316-generic depends on libc6 (>= 2.34); however:
  Version of libc6:amd64 on system is 2.31-0ubuntu9.2.

dpkg: error processing package linux-headers-5.13.16-051316-generic (--install):
 dependency problems - leaving unconfigured
Setting up linux-image-unsigned-5.13.16-051316-generic (5.13.16-051316.202109120831) ...
I: /boot/initrd.img.old is now a symlink to initrd.img-5.13.16-051316-generic
Setting up linux-modules-5.13.16-051316-generic (5.13.16-051316.202109120831) ...
Processing triggers for linux-image-unsigned-5.13.16-051316-generic (5.13.16-051316.202109120831) ...
/etc/kernel/postinst.d/dkms:
 * dkms: running auto installation service for kernel 5.13.16-051316-generic

Kernel preparation unnecessary for this kernel.  Skipping...
applying patch disable_fstack-clash-protection_fcf-protection.patch...patching file Kbuild
Hunk #1 succeeded at 82 (offset 11 lines).


Building module:
cleaning build area...(bad exit status: 2)
unset ARCH; [ ! -h /usr/bin/cc ] && export CC=/usr/bin/gcc; env NV_VERBOSE=1 'make' -j16 NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=5.13.16-051316-generic IGNORE_XEN_PRESENCE=1 IGNORE_CC_MISMATCH=1 SYSSRC=/lib/modules/5.13.16-051316-generic/build LD=/usr/bin/ld.bfd modules.....(bad exit status: 2)
ERROR (dkms apport): kernel package linux-headers-5.13.16-051316-generic is not supported
Error! Bad return status for module build on kernel: 5.13.16-051316-generic (x86_64)
Consult /var/lib/dkms/nvidia/470.63.01/build/make.log for more information.
   ...done.
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-5.13.16-051316-generic
sudo apt-gI: The initramfs will attempt to resume from /dev/nvme0n1p5
I: (UUID=21e10181-5587-4c05-b581-4dcc1bb6b268)
I: Set the RESUME variable to override this.
et/etc/kernel/postinst.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.14.3-051403-lowlatency
Found initrd image: /boot/initrd.img-5.14.3-051403-lowlatency
Found linux image: /boot/vmlinuz-5.14.3-051403-generic
Found initrd image: /boot/initrd.img-5.14.3-051403-generic
Found linux image: /boot/vmlinuz-5.13.16-051316-lowlatency
Found initrd image: /boot/initrd.img-5.13.16-051316-lowlatency
Found linux image: /boot/vmlinuz-5.13.16-051316-generic
Found initrd image: /boot/initrd.img-5.13.16-051316-generic
Found linux image: /boot/vmlinuz-5.11.0-34-generic
Found initrd image: /boot/initrd.img-5.11.0-34-generic
Found linux image: /boot/vmlinuz-5.11.0-33-generic
Found initrd image: /boot/initrd.img-5.11.0-33-generic
Found linux image: /boot/vmlinuz-5.11.0-27-generic
Found initrd image: /boot/initrd.img-5.11.0-27-generic
Found linux image: /boot/vmlinuz-5.4.0-84-generic
Found initrd image: /boot/initrd.img-5.4.0-84-generic
Adding boot menu entry for UEFI Firmware Settings
done
Errors were encountered while processing:
 linux-headers-5.13.16-051316-generic
geoff@gdhxps ~/Downloads/UbuntuKernel_5.13.16 $ sudo apt-get install -y libc6
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libc6 is already the newest version (2.31-0ubuntu9.2).
libc6 set to manually installed.
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
 linux-headers-5.13.16-051316-generic : Depends: libc6 (>= 2.34) but 2.31-0ubuntu9.2 is to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
geoff@gdhxps ~/Downloads/UbuntuKernel_5.13.16 $ sudo apt --fix-broken install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages will be REMOVED:
  linux-headers-5.13.16-051316-generic
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 22.0 MB disk space will be freed.
Do you want to continue? [Y/n] Y
(Reading database ... 331423 files and directories currently installed.)
Removing linux-headers-5.13.16-051316-generic (5.13.16-051316.202109120831) ...
geoff@gdhxps ~/Downloads/UbuntuKernel_5.13.16 $ sudo apt-get install libc6
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libc6 is already the newest version (2.31-0ubuntu9.2).
libc6 set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Whenever things get this dicey, I usually assume I've done something wrong.

I tried the Ubuntu Mainline Kernel script instead.

$ sudo ubuntu-mainline-kernel.sh -i v5.14.3
Downloading index from kernel.ubuntu.com
It seems version v5.14.3 is already installed, continue? (y/N) 

Will download 6 files from kernel.ubuntu.com:
Downloading amd64/linux-headers-5.14.3-051403-generic_5.14.3-051403.202109120431_amd64.deb: 100%   
Downloading amd64/linux-headers-5.14.3-051403_5.14.3-051403.202109120431_all.deb: 100%   
Downloading amd64/linux-image-unsigned-5.14.3-051403-generic_5.14.3-051403.202109120431_amd64.deb: 100%   
Downloading amd64/linux-modules-5.14.3-051403-generic_5.14.3-051403.202109120431_amd64.deb: 100%   
Downloading amd64/CHECKSUMS: 100%   
Downloading amd64/CHECKSUMS.gpg: 100%   
Importing kernel-ppa gpg key ok
Signature of checksum file has been successfully verified
Checksums of deb files have been successfully verified with sha256sum
Installing 4 packages
Cleaning up work folder

1: Dell XPS 17 (9710) / 11th Generation Intel® Core™ i9-11900H (24MB Cache, up to 4.9 GHz, 8 cores) / NVIDIA® GeForce RTX™ 3060 6GB GDDR6 [70W] / 32GB DDR4 3200MHz, 2x16GB / 1TB M.2 PCIe NVMe Solid State Drive

in flag
Which model of Dell are you using?
Geoffrey Hoffman avatar
us flag
@guiverc its Ubuntu 20.04.3 LTS - updated OP
Geoffrey Hoffman avatar
us flag
@matigo its a Dell XPS 17 (9710) / 11th Generation Intel® Core™ i9-11900H (24MB Cache, up to 4.9 GHz, 8 cores) / NVIDIA® GeForce RTX™ 3060 6GB GDDR6 [70W] / 32GB DDR4 3200MHz, 2x16GB / 1TB M.2 PCIe NVMe Solid State Drive
Nate T avatar
it flag
Ill bet you all 5$ each its lack of codecs...
ChanganAuto avatar
us flag
It likely needs (1) UEFI update - some issues at boot time suggests the firmware was rushed into production like some many this days - and (2) it certainly needs a newer Ubuntu (10th and 11th generations are still not well supported even with the latest standard kernels Ubuntu is shipped with). I predict this platforms will have a fantastic support with 22.04 and newer.
Geoffrey Hoffman avatar
us flag
@ChanganAuto It's interesting you suggest to upgrade Ubuntu to a newer version. Other people with more Linux experience than me had the opposite take, that a newer Ubuntu version would be even more likely to have bugs or introduce other issues. I'd have no problems updating if I was certain how to do it, sure it would fix audio, and positive it wouldn't introduce new issues.
ChanganAuto avatar
us flag
@GeoffreyHoffman The rules for people with real Linux experience is and always as been newer hardware requires newer releases. Ubuntu 20.04 precedes your hardware. It'll catch up sometime with future kernel updates. The kernel contains the hardware support, or doesn't.
Geoffrey Hoffman avatar
us flag
Thanks @ChanganAuto I am still very much learning. I've added to my OP with some morre details.
Score:1
in flag

There is a fix for the audio chipset coming in a future kernel release, but you can get it working today by using Hui Wang’s custom kernel: https://people.canonical.com/~hwang4/9710/

To install it:

  1. Ensure “secure boot” is disabled in the UEFI/BIOS
  2. Ensure the Linux Headers are installed:
    sudo apt install linux-headers-$(uname -r)
    
  3. Download the files from Hui’s site
  4. Open Terminal and navigate to the directory containing the .deb files
  5. Install using dpkg:
    sudo dpkg -i
    linux-image-unsigned-5.11.0-33-generic_5.11.0-33.35_amd64.deb
    linux-modules-5.11.0-33-generic_5.11.0-33.35_amd64.deb
    linux-modules-extra-5.11.0-33-generic_5.11.0-33.35_amd64.deb
    
  6. Reboot

This has been confirmed as working on Dell XPS 9710 machines for both 20.04 and 21.04.

Geoffrey Hoffman avatar
us flag
I appreciate this info - but when I try it, I get Error! Your kernel headers for kernel 5.11.0-33-generic cannot be found. Please install the linux-headers-5.11.0-33-generic package -- I updated the OP with the full output.
in flag
Perhaps step 1 should have been `sudo apt install linux-headers-$(uname -r)`. This should get you past the installation error.
Geoffrey Hoffman avatar
us flag
linux-headers-5.11.0-34-generic is already the newest version (5.11.0-34.36~20.04.1).
Geoffrey Hoffman avatar
us flag
I tried installing Ubuntu 21.04 and although the Wifi worked, the touchscreen worked, the trackpad worked, after installing all updates the Dell XPS (9710) was bricked to non start due to a firmware issue, so I reverted back to focal.
Score:0
us flag

None of the answers above worked for me because my machine already had a newer kernel:

Error! Your kernel headers for kernel 5.11.0-33-generic cannot be found.
Please install the linux-headers-5.11.0-33-generic package,
$ uname -a
Linux 5.11.0-34-generic #37~20.04.1-Ubuntu

So I subscribed to Canonical support and worked with their technicians to resolve this issue.

Note: Use at your own risk. This solution involves installing pre-release software (Sept 2021).

Here are the steps to install 5.11.0-35 kernel on your laptop:

  1. enable focal-proposed repository by writing repository info to /etc/apt/sources.list
echo "deb http://us.archive.ubuntu.com/ubuntu/ focal-proposed main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list
  1. update repository metadata
sudo apt update
  1. install 5.11.0-35 kernel
sudo apt install linux-image-5.11.0-35-generic linux-modules-5.11.0-35-generic linux-modules-extra-5.11.0-35-generic linux-headers-5.11.0-35-generic
  1. remove the focal-proposed in /etc/apt/sources.list

Please note: packages from focal-proposed are still under testing, so do not install any other packages from there except kernel 5.11.0-35

Open up /etc/apt/sources.list and at the bottom, comment out the last line with the deb you added in step 1.

sudo vim /etc/apt/sources.list
  1. after remove focal-proposed from /etc/apt/sources.list, update the repository metadata again
sudo apt update
  1. reboot the machine and verify if audio works
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.