I disabled dithering on Apple silicon + Introducing Stillcolor macOS M1/M2/M3
ryans The filebin link for AMD is down so I can't try it
smilem AFAIA dithering can be disabled with Intel GPUs using the Dithering app and on Nvidia GPUs using the app ColorControl. Unless you know any different?
languidicity which dithering app for the Intel side please?
- Edited
This is amazing, after doing visual therapy for years, trying to getting adjusted to see these new screens as the unaffected people do (with significant measureable success, but never 100%) and pushing plethora of eye exercises here with very variable results from person to person, this is the tech solution Ive been hoping for.
However I only have 2018 Intel and AMD mac, is there any chance this could be made work for those too? I have old Mojave on it, postponed updating as long as I could due to distrust in updated graphics in new OS.
Sunspark I found these discussions and workarounds for forcing RGB on M1 macOS < 13
https://gist.github.com/GetVladimir/c89a26df1806001543bef4c8d90cc2f8
martin The ideal solution is to have 1 universal app for disabling dithering on all Intel, AMD, and Apple Macs, and also a feature that reports whether a display is true 8-bit or 10-bit, as opposed to 6-bit+FRC, and 8-bit+FRC which a lot of monitor enthusiasts seem to dismiss as an irrelevant detail, but we know that it makes all the difference in the world. What displays are you using right now? Are they true 8/10-bit?
twomee is it this model? https://www.rtings.com/monitor/reviews/gigabyte/m34wq
RTings reports that it accepts a 10-bit signal and displays it as 8-bit+FRC, despite being advertised as 8-bit only.
There's a chance that your Linux distro is sending an 8-bit signal, so you get no dithering, while your Mac is sending a 10-bit signal (dither-free with Stillcolor), yet since your display is not truly 10-bit it applies dithering.
This sounds so promising, thank you for the work you've done and for making it available for us all.
I have a strong sensitivity to something other than (or in addition to) PWM, as I get eye strain and migraines from LCD screens that shouldn't have PWM at all - dithering is therefore a prime suspect. I've installed your tool on my M2 Macbook Air (Monterey) which affects me quite badly - it's too early to say if it's made a difference but to check it's working, should I see the gradient (http://www.lagom.nl/lcd-test/gradient.php) differently with Stillcolor enabled?
- Edited
Vip that's weird, Stillcolor is built for macOS 13+ (Ventura and Sonoma). Are you sure it's running? Can you confirm for me by typing this in Terminal:
ioreg -lw0 | grep -i enableDither
Should see a 1 or more "enableDither" = No
But, yes, if the app is running properly, you should see a banding when you look closely at the Lagom gradient.
Also do you see the app's interface? https://imgur.com/a/rWG2eYA
Additional findings on a 6-bit+FRC monitor
I tested Stillcolor on a 2012 24" Dell UltraSharp U2412M which DisplaySpecifications reports as 6-bit+FRC, so it performs its own independent dithering in the panel. Connected via USB-C to DP.
Paradoxically, disabling Apple GPU dithering using Stillcolor actually improves banding and gradient appearance. With GPU dithering enabled, the panel has to reconcile Apple's dithering with its own, resulting in awful looking banding that visibly flickers.
The importance of using an external monitor with true bit depth cannot be understated and we must compile a list of these displays.
aiaf Sorry - my mistake - I'm on Sonoma 14.3, not Monterey - fiddling with too many devices! Yes, I can see the app in the menu bar, Disable Dithering is ticked and I get two "enableDither" = No
lines when I run that command, so it definitely looks like it's running.
But there's no change to the gradients when I enable/disable dithering - I've attached a screen grab (with dithering disabled).
- Edited
Vip a screenshot in this scenario only tells me how my own display handles the gradient, not what your eyes see.
Since you report that the app is running, you should safely trust that GPU dithering is disabled. How long have you been using the app for?
The change in visible banding in my built-in display is subtle and I have to get eyes 15cm from the screen. On external monitors it's more pronounced.
aiaf Tinkered a lot with this at some point. Doesn't work on the internal display unfortunately, but I'm sure there are things to be found here. Plist Edit Pro can be searched for different config stuff that might be relevant. Some settings are outright ignored, and some are set by the os on the initial negotiation / best guess routine by the os based on the EDID. The stored plist stuff are connected to the exact setup of connected monitors and what ports they use. So in theory changing EDID can end up with the same config as before changing it, and switching display to another usb-c can result in a slightly different image.
https://www.fatcatsoftware.com/plisteditpro/
Another thing that could be interesting is custom color profiles. There is little or no editors with straightforward ways of manually creating color profiles for experimentation. BetterDisplay and Gamma Control can do some of the same, but not nearly as advanced as what color profiles can.
See here - https://kawamoto.no-ip.org/henteko/myapp_en.html
For the record I’ve yet to try this on my Alder Lake iGPU as I’m still setting up my new PC but intend to do so ASAP. This is all off topic for this thread though so I’ll leave it there.
I can confirm on sRGB and Colour LCD profile macbook air m2 13 inch when you check and uncheck "Disable dithering" something changes within that black to white colour gradient. However, banding remains consistent on both settings, rather some sort of noise artefacts that change when you check or uncheck. So I can only say yes - something is happening, but weather that something is something intended, I am not sure.