Close

Closer look at the "solution"

A project log for EDIDone - Disable DisplayPort Hotplug

Tired of computers rearranging your screen when monitors turn off? I am.

torbjrn-lindholmTorbjörn Lindholm 02/05/2023 at 13:541 Comment

Well, looks like I will either have to pony up close to 300 dollars in total in order to get this device, or I will have to make something that emulates what it does. Since I'm still broke, I will choose the latter option for now.

So, let's begin by reading how it works. This comes from this site -- https://www.networktechinc.com/displayport-hotplug-maintainer.html

It both says "maintaining" and "providing", meaning it can do both (duh). Moreover, it mentions that it also supports headless and passthrough modes, which means it probably doesn't even touch the display signal lines.

Another product exists from Japan that deals with this issue, this time with UART control: https://paleblew.blogspot.com/p/engdphpdma.html

We can also gather information from application notes from Intel and Analog Devices.

We now know for sure that this is a 3.3V logic signal. What about the data? It doesn't look like it is transporting much:

We now know that the HPD signal is default high, with interrupt and other one-way signaling done by pulling the line low.

This almost confirms that, should the circuit be made to keep the line high BUT lets the signal (if any) through when it happens, this imaginary circuit will probably work to kill this "feature" until it's unplugged.

And the way it works would be something like this:

  1. First, it lets the signal through without any modification when plugged in for at least 500ms, to ensure whatever transaction occurs between the display and the GPU will succeed
  2. After that time delay, it waits until the display has stopped giving the "HPD high" signal
  3. It then immediately intercepts the signal and replaces it with a fake one to continue the signal
  4. When a button is pressed or some other "stop tampering with the signal please" command is given, it hands the signal over from the fake HPD signal stream (if there's any, to begin with) to the actual signal from the display
  5. Well, that would be it!


Also, I have a word about VESA; They put this awful text under EVERY page of the documentation as if they're going to sue a customer tired of their antics for copyright violation.

Suck it, VESA. You made a faulty standard that you're not willing to fix, so I will do it. Don't get in my way because I am very frustrated, and I will not stop until you do something or I conquer your damned standard "feature".

Discussions

Torbjörn Lindholm wrote 02/05/2023 at 13:59 point

Note: The signal label on the imaginary circuit's relay would be swapped around in reality to ensure a seamless transition.

  Are you sure? yes | no