A fix for blurry text on external displays in macOS & OS X.
This is based on my original gist.
- Entering the recovery mode keyboard combination (CMD-R) must be done using the laptop keyboard. Using an external keyboard (e.g. Apple Magic keyboard) will not work.
-
Download and run the patch (src) which will create a new directory in the CWD called
DisplayVendorID-XXXX
:ruby ./patch-edid.rb
-
Copy the patch dir to
/Library/Displays/Contents/Resources/Overrides
:
XXXX
is the suffix of the folder the patch script created.
~/Downloads
is the pathpatch-edid.rb
was run in.
Note: the path is/Library/...
, not/System/Library/...
.sudo mkdir -p /Library/Displays/Contents/Resources/Overrides sudo cp -r ~/Downloads/DisplayVendorID-XXXX /Library/Displays/Contents/Resources/Overrides
-
Reboot.
-
That's it!
- Tested in Big Sur & Monterey.
- Rebooting into safe mode is no longer required!
It's also no longer possible because as of Big Sur the file system is mounted read-only in recovery mode which makes editing/System/Library/Displays/Contents/Resources/Overrides
impossible.
-
Download and run the patch (src) which will create a new directory in the CWD called
DisplayVendorID-XXXX
:ruby ./patch-edid.rb
-
Reboot into recovery mode (hold down CMD-R while rebooting)
-
Open
Terminal
from theUtilities
menu
Note: If you use FileVault, you will need to unlock & mountMacintosh HD
before continuing:-
diskutil apfs list
-
Find the volume identifier for
Macintosh HD
:APFS Volume Disk (Role): disk1s1 (No specific role) // `disk1s1` is the volume identifier Name: Macintosh HD (Case-insensitive) Mount Point: / Capacity Consumed: 250GB Encrypted: Yes
-
diskutil apfs unlockVolume /dev/volume_identifier
wherevolume_identifier
is the one shown in the diskutil listing -
After unlocking the disk with an approved FileVault user,
Macintosh HD
will now be mounted at/Volumes/Macintosh HD
-
-
Copy the patch dir to
/System/Library/Displays/Contents/Resources/Overrides/
, I recommend backing up any existing directory if it exists for your display:
XXXX
is the suffix of the folder the patch script created.
YYYY
is the suffix of the file it created.
/Volumes/Macintosh\ HD/Users/me/Downloads
is the pathpatch-edid.rb
was run in.cd /Volumes/Macintosh\ HD/System/Library/Displays/Contents/Resources/Overrides/ mv DisplayVendorID-XXXX DisplayVendorID-XXXX-BACKUP mkdir DisplayVendorID-XXXX cp /Volumes/Macintosh\ HD/Users/me/Downloads/DisplayVendorID-XXXX/DisplayProductID-YYYY ./DisplayVendorID-XXXX
-
Reboot back into normal mode.
-
That's it!
- Disabling System Integrity Protection (SIP) is no longer required in macOS Catalina.
-
Download and run the patch (src) which will create a new directory in the CWD called
DisplayVendorID-XXXX
:ruby ./patch-edid.rb
-
Reboot into recovery mode (hold down CMD-R while rebooting)
-
csrutil disable
-
Reboot into recovery mode (hold down
CMD-R
while rebooting) again so the SIP change takes effect -
Open
Terminal
from theUtilities
menu
Note: If you use FileVault, you will need to unlock & mountMacintosh HD
before continuing:-
diskutil apfs list
-
Find the volume identifier for
Macintosh HD
:APFS Volume Disk (Role): disk1s1 (No specific role) // `disk1s1` is the volume identifier Name: Macintosh HD (Case-insensitive) Mount Point: / Capacity Consumed: 250GB Encrypted: Yes
-
diskutil apfs unlockVolume /dev/volume_identifier
wherevolume_identifier
is the one shown in the diskutil listing -
After unlocking the disk with an approved FileVault user,
Macintosh HD
will now be mounted at/Volumes/Macintosh HD
-
-
Copy the patch dir to
/System/Library/Displays/Contents/Resources/Overrides/
, I recommend backing up any existing directory if it exists for your display:
XXXX
is the suffix of the folder the patch script created.
YYYY
is the suffix of the file it created.
/Volumes/Macintosh\ HD/Users/me/Downloads
is the pathpatch-edid.rb
was run in.cd /Volumes/Macintosh\ HD/System/Library/Displays/Contents/Resources/Overrides/ mv DisplayVendorID-XXXX DisplayVendorID-XXXX-BACKUP mkdir DisplayVendorID-XXXX cp /Volumes/Macintosh\ HD/Users/me/Downloads/DisplayVendorID-XXXX/DisplayProductID-YYYY ./DisplayVendorID-XXXX
-
csrutil enable
-
Reboot back into normal mode.
-
That's it!
-
You can verify that SIP has been re-enabled with:
csrutil status
-
Download and run the patch (src) which will create a new directory in the CWD called
DisplayVendorID-XXXX
:ruby ./patch-edid.rb
-
Reboot into recovery mode (hold down CMD-R while rebooting)
-
csrutil disable
-
Reboot into recovery mode (hold down
CMD-R
while rebooting) again so the SIP change takes effect -
Open
Terminal
from theUtilities
menu
Note: If you use FileVault, you will need to unlock & mountMacintosh HD
before continuing:-
diskutil list
-
Find the lvUUID:
Logical Volume on disk0s2 4B2EFAAE-C871-4E6D-AB15-2DDE604B97CE // this is lvUUID Locked Encrypted
-
diskutil cs unlockVolume lvUUID
wherelvUUID
is the one shown in the diskutil listing -
After unlocking the disk with an approved FileVault user,
Macintosh HD
will now be mounted at/Volumes/Macintosh HD
-
-
Copy the patch dir to
/System/Library/Displays/Contents/Resources/Overrides/
, I recommend backing up any existing directory if it exists for your display:
XXXX
is the suffix of the folder the patch script created.
YYYY
is the suffix of the file it created.
/Volumes/Macintosh\ HD/Users/me/Downloads
is the pathpatch-edid.rb
was run in.cd /Volumes/Macintosh\ HD/System/Library/Displays/Contents/Resources/Overrides/ mv DisplayVendorID-XXXX DisplayVendorID-XXXX-BACKUP mkdir DisplayVendorID-XXXX cp /Volumes/Macintosh\ HD/Users/me/Downloads/DisplayVendorID-XXXX/DisplayProductID-YYYY ./DisplayVendorID-XXXX
-
csrutil enable
-
Reboot back into normal mode.
-
That's it!
-
You can verify that SIP has been re-enabled with:
csrutil status
- Unlock or decrypt an encrypted APFS boot drive from the command line
- How to modify System Integrity Protection in El Capitan
- ejdyksen/patch-edid.rb
- Improved
patch-edid.rb
- Force RGB mode in Mac OS X to fix the picture quality of an external monitor
- Instructions for Forcing RGB mode in Catalina
- DELL P4317Q monitor and Mac OS Catalina
- Big Sur - Force RGB mode for displays
- Force RGB mode using Big Sur