Tuesday, January 22, 2013

EDID isn't the only thing that graphics cards look at.

Avid Media Composer insists on re-starting when it sees a change of monitor. I always assumed that it was done via Windows detecting a new EDID profile but it turns out that if you unplug and re-plug the same monitor (i.e. EXACTLY the same EDID data - even s/n) then the same happens and so something deeper is at work.
Look at pin-16; Hot Plug Detect. Basically it is held low by the graphics card but pulled high when a monitor connects - this generates an interrupt in Windows which forces the card to do an EDID refresh - request a new profile and possible re-do the HDCP handshaking if needed. The interrupt is also seen by Avid and used to force a re-start of Media Composer.

Now then, Amulet (our favorite KVM-over-IP technology) spoofs all of this; it caches the EDID profile until a new client connects and when that happens it asserts the Hot Plug Detect pin as if a monitor had been connected - essentially spoofing what happens in the real world. There are various registry tweaks to for the graphics driver to ignore pin-16 but they work variably - change driver and suddenly pin-16 is being listened to again.

When I figure out a solution I'll update this post. Meantime the customer's dream of starting off a layback or capture and then handing it off to another client is still on hold....


No comments: