Comment 19 for bug 1377653

Revision history for this message
Rudi Daemen (fludizz) wrote :

I have a very useful update on the Skylake/nvidia GTX1060 case where the HDMI Audio device does not show up in lspci. Based on information found on the NVidia Developer forum, I was able to get my HDMI audio device show up in Ubuntu 17.10 as per my posting there:

Crossposting the information here so affected people can try this as well:

Create the file "/etc/systemd/system/fix-hdmi-audio.service" as per below:
Description=nVidia HDMI Audio Fixer
Before=systemd-logind.service display-manager.service



Create the file "/root/" as per below (Note, adjust the PCI device paths to the PCI ID of the PCIe Bride and NVidia card):

setpci -s 01:00.0 0x488.l=0x2000000:0x2000000
rmmod nvidia-uvm nvidia-drm nvidia-modeset nvidia
sh -c 'echo 1 > /sys/bus/pci/devices/0000:01:00.0/remove'
sh -c 'echo 1 > /sys/bus/pci/devices/0000:00:01.0/rescan'
modprobe nvidia nvidia-modeset nvidia-drm nvidia-uvm

And then execute the following commands (as root) to make it do this at boot:

chmod +x /root/
systemctl enable fix-hdmi-audio.service

After each reboot, I now see the HDMI audio device on my laptop:

fludizz@tongerlo:~$ lspci | grep "PCIe Controller\|NVIDIA"
00:01.0 PCI bridge: Intel Corporation Skylake PCIe Controller (x16) (rev 07)
01:00.0 VGA compatible controller: NVIDIA Corporation GP106M [GeForce GTX 1060 Mobile] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP106 High Definition Audio Controller (rev a1)

fludizz@tongerlo:~$ aplay -l | grep NVidia
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]