Methinks systemd is not to blame. It is a bug in the nvidia driver 418.xx. I have tested two software stacks: Archlinux(ker. 4.20)+systemd and Voidlinux(ker. 4.18)+runit. The behavior is identical. With a three monitor setup (DVI,DP,HDMI), the audio output works over the HDMI connection, but not over the DP one.
I have just made an observation that seems to confirm there is a race condition. I have rebooted around 20 times and collected dmesg outputs for 12 non-working instances and 6 working ones. But I also observed something interesting: when I reboot with the TV on, I noticed that:
- when I see the boot screen of my motherboard (an Asus MAximus gene VIII) followed by the dmesg sequence and the KDE bootsplash then the sound is not working
- sometimes after I reboot I do not see any image (TV displays a "No image" on TV, this comes from the TV itself) until I start to see the KDE splash (I do not see anything before that, no motherboard UEFI logo, no dmesg) then the sound works!
So there seems to be a pattern with the way the HDMI activates, and this is time based. Any idea?
I can now confirm this happens 100% of the times. If I boot my computer and observe the Asus UEFI boot screen (the very first one when it proposes to press DEL to enter bios), I ctrl+alt+del to force reboot. If then the TV does not show the boot screen but a “No signal” (~ 25% of times) and only shows the computer image once it reaches the KDE splash screen, then the sound is working.
cat /proc/asound/cards
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xf3a30000 irq 33
1 [C20 ]: USB-Audio - Cambridge Audio USB Audio 2.0
Cambridge Audio Cambridge Audio USB Audio 2.0 at usb-0000:00:1d.0-1.5.3, high s
2 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xf1080000 irq 17
sudo hdajacksensetest -s -c 2
Pin 0x05 ( Digital Out, HDMI): present = No
Pin 0x06 ( Digital Out, HDMI): present = No
Pin 0x07 ( Digital Out, HDMI): present = No
Just upgraded to kernel 5.0.2-arch1-1-ARCH and it’s still not working with the latest driver available in the arch repos (418.43). I secretly hoped that kernel 5 would fix this, but alas, no luck.
$ uname -sr
Linux 5.0.2-arch1-1-ARCH
$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.43 Driver Version: 418.43 CUDA Version: 10.1 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce GTX 970 Off | 00000000:01:00.0 On | N/A |
| 28% 40C P2 46W / 151W | 182MiB / 4039MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
Hi all,
I’m happy to report that I just upgraded to version 418.56-1 (arch linux) and the issue is fixed. The HDMI sound works again!
[ALPM] upgraded nvidia (418.43-8 -> 418.56-1)
Edit: I disconnected the VGA display and the HDMI output is the only screen now, that may have something to do with it. Reconnecting the VGA display does not make it to stop working though.
Edit2: Confirming that the HDMI audio works only when the VGA display is disconnected (physically, cable must be unplugged) during boot.
HDMI sound is dead for me on F29 after performing a dnf update to have the latest F29 packages and upgrading to the latest 418.56 driver from the nv site.
uname -a Linux ************** 4.20.16-200.fc29.x86_64 #1 SMP Thu Mar 14 15:10:22 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
see attached nvidia-bug-report.log
FYI: the last driver that I had in service was 410.93 and audio was provided via the DP on HDMI channel 2. I never understood why audio only worked on HDMI #2.
nvidia-bug-report.tar.gz (1.21 MB)
Not for me. Also using Arch, but with kernel-ck. and nvidia-dkms.
I only have a DisplayPort cable connected to a Samsung TV. This is weird. Sound is only working when boot does not show on TV as explained above.
I can confirm that the audio problem persists with driver 418.56 on F29 and Kernel 5.03. Using a Quadro k5200 attached via Display port to an U32D970 Samsung Monitor.
This kind of sounds as if it is connected with efi boot, is anybody using a csm/mbr boot and experiencing this bug?
Yes me, since my Geforce 660GTX has no EFI compatible VGA-BIOS. All versions >= 415.x are affected for me, versions <=410.x are working with no issues.
So that was a dud. Thanks for reporting back.
Considering my observation, that sound systematically works if my screen does not detect video until late in the boot process, this suggests that indeed there is something happening during boot, possibly very early when the EFI boots the computer. I had a look at the dmesg in working and non-working conditions, and the first common denominator I see is:
- Sound working (no image on screen during boot and dmesg until Xorg starts):
efifb: framebuffer at 0xd1000000, using 1876k, total 1875k
efifb: mode is 800x600x32, linelength=3200, pages=1
efifb: framebuffer at 0xd1000000, using 3072k, total 3072k
efifb: mode is 1024x768x32, linelength=4096, pages=1
Now I cannot ascertain this is a cause or an effect.
Hi,
Below is the troubleshooting link which has few steps to verify the configuration along with testing methods. Please follow the same and if issue persists, request to provide nvidia bug report so that we will try to isolate issue.
https://download.nvidia.com/XFree86/gpu-hdmi-audio-document/#_trouble_shooting
Thanks.
I have generated 2 bug reports, one when sound is working and one when sound is not working. I sent them to linux-bugs@nvidia.com.
The main difference (apart from timestamps) is that the eld is not detected (when not working)
*** /proc/asound/card1/eld#0.1
*** ls: -rw-r--r-- 1 root root 0 2019-04-03 21:04:25.226695950 +0200 /proc/asound/card1/eld#0.1
monitor_present 0
eld_valid 0
and this (with sound):
Node 0x08 [Audio Output] wcaps 0x62b1: 8-Channels Digital Stripe
Converter: stream=5, channel=0
Digital: Enabled GenLevel
Digital category: 0x2
IEC Coding Type: 0x0
instead of (no sound):
Node 0x08 [Audio Output] wcaps 0x62b1: 8-Channels Digital Stripe
Converter: stream=5, channel=0
Digital: Enabled
Digital category: 0x0
IEC Coding Type: 0x0
Again same observation about boot screen visible (then no sound) or not detected until X start (sound works).
I’m bumping the thread because it’s still a problem. A month later and I still have no HDMI audio on my Titans and no updated driver has been issued.
Amrits, thanks for the link to verify configuration. The problem remains with the most recent 64-bit driver, 418.56, on a freshly updated F29 system. The only difference for me compared to zebcom is that I can NEVER get HDMI audio to work. I’m not using UEFI boot.
In following the troubleshooting guide I got as far as 12.5 Verify Your ELD Is Valid.
As in zebcom’s case, the problem is related to ELD recognition failure:
# vdir /proc/asound/card1/eld#0.?
-rw-r--r-- 1 root root 0 May 4 11:21 /proc/asound/card1/eld#0.0
-rw-r--r-- 1 root root 0 May 4 11:21 /proc/asound/card1/eld#0.1
-rw-r--r-- 1 root root 0 May 4 11:21 /proc/asound/card1/eld#0.2
-rw-r--r-- 1 root root 0 May 4 11:21 /proc/asound/card1/eld#0.3
# cat /proc/asound/card1/eld#0.?
monitor_present 0
eld_valid 0
monitor_present 0
eld_valid 0
monitor_present 0
eld_valid 0
monitor_present 0
eld_valid 0
This is an F29 system with all packages updated as of May-3-2019. Old Alsa isn’t the problem.
Interestingly, I still have HDMI audio with old kernels and the 410.93 driver. The HDMI no audio problem is unique to the 418.56 driver.
I’m not seeing the HDMI hotplug notices. Is there any significance to the fact that the inputs are numbered 13 - 16?
# dmesg | grep HDMI
[ 0.422577] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio)
[ 8.854785] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:02.0/0000:01:00.1/sound/card1/input13
[ 8.860116] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:02.0/0000:01:00.1/sound/card1/input14
[ 8.862668] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:02.0/0000:01:00.1/sound/card1/input15
[ 8.865245] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:02.0/0000:01:00.1/sound/card1/input16
FWIW: 410.93 provides HDMI sound but it no longer builds with kernel 5.0.10-200. 418.56 will build with 5.0.10-200 but there’s no HDMI sound. The only workable sollution is to fall back to outdated kernels.
Are you connected from HDMI to HDMI, or DP to HDMI?
Also, there is a beta driver 430.09 available, has anybody tried it?
I tried beta driver 430.09 with Kernel 5.1.0 and the problem persists: no detection of audio outputs:
vdir /proc/asound/card1/eld#0.?
-rw-r--r-- 1 root root 0 10. Mai 01:49 /proc/asound/card1/eld#0.0
-rw-r--r-- 1 root root 0 10. Mai 01:49 /proc/asound/card1/eld#0.1
-rw-r--r-- 1 root root 0 10. Mai 01:49 /proc/asound/card1/eld#0.2
-rw-r--r-- 1 root root 0 10. Mai 01:49 /proc/asound/card1/eld#0.3
cat /proc/asound/card1/eld#0.?
monitor_present 0
eld_valid 0
monitor_present 0
eld_valid 0
monitor_present 0
eld_valid 0
monitor_present 0
eld_valid 0
For me, driver 410.93 with latest kernel 5.0.x works just fine.
Are you connected from HDMI to HDMI, or DP to HDMI?
DP on the card, mDP at the monitor. Software reports everything as being HDMI.
None of the cabling/connections have changed, only the driver and kernel.
I can confirm this same audio problem with driver 418.40 on Ubuntu 18.04.2 (kernel 4.18.0-15).
Using a Quadro K2000 attached via Display port to a Samsung Monitor.
Reported here: https://devtalk.nvidia.com/default/topic/1051612/linux/no-audio-over-dp-hdmi-with-nvidia-k2000-on-ubuntu-server-18-04-2/