My two primary laptops today are a Dell XPS and the new Macbook Pro, both of which come equipped with USB-C. I picked up a Dell USB-C dock to interface with both laptops at my desk, however, the new Macbook Pro refused to behave with my new curved Samsung CF398 monitor. Instead of curved HD bliss I was presented with a bright pink and magenta overlay on the monitor when docked. Investigation revealed this is due to a mis-identification of the EDID data by OSX. If you’re having the same problem, heres how to easily fix it for any external monitor or dock with a Ruby script.

  1. Copy the Ruby code below and paste into TextEdit and save the file as MonitorFix.rb in your home directory, or download from this GitHub page.
  2. Restart your Mac. Before OS X starts up, hold down Command-R and keep it held down until you see an Apple icon. When you see the progress bar, release holding the Command-R and wait for recovery mode to boot.
  3. From the Utilities menu, select Terminal.
  4. In the terminal window, type: csrutil disable, and then press enter.
  5. Restart your Mac.
  6. Ensure you have just the monitor connected in the dock that is causing the display issue.
  7. Open Terminal and type ruby MonitorFix.rb.
  8. A new folder with an odd name (mine was DisplayVendorID-4c2d) will be created in your home directory. Move it into the “/System/Library/Displays/Contents/Resources/Overrides” folder.
  9. Restart your Mac. After you login your monitor should finally look as expected.
  10. You should re-enable SIP at this point by rebooting back into recovery mode and typing csrutil enable in Terminal.