NO sound using DisplayPort audio with 375.82, 384.59 and 384.69

Updating to either 375.82 or 384.59 breaks Display port audio, downgrading to 375.66 or 384.47 fixes the sound issue.
It seems that the newer drivers can’t parse the ELD

375.82 or 384.59 return

*** /proc/asound/card0/eld#0.0
*** ls: -rw-r--r--. 1 root root 0 2017-07-25 10:35:19.130133421 +0100 /proc/asound/card0/eld#0.0
monitor_present		0
eld_valid		0

____________________________________________

*** /proc/asound/card0/eld#0.1
*** ls: -rw-r--r--. 1 root root 0 2017-07-25 10:35:19.136133214 +0100 /proc/asound/card0/eld#0.1
monitor_present		0
eld_valid		0

____________________________________________

*** /proc/asound/card0/eld#0.2
*** ls: -rw-r--r--. 1 root root 0 2017-07-25 10:35:19.141133042 +0100 /proc/asound/card0/eld#0.2
monitor_present		0
eld_valid		0

____________________________________________

*** /proc/asound/card0/eld#0.3
*** ls: -rw-r--r--. 1 root root 0 2017-07-25 10:35:19.144132938 +0100 /proc/asound/card0/eld#0.3
monitor_present		0
eld_valid		0

375.66 or 384.47 return

*** /proc/asound/card1/eld#0.0
*** ls: -rw-r--r--. 1 root root 0 2017-07-27 00:48:25.656746981 +0100 /proc/asound/card1/eld#0.0
monitor_present		0
eld_valid		0

____________________________________________

*** /proc/asound/card1/eld#0.1
*** ls: -rw-r--r--. 1 root root 0 2017-07-27 00:48:25.662746776 +0100 /proc/asound/card1/eld#0.1
monitor_present		0
eld_valid		0

____________________________________________

*** /proc/asound/card1/eld#0.2
*** ls: -rw-r--r--. 1 root root 0 2017-07-27 00:48:25.666746640 +0100 /proc/asound/card1/eld#0.2
monitor_present		1
eld_valid		1
monitor_name		PL2888UH
    
connection_type		DisplayPort
eld_version		[0x2] CEA-861D or below
edid_version		[0x3] CEA-861-B, C or D
manufacture_id		0xcd26
product_id		0x7104
port_id			0x1000
support_hdcp		0
support_ai		0
audio_sync_delay	0
speakers		[0x1] FL/FR
sad_count		1
sad0_coding_type	[0x1] LPCM
sad0_channels		2
sad0_rates		[0x1ee0] 32000 44100 48000 88200 96000 176400 192000
sad0_bits		[0xe0000] 16 20 24

____________________________________________

*** /proc/asound/card1/eld#0.3
*** ls: -rw-r--r--. 1 root root 0 2017-07-27 00:48:25.671746469 +0100 /proc/asound/card1/eld#0.3
monitor_present		0
eld_valid		0

alsa-info shows zero bytes for ELD on non working versions

control.18 {
		iface PCM
		device 8
		name ELD
		value ''
		comment {
			access 'read volatile'
			type BYTES
			count 0
		}
	}
	control.19 {
		iface CARD
		name 'HDMI/DP,pcm=9 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}

Working versions

control.18 {
		iface PCM
		device 8
		name ELD
		value '100008006d140001001000000000000026cd0471504c3238383855480a20202020097f070000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000'
		comment {
			access 'read volatile'
			type BYTES
			count 95
		}
	}
	control.19 {
		iface CARD
		name 'HDMI/DP,pcm=9 Jack'
		value false
		comment {
			access read
			type BOOLEAN
			count 1
		}

nvidia-bug-report.log.gz (77.1 KB)
alsa-info.txt (56.2 KB)

Confirming that DisplayPort audio not working in 384.59 on Ubuntu 16.04.1. Previously was using 375.39, and DisplayPort audio worked, but was flakey at times (choppy or no sound) after a monitor disconnect/reconnect. Usually, just opening the System Settings window would fix it. Yesterday, for no apparent reason, audio stopped working entirely. Audio still worked properly under Windows 7 or Ubuntu 16.04.1 with Nouveau driver, so upgraded NVidia driver to 384.59. Audio still not working. Now the System Settings/Sound/Output panel does not even list an NVidia DisplayPort option, although the NVidia card is showing up in “aplay -l” output. Also tried installing latest ALSA driver (oem-audio-hda-daily-lts-xenial-dkms_0.201707260446~ubuntu16.04.1_all.deb), but that didn’t help.

leigh123linux’s observations about ELD were also true on my system.
nvidia-bug-report.log.gz (166 KB)

You use the attachment icon (paper clip) after posting to attach files.

…bump…

Sequencing of ELD updates across modesets is a little tricky. There was a change to these drivers that fixed ELD handling in some cases that were broken, but inadvertently broke it in some cases where it was working. I’m investigating and working on a larger change to streamline ELD updates so they’ll work more reliably.

In the meantime, I apologize for the inconvenience.

Also having problems with displayport on Nvidia GTX 780 (on 384.59-3). Port is detected as not connected. USB and analog sound is working.
Possibly related?

alsa-info:
http://www.alsa-project.org/db/?f=e845ce3408116e89844d15ec4e32c7995bcac3ac

It looks the same.

No problem, I’m looking forward to the next release.

384.69 is also broken :-(

still no any news ?

Yup, can confirm on 384.69. This breaks my setup, so I’ll have to stay behind on 381.22, which is the latest working version my distro supplies.

I have the same issue and can not update the kernel and nvidia driver.

Can you at least tell when it likely is going to be fixed?

@cinatic: You can use newer kernels on older nvidia drivers via DKMS. Almost all distros support this, you just have to set it up.

Aaron, do you need some beta testers? I now have new displayport-connected screen, audio not working.

Sorry for the slow replies. Due to the complex nature of modeset sequencing, it’s taken a while to arrive at a solution that I believe will work everywhere. Unfortunately, I may have missed the cutoff for the next driver build, so I can’t promise that this will be fixed in the next release. I apologize for the delay in getting this fixed and I’ll let you know when I have better news.

We are tracking this issue under bug 1953489

Same issue with my GTX 660 on 384.69. All ELDs list 0, PulseAudio shows all ports as “unplugged”, and aplay for the port that should play audio shows “aplay: main:807: audio open error: Device or resource busy”.

Is this visible outside nvidia?

The same problem with GTX 690 on Ubuntu 16.04 (driver 384.69)

We have tre months same problem no audio via DP
384.69 no audio dp
384.90 no audio dp
387.12 no audio dp