If there is one thing that really gets me annoyed it’s having to spend time solving a problem only to realise that I had already solved an identical problem some time before. I’m sure we’ve all been there.
Recently I changed my desktop graphics card and since then I was getting no sound from my monitor. Strangely, the second audio card (I use this for Skype) kept working fine. I could even redirect music output to my Skype headset with Pulse. I just couldn’t get it through the monitor.
As it turns out, the problem was that the nVidia driver was thinking that the TV supported audio input on HDMI (which of course it does!), so the TV obligingly disabled the analog sound input corresponding to that port. Result: no sound.
In Ubuntu this is easily (well, relatively) solved by telling X that you can provide a better EDID configuration for the monitor in question. This I had already done a long time ago, but forgot all about. So when the monitor was connected to a different digital port (DFP-1 instead of DFP-0), the EDID file was not applied. All I needed to do was connect the monitor to the first port rather than the second!
Sadly I have misplaced my notes for how to get that better EDID, so can’t include them here. What I remember is that it involved getting the actual monitor EDID (with get-edid or similar) and editing the resulting file (to disable audio, and if necessary make the right resolutions available). Hopefully next time I do something similar I won’t have to trawl the net for too long and read this post first.