Hey guys. I just had a chance to take a look quickly at the M1 GPU driver. At the first glance, dithering can also be controlled by the NVRAM variable.
In the case of M1 chipset and its driver, this parameter is "enableDither".
So, to disable dithering on M1 devices, open the terminal in normal mode (NVRAM variables are controlled from the normal mode on M1 devices) and enter the command
sudo nvram boot-args="enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0"
and type your password.
To verify the command was accepted, use the command:
log show --process 0 | grep "Dither"
The expected output is:
xxxx-xx-xx xx:xx:xx 0x180b Default 0x0 0 0 kernel: (Sandbox) System Policy: nvram(831) allow boot-arg-set enableDither
I am not sure this will help as most of M1 devices have pretty low frequency PWM. But some devices, like MacBook AIR 2022 has no PWM.
It would be nice to get your feedback. Just type what exactly device you use and your feeling…
Update1: the command was extended to
sudo nvram boot-args="enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0"
Update2: macOS Ventura has redesigned approach of using kernel extensions. More likely, this solution doesn’t work there. So try it on all earlier macOS versions.