Having recently upgraded to a GTX 1070 Ti graphics card to keep up with my dual 4K monitor configuration, I came across an issue that plagues many Nvidia chipset users – namely that of what happens when you power off DisplayPort connected monitors.
In the case of my 4K monitors, as they are connected by DisplayPort, powering them off via the front panel controls results in them “disconnecting” from the graphics card. Sometimes this doesn’t happen quite immediately, but the result is always the same – Windows thinks there is no monitor connected, thus the desktop is not rendered and remote control of the computer (via VNC in my case) is not possible or suffers strange graphical glitches.
Prior to my upgrade, the solution to this issue on my GTX 970 Ti was to use a VGA dummy plug, which I built myself from an old DVI to VGA adapter and a few resistors. This worked just fine, but the GTX 1070 Ti takes it a step further by removing all analog output altogether. The only options are either HDMI or DisplayPort. In theory, I could use the old dummy plug with a DisplayPort adapter but that’s just becoming complicated.
Instead, I reasoned that a dummy plug could be made simply with an EEPROM containing the EDID data hooked up to the correct pins of the HDMI port. But instead of building one myself this time, I found some on eBay that were priced at about AU$3.30 and bought a few for some experiments. After all, getting a hold of an HDMI connector (e.g. via cutting open a cable) is perhaps even more expensive when factoring in the cost of an EEPROM and not quite as neat …
The item arrived inside a zip-lock anti-static shielding bag with a plastic cap on the HDMI port.
The unit is no bigger than most HDMI plugs on fancy braided HDMI leads. It is designed to plug straight into an HDMI port to do its thing.
Being a dummy plug, there is obviously no cable that leads out of the unit. It feels well built with its metal shell and moulded plastic internals.
But of course, given the unit comes from China at a low cost, we might be a little concerned about what is inside prior to plugging it into a computer. It’s probably not going to spy on you or anything sinister – but it’d be nice to know what’s inside.
The plug doesn’t come apart without a fight. The moulded rubberised plastic insert is ribbed and glued into the outer metal shell. It took a lot of “squishing” the metal shell and pushing on the centre part to free the plug from the shell.
I cut apart the moulded rubber with a knife to reveal a small black PCB inside. On the top side, there aren’t any components, merely tracks leading to vias which push the signal to the other side. Some of the pins are soldered (i.e. the important ones – power, ground and EDID clock/data) whereas the others are not soldered at all. I would have preferred the other pins to be soldered for mechanical rigidity, but functionally, it would not make a difference.
The underside shows a similar pattern to the soldering on the HDMI port. The unit has an unbranded 24C02 EEPROM (as I expected), with a surface mount capacitor and three 4.7kOhm resistors probably to protect the EEPROM in case of a rogue device and signal hot plug detection.
The EDID Data
Once torn apart, dumping the EDID data was as easy as clipping on my CH341 programmer and reading out the EEPROM. The resulting dump can be downloaded here. To analyse the EDID in comfort, I used Analog Way’s EDID Editor which is a very useful piece of software for parsing and customising EDIDs. The following are screen dumps from the software showing what this dummy plug is pretending to be.
The standard data page shows that the Manufacturer ID is AOC with a product ID of 0CCD, serial number of 0, manufactured Week 3 of 2017. This suggests that the EDID is stolen from an AOC monitor with a horizontal size of 62cm and vertical size of 34cm. Standard timings go up to 1920×1080 at 75Hz or 1920×1200 at 60Hz.
The detailed data block shows the preferred timing block 1 has a 1920×1080 resolution at 60Hz, followed by 2560×1600 at 59.97Hz and 2560×1440 at 59.95Hz. The display product name is 28E850 – which doesn’t directly correspond to a known AOC product.
The CEA Extension pages show quite a few features including the detailed timing blocks. This details 2880×[email protected], 3840×[email protected] and 3840×[email protected] modes, where it gets its 4K support from. The plug also claims to support basic audio and YCrCb 4:4:4 and 4:2:2 modes.
The video descriptor block shows [email protected] as being native – interesting choice of mode.
Audio support claims LPCM 2 channel up to 24-bit 48kHz, of front left and front right configuration.
There are a couple of vendor-specific blocks, the use is unknown.
The colorimetry block shows support for xvYCC 709 and xvYCC 601.
The dummy plug claims to support full 4K ([email protected]/60Hz) and regular 4K UHD in YCbCr 4:2:0 colour.
It’s quite a confusing array of features – I never knew the 256-byte extended EDID could denote so many different pieces of display information, thus computers being “confused” about display capabilities could be a possibility especially if they don’t interpret some of these extensions.
For AU$3.30, this device does solve the problem provided you take the care to configure the resolution and scaling when no other monitors are connected. I’m now able to remotely control my computer with the first monitor rendering at the full 4K resolution as it is “mirrored” to the HDMI dummy plug.
The plug itself is not much in terms of circuitry, but that is the expectation. The EDID data seems to have been “stolen” from an AOC monitor and modified slightly, seemingly to prefer full HD but having the option to go up to 4K to ensure that devices which aren’t stable for 4K output don’t run into trouble. I suppose if you don’t like it, you could either shove wires into the device or break it apart and reprogram the EEPROM to whichever EDID you would like (e.g. change the monitor name, etc).
It’s a shame that it’s seemingly not possible to “fix” the monitor detection in such a way that powered-off DisplayPort screens remain “connected” to the card and the card continues to render the displays correctly. Without this, we have to resort to such hardware workarounds, but also, endure the reshuffling of desktop windows and sound devices as the powered-off screens are powered-on again.