Posted on 2 mins read

I bought a 2 port VGA Switcher off Taobao so that I could switch my main display between my desktop and laptop. However, when I connected my Macbook through the VGA adapter to the VGA Switcher my screen was not appearing correctly. It was shifted off screen to the right.

VGA Switcher

This is the 2 port VGA Switcher I bought off Taobao. It is a nice compact device with tacty buttons you can press to switch the the video input.

If I connect it up like Macbook - VGA Adapter - VGA Cable - Display, it works fine. However, the setup I need is Macbook - VGA Adapter - VGA Cable - VGA Switcher - Display. When connected up in this manner, the output from my Macbook is cutoff and shifted to the right. Faced with this problem I contemplated getting another KVM Switch that is known to work with Macbooks.

Knowing that it would still take at least 2-3 weeks to get a KVM Switch purchased from Amazon to my doorstep, I looked for software or configuration based solutions. The SwitchResX plugin was able to get the full HD resolution to show but that produced the cutoff issue. Smaller resolutions from 1400x1050 downwards was working fine but it wasn’t HDPI and it is such a waste for a 23 inch screen.

I observed that the display was being detected as a generic VGA/SVGA display with Vendor as “unkn - 756E6B6E” and Product as “717”. So I made a guess that my laptop was unable to tell what device we are being hooked up to through the VGA cable. When it comes to identifying something we usually do it through IDs. There had to be some file or ID that could be spoofed right?

After Googling a bit it seems like other people have had the similar problems. There were a number of threads where people indicated failure in producing the right output on an external display connected to their Macbook. Changing some files relating to EDID solved their problem. According to wikipedia: Extended display identification data (EDID) is a data structure provided by a digital display to describe its capabilities to a video source (e.g. graphics card or set-top box). It is what enables a modern personal computer to know what kinds of monitors are connected to it.

Going to the folder /DisplayVendorID-756e6b6e, I had to replace DisplayProductID-717 with a customized configuration. It is better explained here.