Dummy Plug Gets Smarter With Raspberry Pi

[Doug Brown] had a problem. He uses a dummy HDMI plug to fool a computer into thinking it has a monitor for when you want to run the computer headless. The dummy plug is a cheap device that fools the computer into thinking it has a monitor and, as such, has to send the Extended Display ID (EDID) to the computer. However, that means the plug pretends to be some kind of monitor. But what if you want it to pretend to be a different monitor?

The EDID is sent via I2C and, as you might expect, you can use the bus to reprogram the EEPROM on the dummy plug. [Doug] points out that you can easily get into trouble if you do this with, for example, a real monitor or if you pick the wrong I2C bus. So be careful.

In [Doug’s] case, he wanted to drop a 4K dummy plug to 1080p, but you could probably just as easily go the other way. After all, the plug itself couldn’t care less what kind of video you send it. It drops it all anyway.

Want to know more about HDMI? We can help out with that.

20 thoughts on “Dummy Plug Gets Smarter With Raspberry Pi

    1. similar functionality on Windows.

      This may in the last 10 years or it was a specific case but the 24inch screen I’m watching me currently type on was basically broken when it was rescued from an e-waste trash container.

      TLDR: … and “repaired” over the DDC bus connected to a computer.

      Turns out Samsung had programmed in a literal death count-down or something.
      After a specific runtime the screen would just turn of as soon as it received a signal.
      It would gladly display a “no cable” warning when disconnected but any display signal from a computer and the backlight switched off (or something similar).

      Samsung was aware of the problem and had released a fix: A tool that re-programmed/flashed the display over the display cable (VGA or DVI I think) via DDC/i2c.

      But apparently that only worked reliably with Intel GPUs. I tried it with an AMD one & I don’t remember what the person who rescued the screen used but I only found out this caveat thanks to a comment below a YT video about this display (SynMaster SA450).

    1. You know how those teenagers can be, moody, uncooperative, having mental breakdowns…Asuka and Shinji being perfect examples….so I’m not the only one who thought of Evangelion.

  1. Am I missing something? If I need to run a RPi headless, I just do it; no need for extra hardware. Even more, gpu_mem setting can be set to a minimum ( i.e. 16) so to Freeman RAM for applications

    1. Yeah, not sure why one would want a dummy plug at high resolution vs low.

      I’m not going to argue over the idea of the dummy plug, there’s enough corner cases that I see some potential value there.

      But, I know you can get video out of the pi over Ethernet without a monitor attached anyway, so why not set up a virtual monitor instead?

        1. There is one use case:
          If you run the Pi headless but need to connect a monitor without restarting. At least the old ones would check HDMI once at startup and then never again.

        2. We use them at work for headless windows PCs running as a fleet of test boxes because apparently directx won’t let you use the GPU for graphics acceleration normally unless it thinks it can output to somewhere. (I believe directx can render headless, but the software expects an outputDevice, and rewriting it to not use one would defeat the purpose of testing how it will run on actual users’ PCs)

    2. I think I am missing something too. A friend gave me a plug a couple of years ago now, but I never figured out what in the world I’d ever use it for. I never needed it to RDP/VNC into the RPI, nor do I need it to SSH (headless) into the box. Computer boots fine with or without a display attached.

      1. Some devices get made without a monitor or tv hooked up. In my case when I use to use one, it was because certain parts of my GPU driver didn’t load if there was no monitor hooked up so GPU encoding didn’t work for my plex server. That’s long been fixed,but it’s an example I dealt with.

    3. Some Windows / Mac software apparently doesn’t want to let you run truly headless. So a dummy plug + VNC works for running the software where RDP (even with RemoteFX) would fail. As for why you would want it to identify as supporting a specific resolution, that too can be explained as 1: a mode the software will work with “Your screen is 1280×720? but we designed for 1024×768 as the minimum resolution and we don’t let you size the window.” or the opposite “Your screen resolution is too high, you need to buy the $499 professional license!” etc. I’ve had to do EDID reprogramming on an HDMI to SDI converter because Apple is dumb, won’t let you choose 59.94Hz manually if the “display” says it can do 60Hz, and their OS stopped letting you edit the EDID overrides because “those are protected system files!”.

  2. goughlui[dot]com/2019/06/02/review-teardown-generic-hdmi-cheater-dummy-plug-4k-uhd/
    I find this far more comprehensible, due to the entire circuit and an editing suite being discussed.

  3. I had never considered that these might be that easy to change. I have a couple of different flavors, purchased in a quest to get a specific machine to play nice at boot with a specific monitor via a an adapter and a KVM. It never worked, but I suspect that’s just as much because none of them were of an appropriate resolution (hard to find one in 4:3).

    I’ll file this idea away for a day when I have the energy to drag the rack out and spend a while poking around behind it.

  4. I’ve done this already when using a Steam Deck and it kept defaulting to the highest resolution, which was not available for my capture card, nor would let the system run well. So I cloned my own TV and flashed a few of the dummy plugs I received after backing up the dummy settings.

  5. I have a couple of these pass through edid plugs. I want to modify them to advertise a 2560×1080 display. My raspberry pi collection have no problem with using that resolution on a 3440×1440 ultrawide monitor, but I can write the required resolution into /boot/config.txt on them. I have a collection of various thinclients which don’t have that option, and are not keen on 3440×1440 either. A dummy edid plug seemed to be the answer, but I can’t write an acceptable edid that claims 2560×1080 as the default resolution, and I need to mess with xrandr to sometimes get what I want. Any suggestion for modifying the monitors edid by deleting the 3440×1440 default and replacing it with 2560×1080 as default so I can write that into the dummy plug?

Leave a Reply to El GruCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.