No HDMI Audio on Nvidia 1660 Super (Driver 460) & Ubuntu 20.10

Hi all,

I’m having a problem with no audio output showing up on an Nvidia 1660 Super (Driver 460) and Ubuntu 20.10 that I’m hoping you can assist with. I have tried the nvhda kernel module mentioned here but it still doesn’t show the audio output:
https://forums.developer.nvidia.com/t/gtx-1060-no-audio-over-hdmi-only-hda-intel-detected-azalia/53463
Only the HDA Intel PCH output is shown. Oddly enough it does work fine during a live/thumb drive session of 20.10. The live session would be using nouveau, but I’d like to use Nvidia’s Driver.

Any idea’s? Please let me know what else you might need to troubleshoot this.
Thanks!

Additional Details:
dmesg.nvidia.log (66.0 KB)
nvidia-bug-report.log.gz (337.1 KB)

root@htpc:/home/dan# uname -a
Linux htpc 5.8.0-36-generic #40-Ubuntu SMP Tue Jan 5 21:54:35 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

root@htpc:/home/dan# lspci -v | grep -A5 -i "audio"
00:1f.3 Audio device: Intel Corporation 200 Series PCH HD Audio
DeviceName: Onboard - Sound
Subsystem: ASRock Incorporation 200 Series PCH HD Audio
Flags: bus master, fast devsel, latency 32, IRQ 122
Memory at df140000 (64-bit, non-prefetchable) [size=16K]
Memory at df120000 (64-bit, non-prefetchable) [size=64K]
Capabilities: [50] Power Management version 3
Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+

root@htpc:/home/dan# lspci -H1
00:00.0 Host bridge: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers (rev 07)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor PCIe Controller (x16) (rev 07)
00:14.0 USB controller: Intel Corporation 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller
00:14.2 Signal processing controller: Intel Corporation 200 Series PCH Thermal Subsystem
00:16.0 Communication controller: Intel Corporation 200 Series PCH CSME HECI #1
00:17.0 SATA controller: Intel Corporation 200 Series PCH SATA controller [AHCI mode]
00:1f.0 ISA bridge: Intel Corporation Device a2cc
00:1f.2 Memory controller: Intel Corporation 200 Series/Z370 Chipset Family Power Management Controller
00:1f.3 Audio device: Intel Corporation 200 Series PCH HD Audio
00:1f.4 SMBus: Intel Corporation 200 Series/Z370 Chipset Family SMBus Controller
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (2) I219-V
01:00.0 VGA compatible controller: NVIDIA Corporation TU116 [GeForce GTX 1660 SUPER] (rev a1)
01:00.1 Audio device: NVIDIA Corporation TU116 High Definition Audio Controller (rev a1)
01:00.2 USB controller: NVIDIA Corporation TU116 USB 3.1 Host Controller (rev a1)
01:00.3 Serial bus controller [0c80]: NVIDIA Corporation TU116 USB Type-C UCSI Controller (rev a1)

root@htpc:/home/dan# aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
Subdevices: 0/1
Subdevice #0: subdevice #0

root@htpc:/home/dan# egrep -i  "nvid|sound|snd|nvc" /home/dan/dmesg.nvidia.log 
[    5.749450] nvidia: loading out-of-tree module taints kernel.
[    5.749488] nvidia: module license 'NVIDIA' taints kernel.
[    5.774175] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[    5.795216] nvidia-nvlink: Nvlink Core is being initialized, major device number 239
[    5.795756] nvidia 0000:01:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
[    5.840932] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  460.32.03  Sun Dec 27 19:00:34 UTC 2020
[    6.108184] snd_hda_intel 0000:01:00.1: Disabling MSI
[    6.108186] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
[    6.121668] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input15
[    6.121694] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input16
[    6.121717] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input17
[    6.121740] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input18
[    6.121762] input: HDA NVidia HDMI/DP,pcm=10 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input19
[    6.121784] input: HDA NVidia HDMI/DP,pcm=11 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input20
[    6.121811] input: HDA NVidia HDMI/DP,pcm=12 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input21
[    6.187499] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC892: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:line
[    6.187500] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[    6.187501] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x1b/0x0/0x0/0x0/0x0)
[    6.187502] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[    6.187502] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[    6.187503] snd_hda_codec_realtek hdaudioC0D0:      Front Mic=0x19
[    6.187503] snd_hda_codec_realtek hdaudioC0D0:      Rear Mic=0x18
[    6.187504] snd_hda_codec_realtek hdaudioC0D0:      Line=0x1a
[    6.204216] input: HDA Intel PCH Rear Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input22
[    6.217209] input: HDA Intel PCH Line as /devices/pci0000:00/0000:00:1f.3/sound/card0/input23
[    6.217243] input: HDA Intel PCH Line Out as /devices/pci0000:00/0000:00:1f.3/sound/card0/input24
[    6.265964] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  460.32.03  Sun Dec 27 18:51:11 UTC 2020
[    6.303839] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[    6.303840] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 0
[    6.348808] nvidia-uvm: Loaded the UVM driver, major device number 511.
[    7.865926] usbcore: registered new interface driver snd-usb-audio

I guess Ubuntu enabled udev rules to remove the audio device and other subdevices which are meant to be used only when using offload mode and dynamic powermanagement.
Please run and post the output of
grep “10de” /lib/udev/rules.d/*
to identify the file to remove.

Thanks for assisting generix.

root@htpc:/home/dan# grep "10de" /lib/udev/rules.d/*
/lib/udev/rules.d/50-pm-nvidia.rules:ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", ATTR{remove}="1"
/lib/udev/rules.d/50-pm-nvidia.rules:ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", ATTR{remove}="1"
/lib/udev/rules.d/50-pm-nvidia.rules:ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"
/lib/udev/rules.d/50-pm-nvidia.rules:ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
/lib/udev/rules.d/50-pm-nvidia.rules:ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"
/lib/udev/rules.d/50-pm-nvidia.rules:ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on"
/lib/udev/rules.d/50-pm-nvidia.rules:ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on"
/lib/udev/rules.d/71-nvidia.rules:SUBSYSTEM=="pci", ATTRS{vendor}=="0x10de", DRIVERS=="nvidia", TAG+="seat", TAG+="master-of-seat"
/lib/udev/rules.d/71-nvidia.rules:ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x03[0-9]*", TEST=="power/control", ATTR{power/control}="auto"
/lib/udev/rules.d/71-nvidia.rules:ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", TEST=="power/control", ATTR{power/control}="auto"
/lib/udev/rules.d/71-nvidia.rules:ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c0330", TEST=="power/control", ATTR{power/control}="auto"
/lib/udev/rules.d/71-nvidia.rules:ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x0c8000", TEST=="power/control", ATTR{power/control}=“auto”`

Please remove that file and reboot.

I found the culprit in 50-pm-nvidia.rules

I just commented this out:

# Remove NVIDIA Audio devices, if present
#ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"

Now I have sound over HDMI! Thanks so much!

Thank you! This helped me fix the same problem for a 1080 Ti with Ubuntu 20.10 and the newer 460.67 driver. From /lib/udev/rules.d/71-nvidia.rules I removed:

ACTION==“add”, SUBSYSTEM==“pci”, ATTR{vendor}==“0x10de”, ATTR{class}==“0x040300”, TEST==“power/control”, ATTR{power/control}=“auto”