I believe it is possible to disable Dithering on Mac Os for Intel Video card (I'm using MacBook pro 2018 with Intel UHD Graphic 630).
I was researching driver's code via decompiler and found some interesting configuration parameters.
At first, I recommend looking at what kexts are loaded. This can be done using
kextstat | grep Intel command.
Here is my output:
I believe that the underlying issue lays one of the *Framebuffer.kext files, decompiled code for mine
com.apple.driver.AppleIntelCFLGraphicsFramebuffer looks like:
AppleIntelFramebufferController::getFeatureControl method seems to load data from underlying Info.Plist
All you need to do in order to disable dithering is simply add a new parameter to the section
FeatureControl section in the xcode, and new
Here are the contents of my Info.Plist file (with new parameter included):
Side note: in order to actually make changes to plist inside kext, you need to disable security protection
In short, reboot mac, holding Command+R until recovery utility is loaded.
Open terminal there (from top menu), and type:
Restart your mac normally. Now you need to add more permissions to be able to edit that file:
sudo chown $USER Contents/
sudo chown $USER Info.plist
Edit plist file as shown above in xcode.
Then I'd like to return file ownership back to root user:
sudo chown root Info.plist
sudo chown root Contents/
Let me know if your eyes are better now. For me it seems to help a lot, but need few days.
Here is proof that colors are different after fix (banding appeared on intel):
Note: this will only work for Intel as for now. To check active video card - use activity monitor->Energy tab
I was trying to apply similar fix for integrated AMD video card, but stuck on apple logo screen.