Audio problems with the 415.18 drivers

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
  • Not working (see the UEFI logo from the motherboard and dmesg boot messages):
  • 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/