{"id":18388023,"url":"https://github.com/methodgrab/macos-external-display-fix","last_synced_at":"2025-04-12T03:58:28.463Z","repository":{"id":149551263,"uuid":"566972193","full_name":"MethodGrab/macos-external-display-fix","owner":"MethodGrab","description":"Instructions for fixing blurry text on external displays in macOS.","archived":false,"fork":false,"pushed_at":"2022-11-16T20:32:50.000Z","size":4,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-12T03:58:25.745Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MethodGrab.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-16T20:00:00.000Z","updated_at":"2023-01-08T21:32:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"03d5309e-5f54-4870-ad1c-3501dafc651f","html_url":"https://github.com/MethodGrab/macos-external-display-fix","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MethodGrab%2Fmacos-external-display-fix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MethodGrab%2Fmacos-external-display-fix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MethodGrab%2Fmacos-external-display-fix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MethodGrab%2Fmacos-external-display-fix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MethodGrab","download_url":"https://codeload.github.com/MethodGrab/macos-external-display-fix/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248514203,"owners_count":21116900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-06T01:30:05.985Z","updated_at":"2025-04-12T03:58:28.440Z","avatar_url":"https://github.com/MethodGrab.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# macOS External Display Fix\n\nA fix for blurry text on external displays in macOS \u0026 OS X.\n\nThis is based on my [original gist](https://gist.github.com/MethodGrab/ef8d254f469bc85b4d3e5fad3d37b74e).\n\n\n## Notes\n\n- Entering the recovery mode keyboard combination (\u003ckbd\u003eCMD-R\u003c/kbd\u003e) must be done using the laptop keyboard. Using an external keyboard (e.g. Apple Magic keyboard) will **not** work.\n\n\n## Instructions\n\n\n### 11 macOS Big Sur / 12 macOS Monterey\n\n1. Download and run the [patch](./patch-edid.rb) ([src][patch-edid-src]) which will create a new directory in the CWD called `DisplayVendorID-XXXX`:\n\n\t```shell\n\truby ./patch-edid.rb\n\t```\n\n1. Copy the patch dir to `/Library/Displays/Contents/Resources/Overrides`:  \n\t`XXXX` is the suffix of the folder the patch script created.  \n\t`~/Downloads` is the path `patch-edid.rb` was run in.  \n\tNote: the path is `/Library/...`, **not** `/System/Library/...`.  \n\n\t```shell\n\tsudo mkdir -p /Library/Displays/Contents/Resources/Overrides\n\tsudo cp -r ~/Downloads/DisplayVendorID-XXXX /Library/Displays/Contents/Resources/Overrides\n\t```\n\n1. Reboot.\n1. That's it!\n\n\n#### Notes\n\n- Tested in Big Sur \u0026 Monterey.\n- Rebooting into safe mode is no longer required!  \n  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.\n\n\n---\n\n\n### 10.15 macOS Catalina\n\n1. Download and run the [patch](./patch-edid.rb) ([src][patch-edid-src]) which will create a new directory in the CWD called `DisplayVendorID-XXXX`:\n\n\t```shell\n\truby ./patch-edid.rb\n\t```\n\n1. Reboot into recovery mode (hold down \u003ckbd\u003eCMD-R\u003c/kbd\u003e while rebooting)\n1. Open `Terminal` from the `Utilities` menu  \n\tNote: If you use FileVault, you will need to [unlock \u0026 mount](https://derflounder.wordpress.com/2017/11/04/unlock-or-decrypt-an-encrypted-apfs-boot-drive-from-the-command-line) `Macintosh HD` before continuing:\n\t1. `diskutil apfs list`\n\t1. Find the volume identifier for `Macintosh HD`:\n\n\t\t```shell\n\t\tAPFS Volume Disk (Role):  disk1s1 (No specific role) // `disk1s1` is the volume identifier\n\t\tName:                     Macintosh HD (Case-insensitive)\n\t\tMount Point:              /\n\t\tCapacity Consumed:        250GB\n\t\tEncrypted:                Yes\n\t\t```\n\n\t1. `diskutil apfs unlockVolume /dev/volume_identifier` where `volume_identifier` is the one shown in the diskutil listing\n\t1. After unlocking the disk with an approved FileVault user, `Macintosh HD` will now be mounted at `/Volumes/Macintosh HD`\n1. Copy the patch dir to `/System/Library/Displays/Contents/Resources/Overrides/`, I recommend backing up any existing directory if it exists for your display:  \n\t`XXXX` is the suffix of the folder the patch script created.  \n\t`YYYY` is the suffix of the file it created.  \n\t`/Volumes/Macintosh\\ HD/Users/me/Downloads` is the path `patch-edid.rb` was run in.  \n\n\t```shell\n\tcd /Volumes/Macintosh\\ HD/System/Library/Displays/Contents/Resources/Overrides/\n\tmv DisplayVendorID-XXXX DisplayVendorID-XXXX-BACKUP\n\tmkdir DisplayVendorID-XXXX\n\tcp /Volumes/Macintosh\\ HD/Users/me/Downloads/DisplayVendorID-XXXX/DisplayProductID-YYYY ./DisplayVendorID-XXXX\n\t```\n\n1. Reboot back into normal mode.\n1. That's it!\n\n\n#### Notes\n\n- Disabling System Integrity Protection (SIP) is no longer required in macOS Catalina.\n\n\n---\n\n\n### 10.12 macOS Sierra\n\n1. Download and run the [patch](./patch-edid.rb) ([src][patch-edid-src]) which will create a new directory in the CWD called `DisplayVendorID-XXXX`:\n\n\t```shell\n\truby ./patch-edid.rb\n\t```\n\n1. Reboot into recovery mode (hold down \u003ckbd\u003eCMD-R\u003c/kbd\u003e while rebooting)\n1. [Disable SIP](https://www.macworld.com/article/2986118/security/how-to-modify-system-integrity-protection-in-el-capitan.html):\n\n\t```shell\n\tcsrutil disable\n\t```\n\n1. Reboot into recovery mode (hold down `CMD-R` while rebooting) _again_ so the SIP change takes effect\n1. Open `Terminal` from the `Utilities` menu  \n\tNote: If you use FileVault, you will need to [unlock \u0026 mount](https://derflounder.wordpress.com/2017/11/04/unlock-or-decrypt-an-encrypted-apfs-boot-drive-from-the-command-line) `Macintosh HD` before continuing:\n\t1. `diskutil apfs list`\n\t1. Find the volume identifier for `Macintosh HD`:\n\n\t\t```shell\n\t\tAPFS Volume Disk (Role):  disk1s1 (No specific role) // `disk1s1` is the volume identifier\n\t\tName:                     Macintosh HD (Case-insensitive)\n\t\tMount Point:              /\n\t\tCapacity Consumed:        250GB\n\t\tEncrypted:                Yes\n\t\t```\n\n\t1. `diskutil apfs unlockVolume /dev/volume_identifier` where `volume_identifier` is the one shown in the diskutil listing\n\t1. After unlocking the disk with an approved FileVault user, `Macintosh HD` will now be mounted at `/Volumes/Macintosh HD`\n1. Copy the patch dir to `/System/Library/Displays/Contents/Resources/Overrides/`, I recommend backing up any existing directory if it exists for your display:  \n\t`XXXX` is the suffix of the folder the patch script created.  \n\t`YYYY` is the suffix of the file it created.  \n\t`/Volumes/Macintosh\\ HD/Users/me/Downloads` is the path `patch-edid.rb` was run in.  \n\n\t```shell\n\tcd /Volumes/Macintosh\\ HD/System/Library/Displays/Contents/Resources/Overrides/\n\tmv DisplayVendorID-XXXX DisplayVendorID-XXXX-BACKUP\n\tmkdir DisplayVendorID-XXXX\n\tcp /Volumes/Macintosh\\ HD/Users/me/Downloads/DisplayVendorID-XXXX/DisplayProductID-YYYY ./DisplayVendorID-XXXX\n\t```\n\n1. [Re-enable SIP](https://www.macworld.com/article/2986118/security/how-to-modify-system-integrity-protection-in-el-capitan.html):\n\n\t```shell\n\tcsrutil enable\n\t```\n\n1. Reboot back into normal mode.\n1. That's it!\n1. You can verify that SIP has been re-enabled with:\n\n\t```shell\n\tcsrutil status\n\t```\n\n\n---\n\n\n### 10.11 OS X El Capitan\n\n1. Download and run the [patch](./patch-edid.rb) ([src][patch-edid-src]) which will create a new directory in the CWD called `DisplayVendorID-XXXX`:\n\n\t```shell\n\truby ./patch-edid.rb\n\t```\n\n1. Reboot into recovery mode (hold down \u003ckbd\u003eCMD-R\u003c/kbd\u003e while rebooting)\n1. [Disable SIP](https://www.macworld.com/article/2986118/security/how-to-modify-system-integrity-protection-in-el-capitan.html):\n\n\t```shell\n\tcsrutil disable\n\t```\n\n1. Reboot into recovery mode (hold down `CMD-R` while rebooting) _again_ so the SIP change takes effect\n1. Open `Terminal` from the `Utilities` menu  \n\tNote: If you use FileVault, you will need to [unlock \u0026 mount](http://apple.stackexchange.com/a/236341) `Macintosh HD` before continuing:\n\t1. `diskutil list`\n\t1. Find the lvUUID:\n\n\t\t```shell\n\t\tLogical Volume on disk0s2\n\t\t4B2EFAAE-C871-4E6D-AB15-2DDE604B97CE // this is lvUUID\n\t\tLocked Encrypted\n\t\t```\n\n\t1. `diskutil cs unlockVolume lvUUID` where `lvUUID` is the one shown in the diskutil listing\n\t1. After unlocking the disk with an approved FileVault user, `Macintosh HD` will now be mounted at `/Volumes/Macintosh HD`\n1. Copy the patch dir to `/System/Library/Displays/Contents/Resources/Overrides/`, I recommend backing up any existing directory if it exists for your display:  \n\t`XXXX` is the suffix of the folder the patch script created.  \n\t`YYYY` is the suffix of the file it created.  \n\t`/Volumes/Macintosh\\ HD/Users/me/Downloads` is the path `patch-edid.rb` was run in.  \n\n\t```shell\n\tcd /Volumes/Macintosh\\ HD/System/Library/Displays/Contents/Resources/Overrides/\n\tmv DisplayVendorID-XXXX DisplayVendorID-XXXX-BACKUP\n\tmkdir DisplayVendorID-XXXX\n\tcp /Volumes/Macintosh\\ HD/Users/me/Downloads/DisplayVendorID-XXXX/DisplayProductID-YYYY ./DisplayVendorID-XXXX\n\t```\n\n1. [Re-enable SIP](https://www.macworld.com/article/2986118/security/how-to-modify-system-integrity-protection-in-el-capitan.html):\n\n\t```shell\n\tcsrutil enable\n\t```\n\n1. Reboot back into normal mode.\n1. That's it!\n1. You can verify that SIP has been re-enabled with:\n\n\t```shell\n\tcsrutil status\n\t```\n\n\n---\n\n\n## Sources\n\n- [Unlock or decrypt an encrypted APFS boot drive from the command line](https://derflounder.wordpress.com/2017/11/04/unlock-or-decrypt-an-encrypted-apfs-boot-drive-from-the-command-line)\n- [How to modify System Integrity Protection in El Capitan](https://www.macworld.com/article/2986118/security/how-to-modify-system-integrity-protection-in-el-capitan.html)\n- [ejdyksen/patch-edid.rb](https://gist.github.com/ejdyksen/8302862)\n- [Improved `patch-edid.rb`](https://gist.github.com/adaugherity/7435890)\n- [Force RGB mode in Mac OS X to fix the picture quality of an external monitor](http://www.ireckon.net/2013/03/force-rgb-mode-in-mac-os-x-to-fix-the-picture-quality-of-an-external-monitor)\n\t- [Without disabling SIP](http://www.ireckon.net/2013/03/force-rgb-mode-in-mac-os-x-to-fix-the-picture-quality-of-an-external-monitor/comment-page-11#comment-14866)\n- [Instructions for Forcing RGB mode in Catalina](https://www.reddit.com/r/MacOS/comments/dkowz1/instructions_for_forcing_rgb_mode_in_catalina)\n- [DELL P4317Q monitor and Mac OS Catalina](https://discussions.apple.com/thread/250732856?answerId=251394294022)\n- [Big Sur - Force RGB mode for displays](https://forums.macrumors.com/threads/big-sur-force-rgb-mode-for-displays.2268099)\n- [Force RGB mode using Big Sur](https://www.reddit.com/r/MacOSBeta/comments/ipk1yn/force_rgb_mode_using_big_sur)\n\n\n\n\u003c!-- Refs --\u003e\n\n[patch-edid-src]: https://gist.github.com/adaugherity/7435890\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmethodgrab%2Fmacos-external-display-fix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmethodgrab%2Fmacos-external-display-fix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmethodgrab%2Fmacos-external-display-fix/lists"}