Wednesday, April 20, 2011

Switching inputs on HDTV to PC not picking up signal

I'm now using my Optiplex 620 as my media PC rather than D's PC for a few reasons:
- it doesn't supply any USB power when turned off, so our USB printer (Epson Stylus 520) goes nuts for about 30 seconds with a cleaning cycle when the PC is shut down
- The Windows install that I thought was fixed was still really wonky after that repair I talked about in the prior post: the NetGear drivers would crash every once in a while, a particular Windows Update simply wouldn't work, and I fudged up some of the NTFS permissions on some key folders preventing the Windows Firewall Service from starting up correctly

Because of this, the Optiplex is now on our LCD TV (Samsung).  I soon realized that there was a problem of sorts.  When I switched inputs to the TV from the PC HDMI to anything else and back, the signal would not return to the TV.  I had to unplug the cable, and replug.  I figured it might be a driver problem, so I switched from Dell's driver to ATI's driver for the video card, a Radeon X600.  No cigar.

Then I started reading about similar stories for which the out-of-reach fix would be a mythical ATI Catalyst driver that would solve the problems.

The source of the problem is that some video cards (or their drivers) will stop sending a signal when the output is lost connection (in the case of the LCD TV, that happens when you switch modes and it is no longer "listening" on the HDMI PC connection).  When you switch back to that mode, the TV starts listening, but the video card does not resume sending the signal.  When you unplug and plug the cable, a HDMI handshaking happens communicating the output parameters, fixing the problem

Unplugging the cable is not a viable permanent solution.

I eventually found this tool, which effectively resets the display to force a handshake:

I assigned it to a hotkey on my keyboard, so I can now manually reset the display.  Not quite as good as automatically, but until I upgrade my TVPC to Win7, this will have to do.