• OS
  • Disable dithering on M1/M2 devices

mirza If you really use macOS ventura, it explains the weird things I noticed (you don't have any mentions of 'IOMobileFramebufferLegacy' in the kernel log).

The macOS Ventura changed concept of using of the kernel extensions. I don't familiar with the technical details.

The folder you dropped just doesn't have the drivers which existed on the previous macOS versions.

Which OS should I install? I will try to revert to older one.

    NewDwarf - Installation is finishing now. What command should I enter in terminal?

      NewDwarf 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.

      Presume that's product wide inc. Intel and not just limited to Mx. Boot args fix been working for me on a 2020 i5 4TB

        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 *)

                      dev