devilgrove What exactly laptop you use?
OSX dithering - Help wanted
CRoebuck Let us know how it goes! I'll keep you posted if I find anything else.
- Edited
devilgrove You must reboot your laptop in the normal mode. Check the logs in the normal mode!
NewDwarf it's a MacBookPro16,2
devilgrove Reboot to the normal mode. You have to add the nvram parameter only once. This parameter is passed to the kernel on booting.
NewDwarf the logs were actually in normal mode!
devilgrove Hmm. Interesting…
Could you share the output of below command, please?
nvram -p | grep dither
NewDwarf it outputted boot-args dither=0
devilgrove One more advice. Wait when the command
log show --predicate "processID == 0" | grep Dither
is finished. More likely, you see the old logs. The last string have to report you about disabled dithering.
NewDwarf Wow, you're right! It does say disabled at the end. I didn't even realize that I was looking at log history, I thought the command was constantly checking for some reason. Thank you!
Looks like OSX dithering has finally been solved
devilgrove Happy to hear that.
NewDwarf honestly I wouldn't have been able to find that solution without you assuring that there was a simple solution like that, so thank you. You're also clearly much more knowledgable than I am about OSX disassembly, so I appreciate the troubleshooting as well!
devilgrove Looks like OSX dithering has finally been solved
Wow, this is a dream. Nice job! Very nice solution, setting the NVRAM param . Have folks tried it and saw eye strain improvement!
Would be interesting to see if a similar solution exists for Apple silicon.
NewDwarf Doesn't work on my MacBook Pro 13 2018 (Intel Iris Plus Graphics 655), banding stays the same before and after the command line, and banding is worse on safe mode
When entering the command log show --predicate "processID == 0" | grep Dither
, it shows :
0 kernel: (AppleIntelCFLGraphicsFramebuffer) [IGFB][LOG ][DISPLAY ] [Modeset] Dither is disabled with bpc 1
insta42014 Could you please give more details about banding. I afraid I have no idea what you are talking about.
Using this command, eye strain completely gone for me.
Here's an example of banding/no banding :
https://imgur.com/IDgqF5m
If you look closely on the 3 screenshots below you'll see that banding is the same before (1) and after the command line (2), and that banding is worse on safe mode (3). If temporal dithering was disabled by the command line banding should be the same in (2) as it is in (3)
- Edited
insta42014 What is the technical background of that banding? How is it related to the temporal dithering?
Technically, temporal dithering doesn't increase the number of sampling bits. So, dithering is just an illusion in your brain
I would even say, that disabling of the temporal dithering will NOT remove visible gradients (banding in your term) as the display continues to produce 8-bit colours (regardless of the dithering). Moreover, by disabling the temporal dithering, we get rid of two virtual bits.
Anyway, it is interesting to know who is the author of the banding theory and how he/she came to this conclusion…
- Edited
NewDwarf I think that we see the true capabilities of the screen when the system is in safe mode and the intel driver is not enabled. When this is the case the banding is horrible, due to the fact that dithering is disabled. In normal mode, without activated dithering algorithm, we should find the same horrible banding as in safe mode, but your solution does not worsen the banding which remains the same as before on normal mode (the gradients are blurry compared to those in safe mode).
Using ditherig.exe in Windows to disable temporal dithering on Intel GPU introduce horrible banding (when it works and when the display isn't true 8-bit), showing the true capabilities of the screen.
I also think that the MacBook Pro display is not even capable of displaying true 8-bit and relies on temporal dithering to show 8-bit and 10-bit.
insta42014 Honestly the dithering.exe on windows produce a lot of banding but i think that nobody was able to turn a bad device in a good one only with that software..
So if this command works also with the M1/M2 SOC i could buy a new MBP and try if it works also for me..