Skip to content

Instantly share code, notes, and snippets.

@atais
Last active November 25, 2020 18:46
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save atais/85626e1f225f1c7029e27bd25de1289a to your computer and use it in GitHub Desktop.
Save atais/85626e1f225f1c7029e27bd25de1289a to your computer and use it in GitHub Desktop.
Mac OS inverted colours problem

The problem

Problem is widely known since ~2013, and I have seen numerous people complaining about it:

Most people seem to observe this issue with Philips TVs. Same applies to me with Philips 42PFL7404H.

The solution, for Mac OS Sierra

  1. Restart your Mac while holding Command (⌘) and R, this puts your Mac into Recovery Mode.

  2. When in Recovery Mode, select Utilities > Terminal from the menu bar.

  3. In the Terminal type csrutil disable, this disables System Integrity Protection

  4. Restart your Mac and log in.

  5. Download attached DisplayProductID-0 file and put it inside a folder named DisplayVendorID-410c, by running:

    sudo mkdir /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-410c
    sudo wget https://gist.githubusercontent.com/atais/85626e1f225f1c7029e27bd25de1289a/raw/cd6c2a46718dd17a7d707b3029ba18f8a1cf1817/DisplayProductID-0 -P /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-410c
    sudo chown -R root:wheel /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-410c
    sudo chmod 644 /System/Library/Displays/Contents/Resources/Overrides/DisplayVendorID-410c/DisplayProductID-0
  6. Shutdown your Mac

  7. Reset SMC

    • Turn off your Mac
    • Press left Shift (⇧), Control, Option (Alt ⌥) and Power
    • Release all buttons at the same time
    • LED on your power-cord should change color
  8. Reset PRAM

    • Turn off your Mac
    • Turn on your mac
    • Quickly press: Option (Alt ⌥), Command (⌘), P and R.
    • Mac should restart again
  9. Reseting PRAM & SMC will automatically re-enable System Integrity Protection

  10. Connect your display, check if correct Vendor ID is selected, use command

    ioreg -lw0 | grep IODisplayPrefsKey

    The output should look like this:

        | |   | |         "IODisplayPrefsKey" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@0/display0/AppleBacklightDisplay-610-9cf0"
        | |   | | |       "IODisplayPrefsKey" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IGPU@2/AppleIntelFramebuffer@1/display0/AppleDisplay-410c-0"
  11. Enjoy.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<dict>
<key>DisplayProductID</key>
<integer>0</integer>
<key>DisplayVendorID</key>
<integer>16652</integer>
<key>IODisplayEDID</key>
<data>
AP///////wBBDAAAAQEBAQgTAQOAgEh4CuaSo1RKmSYPSkwhCACLwIGAqUABAQEBAQEBAQEBAjqAGHE4LUBYLEUAANBSAAAeAjqA0HI4LUAQLEWAANBSAAAeAAAA/ABQaGlsaXBzIEZUVgogAAAA/QAwPg9GDwAKICAgICAgAccCAzHBUh8QICEiFAUTBBIDEQIWBxUGASYJHwcVB1CDAQAAagMMAFAAOC2AZWXjBQMBAR2APnM4LUB+LEWAANBSAAAeAR2A0HIcFiAQLCWAANBSAACeAR0AvFLQHiC4KFVAANBSAAAeAR2AGHEcFiBYLCUAANBSAACeAAAAAAAApA==
</data>
</dict>
</plist>
@aaduane
Copy link

aaduane commented Nov 25, 2020

Since Catalina, the system folder now resides in a read-only partition so it cannot be messed with. To add the display override folder, you will need to use the following terminal commands to make the directory writable first...

sudo mount -uw /
killall Finder

...this is reversed after a reboot, but the added directory persists.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment