• OS
  • Disable dithering on M1/M2 devices

CRoebuck thanks. This is important information which means that the kexts are part of a kernel like the iOS kernel.

mirza I guess the already entered commands are still active. You can verify it by the "nvram -p | grep boot-args" command.

If it will return the parameters you passed to the command, please, run the

log show --process 0 | grep "IOMobileFramebufferLegacy"

command.

Also, please do zipping of the /System/Library/Extensions folder and share it.

    ryans Yes, I think it will be possible. But to find the solution, we have to use the Monetey and earlier macOS versions as macOS Ventura has kind of monolithic kernel.

      NewDwarf

      I've got an M2 Macbook air coming today- let me know what you need to help with testing. Assume it will come out of the box with Monterey, I will hold off upgrading til there is a solution.

      Just out of curiosity, do we have a solution for setting lower color depth? This is something that has helped me in the past. On windows laptops, easily accessed through integrated graphics settings. 6 bit is also very easy to determine dithering vs. no dithering using test patterns.

        dirtydenim yes please! Would be incredible if this solution actually works for eye strain

        dirtydenim Could you please check the results of the command

        sudo nvram boot-args="enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0"

        whether it will have any effect.

        Also, it would be useful to see the output of the command

        log show --process 0 | grep "IOMobileFramebufferLegacy"

          I was able to successfully execute the command. I do not see any changes in my test image but sometimes it requires lowering the color depth as I mentioned to show the steps instead of a smooth gradient.

          Note, I first had to use the "csrutil disable" command in recovery mode.

          Difficult to tell if there is a comfort improvement yet, I will report back after some time and try some other objective tests- images, etc. to validate dithering is indeed disabled.

          Also @NewDwarf there was no result from the log show --process 0 | grep "IOMobileFramebufferLegacy" command.

          Is there a log I need to review?

            dirtydenim Thanks. If the log command returns nothing, this means this part of the driver is not used and the boot parameters we passed by the nvram command don’t work.

            …it is sad, but it requires more effort by digging in other directions.

            @NewDwarf - Make an app that disables this, and set price whatever you want, you have hundreds of customers who will buy it 100% 😃

              mirza BTW, I can see the output of log show --process 0 | grep "IOMobileFramebufferLegacy"

              2022-11-21 0xbb       Default     0x0                  0      0    kernel: (IOMobileGraphicsFamily) virtual bool IOMobileFramebufferLegacy::start(IOService *)

                mirza Hmm…

                It's interesting you got nothing. This is important string in the log which gives a hope to disable dithering.

                I use macOS Monterey (12.4).

                Also, it is unclear why there is no feedback from others.

                  NewDwarf after last update command my output log is:

                  2022-11-19 19:09:32.853323+0300 0x3497     Default     0x0                  0      0    kernel: (Sandbox) System Policy: nvram(2318) allow boot-arg-set enableDither

                  2022-11-19 19:09:32.853327+0300 0x3497     Default     0x0                  0      0    kernel: (Sandbox) System Policy: nvram(2318) allow boot-arg-set iomfb_RuntimeProperty_enableDither

                  MacBook Air M2 2022 macOS Monterey (12.6)

                  Curious how the folks trying this, have you had success?

                  Doesn't help for me. The problem is we don't know whether this disables temporal dithering or not. I didn't use MBA for 3-4 days, and now I tried to use it, instant vertigo and neck pain, so, yeah… I hope someone else has some solution. Tried to take my MBA to the store where I bought it (authorised reseller), they said nothing is wrong with the laptop so they cannot return my money. So, before selling it, I hope someone comes with some good news…

                    mirza For me the same - eye strain after entering command.

                    I'm currently using the temporary solution. I mirrored the internal screen using the utility BetterDisplay. And after that, I do not feel any eye strain.

                    I think this is because the virtual mirror monitor is 8 bit.

                    I also recommend disabling True Tone and Night Shift while using mirroring.

                    Can anyone also try and test this?

                      dev