from Hacker News

Modifying an HDMI dummy plug's EDID using a Raspberry Pi

by zdw on 6/15/25, 4:00 PM with 87 comments

  • by aappleby on 6/15/25, 7:25 PM

    Minor note for those wanting to try this at home - these cheap dummy plugs only have a 256 byte eeprom, which is not enough for storing the various extended EDID blocks needed to specify high-refresh high-resolution configs. If you just want 1080p60 they're fine, but you won't be able to simulate a 4k240 monitor with them.

    Also, some of them have the write-protect line pulled high (or low? don't remember) and you'll need a bit of surgery to actually write to them.

  • by avidiax on 6/15/25, 5:05 PM

    One caveat of these dummy plugs is that they don't do HDCP. They handle the typical use case of forcing a specific resolution output for headless machines rather well, but fail for the use case that you need to run something that expects HDCP.

    This seems a good place to ask: does anyone know of a good solution like this HDMI dummy plug, but that negotiates HDCP? I need to test video streaming apps that require HDCP to play at full resolution, but it is inconvenient to have a full TV for every test.

    The one solution I've found is an HDMI multiviewer, which seems to negotiate HDCP to each port individually.

  • by slipheen on 6/15/25, 8:40 PM

    Relatedly, is there a good archive of EDID binaries somewhere, or a better program to make them?

    I have an nice programmable EDID emulator plug, and I can clone my monitor and others, but there's some times there's a specific resolution or feature I want to set and I don't have a way to. (Like 8K with DSC, etc)

    I'm aware of https://github.com/bsdhw/EDID but it's rather limited in terms of modern monitors.

    I've also written by own using https://www.analogway.com/products/aw-edid-editor but getting all the nuances of various modes, and setting preference order, etc, is rather difficult, at least for me :)

  • by zdw on 6/15/25, 5:03 PM

    You can also buy these with a passthrough, which is useful for older systems that balk at higher resolution monitors.

    I have a 2011 era AMD FX8350 system where the onboard 880G northbridge+video chipset doesn't output video over HDMI correctly with a 4k display. Hooking up one of these inline to tell it to send a 1080p image works great, which the monitor does a 2x integer upscale to 4k.

  • by mrheosuper on 6/16/25, 1:53 AM

    hdmi dummy plug is a hardware solution to solve a software problem that should not exist in first place at all.
  • by ashirviskas on 6/15/25, 9:35 PM

    Why are dummy plugs a thing? What can you do with them that you cannot do in software? (asking as a person who had no issues with having 18 virtual displays and no dummies).
  • by dishsoap on 6/15/25, 5:15 PM

    Fun tip: the same process works to modify the edid stored on a typical monitor or laptop screen. Sometimes you can even change various settings on the tcon by writing to other i2c addresses. You also don't need a raspberry pi, any computer works.
  • by m000 on 6/16/25, 7:35 PM

    I'm confused. I was expecting to see th plug hooked to the GPIO i2c pins, but just plugging it to the RPi appears to be enough. So, does HDMI directly expose an i2c interface?
  • by 01100011 on 6/15/25, 8:27 PM

    Does anyone know of a cheap DisplayPort EDID emulator to fix issues with a KVM and linux? Last time I checked, they were much more expensive than HDMI, to the point where it would be better to buy a new KVM.
  • by 1vuio0pswjnm7 on 6/16/25, 3:18 AM

    Can dummy plugs be used to change device fingerprinting
  • by awaymazdacx5 on 6/15/25, 6:08 PM

    hex dump for the USB ibus2 plug extract is concatenated to EDID
  • by cdg007 on 6/16/25, 6:12 AM

    been eyeing this kind of solution
  • by Simon_O_Rourke on 6/16/25, 5:50 AM

    I don't get it - why do you need to spoof having a monitor connected for a Raspberry Pi? Surely they boot up fine regardless?