So this is Fedora 28 and they just released kernel 4.17.2, which, as the title says, killed HDMI audio output of my GTX 980.
I thought it’s PulseAudio acting out again, but no (FYI, 11.x had problems with cards that have no sinks on PA startup which also broke HDMI out, but 12.0 is fine)
After hours of frustration I found out that even after turning the TV out on (with nvidia-settings), /proc/asound/NVidia/eld#0.1 keeps saying:
monitor_present 0
eld_valid 0
This can be worked around in several ways (including a GUI way, some clicking in pavucontrol every time you turn the TV out on), but funniest is:
cat /proc/asound/NVidia/codec#0 > /dev/null
Reading that file somehow makes the driver recognize that the output is now “plugged” (in PA terminology), /proc/asound/card0/eld#0.1 shows the TV normally, pulseaudio automatically switches to correct profile and everything works as expected.
But until you read that file, everything is dead.
Anyone knows what causes this? Is this a kernel regression in snd-hda-intel, or is this some kind of conflict with the nvidia driver they introduced in 4.17?
I’m using the Vulkan dev driver 396.24.02 (which, again, works excellent with kernel up to 4.16.16)