• OS
  • Disable dithering on M1/M2 devices

@insta42014 - I tried everything possible, nothing worked so far. Will try to return it to my local autorised resseler, if that doesn't work will try to sell it.

    mirza I will update the initial message of this thread. The command should be extended.

      Sorry, but I didn't feel any difference, compared to my monitor which is plugged to pc, I get this immidiate pressure in my neck, sort of like this macbook display is shooting me 🙂 Maybe Apple doesn't allow this to change at all. I dunno.

        mirza It is interesting whether that part of the driver is executed at all…

        Let's check it by the command

        log show --process 0 | grep "applying boot-arg"

        works something for a while, and then shows nothing, just goes to new line again

          mirza Thanks for the check. This means that the class IOMobileFramebufferLegacy (which contains the dithering control code) is not used.

          Ok, then I have to look for the dithering control in other classes.

          mirza Could you please also grep for the keyword "IOMobileFramebuffer"?

          2022-11-17 19:54:24.597743+0100 0x5231     Error       0x0                  0      0    kernel: (Sandbox) Sandbox: gamed(1158) deny(1) iokit-open-user-client IOMobileFramebufferUserClient

          2022-11-17 19:54:24.597750+0100 0x5231     Default     0x0                  0      0    kernel: IOUC IOMobileFramebufferUserClient failed MACF in process pid 1158, gamed

          2022-11-17 19:54:24.598049+0100 0x5231     Error       0x0                  0      0    kernel: (Sandbox) Sandbox: gamed(1158) deny(1) iokit-open-user-client IOMobileFramebufferUserClient

          2022-11-17 19:54:24.598050+0100 0x5231     Default     0x0                  0      0    kernel: IOUC IOMobileFramebufferUserClient failed MACF in process pid 1158, gamed

          2022-11-19 11:00:06.641234+0100 0x4b90     Error       0x0                  0      0    kernel: (Sandbox) Sandbox: gamed(1150) deny(1) iokit-open-user-client IOMobileFramebufferUserClient

          2022-11-19 11:00:06.641241+0100 0x4b90     Default     0x0                  0      0    kernel: IOUC IOMobileFramebufferUserClient failed MACF in process pid 1150, gamed

          2022-11-19 11:00:06.641620+0100 0x4b90     Error       0x0                  0      0    kernel: (Sandbox) Sandbox: gamed(1150) deny(1) iokit-open-user-client IOMobileFramebufferUserClient

          2022-11-19 11:00:06.641622+0100 0x4b90     Default     0x0                  0      0    kernel: IOUC IOMobileFramebufferUserClient failed MACF in process pid 1150, gamed

          2022-11-19 16:59:20.454849+0100 0x2905     Error       0x0                  0      0    kernel: (Sandbox) Sandbox: gamed(1015) deny(1) iokit-open-user-client IOMobileFramebufferUserClient

          2022-11-19 16:59:20.454856+0100 0x2905     Default     0x0                  0      0    kernel: IOUC IOMobileFramebufferUserClient failed MACF in process pid 1015, gamed

          2022-11-19 16:59:20.455145+0100 0x2905     Error       0x0                  0      0    kernel: (Sandbox) Sandbox: gamed(1015) deny(1) iokit-open-user-client IOMobileFramebufferUserClient

          2022-11-19 16:59:20.455147+0100 0x2905     Default     0x0                  0      0    kernel: IOUC IOMobileFramebufferUserClient failed MACF in process pid 1015, gamed

            mirza Could you also please grep for "IOMobileGraphicsFamily"?

            it's huge, and when I try to attach txt file here, it says that this file type is not allowed. What info are you looking for? I can try to copy paste part of it.

              mirza Maybe you can put it in the zip archive and upload here?

              mirza Let's try to make booting more verbose by adding the -v parameter

              Please, try to input

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

              Then make sure the boot-args was accepted:

              nvram -p | grep "boot-args"

              The output must be the same as the previous input.

              Reboot your laptop.

              run the command

              log show --process 0 | grep "IOMobileFramebufferLegacy"

              Same issues unfortunately. And, just to be on a clear side, I'm pluggin my external monitor back and forth with PC and MBA, while closing MBA, just to make sure. For hours I'm using my Benq without any issues, in fact feels relaxing on the eyes, I plug it to MBA, wait 5 mins or so, eyes start to burn a bit, light headache, and whole nine yards. But please, do keep trying 🙂 Maybe you will be the one to solve hundreds or thousands of people's issues. I mean, it has to be software issue, otherwise it doesn't make sense from this I wrote above…

                mirza Did log show --process 0 | grep "IOMobileFramebufferLegacy" print something?

                  mirza In this case, direct kernel debugging can only help. Not sure it is possible on the Apple silicon devices.

                  But before, it still worth to check more drivers. Maybe I missed something.

                  dev