A script to fix EDID problems on external monitors in Mac OS.
- The original forum thread
- An improved version of the script by adaugherity
- An explaination of the problem from Atomic Object's blog
-
Disable System Integrity Protection while in Recovery Mode. Reboot back into macOS when done.
csrutil disable
-
For macOS Catalina and newer (which uses a read-only system volume), mount the system drive read/write (yes, this is in addition to disabling SIP)
sudo mount -uw /
-
Connect only the problem monitor
-
Download this script in the directory containing all the display override plist files (note: even with the steps above, this command requires sudo to run):
cd /System/Library/Displays/Contents/Resources/Overrides sudo curl -O https://gist.githubusercontent.com/ejdyksen/8302862/raw/patch-edid.rb
You may also want to use adaugherity's version of the script:
cd /System/Library/Displays/Contents/Resources/Overrides sudo curl -O https://gist.githubusercontent.com/adaugherity/7435890/raw/patch-edid.rb
-
Run the script we just downloaded (as root again). This creates a new display override plist.
sudo ruby patch-edid.rb
-
Reboot into recovery mode to re-enable SIP.
csrutil enable