External display attached to MacBook Pro has washed out colours

I have a BenQ BL3201 display, connected via HDMI (and a USB-C dongle) to my 2019 15" MacBook Pro. Light grey areas are completely washed out, and appear white. I've attached some photos to demonstrate.

Built-in Display:

Built-In Display

External Display:

External Display

I've adjusted the brightness, contrast, gamma, and every other setting on the monitor, but none of it resolves this problem. The monitor even has a special 'M-BOOK' mode for MacBooks that doesn't improve things at all. I've gone through every available display profile, and the only one that helps with this issue is 'ACES CG Linear' (but it looks worse in other ways, colours are very dark and muted).

The monitor was previously attached to to a Desktop Linux box, and it didn't show the same issue there.

Is there any setting or tweak that I can use to resolve this issue?


enter image description here

I had this exact problem of the external monitor having washed out colors and, for me, the solution was to uncheck "High Dynamic Range"


It does look like a calibration issue.

The only way to properly calibrate is with a hardware colorimeter [anywhere from $£€ 70 to $£€ 250 & upwards] but you can try to get the worst of it fixed yourself…

System Prefs > Displays > Colour
You get one of these per display & interacting with each will affect that display only.
To the right is a Calibrate… button, which can give a very general set of tweaks - however, if you hold Opt before clicking it, it will open out some more complex adjustments. In the first window that pops up, add 'Expert Mode' to get as much detail as possible without a hardware meter.

Basic:

enter image description here

Expert:

enter image description here


I finally fixed this by following the instructions at this blog post:

Fixing the External Monitor Color Problem with My 2018 MacBook Pro

Read the blog post, it's good! But just in case it becomes unavailable, here's a short summary:

The external monitor is using the YPbPr colour format over HDMI. Something about the MacBook Pro YPbPr output is not compatible with the monitor. It's possible to create override settings to force the HDMI connection to use RGB instead, using a script at https://gist.github.com/adaugherity/7435890.

Here are the instructions from the above post:

  1. Connect the problematic display.
  2. Download and run this script (./patch-edid.rb). Take a look at the generated file and remember its path.
  3. Reboot into recovery mode (⌘-R at boot).
  4. Mount your main disk (enter Disk Utility, select the gray Macintosh HD, click Mount, provide your password, close Disk Utility).
  5. Open up a terminal (Utilities ->Terminal), backup the overrides directory, copy in your new override file, and reboot:
cd /Volumes/Macintosh\ HD/System/Library/Displays/Contents/Resources 
cp -R Overrides Overrides.bak 
cp -R <path to directory generated in step 1> Overrides/ 
reboot

I had the same problem and using Display Port resolved it. It seems when using HDMI with a Mac it thinks the monitor is a TV and the pixels are slightly out of alignment causing the banding and a red/green hue on text.