- Edited
and do you have the same set up in "mirror dummy" such as "SwitchResX4…"?
and do you have the same set up in "mirror dummy" such as "SwitchResX4…"?
I have followed the instructions from @NewDwarf on how to disable dithering on my M1 mac. I didn't see much of an alleviation of symptoms. I have also reduced my resolution to 1600x900 using BetterDisplay, again with not much of an effect on my symptoms.
Specs:
Interestingly, on my other Mac, I don't use BetterDisplay, but did follow @NewDwarf instructions to disable dithering, which helped me greatly. I can use this Mac, with pretty much no symptoms.
Just a note that on both Macs, I am using external LCD TFT backlit monitors.
I wonder if it is because the usable on is running Big Sur. And the unusable one is running Monterey?
Zazu I wonder if it is because the usable on is running Big Sur. And the unusable one is running Monterey?
I think there is a high possibility that upgrading to Monterey, even the mac with intel will start giving you problems.
You should make a disk image and try it, but I wouldn't do that if I were you
ryans Yeah, New dwarf had 2 seperate solutions for intel and M1 macs. I tried both and it seems the intel solution worked but the M1 had ambiguous results. I have now brute forced working on my M1 and today seems better. Reminder that on my M1 I have also reduced my resolution using betterdisplay, and did what Newdwarf recommended to disable dithering.
From MacRumors:
I’ve confirmed with the developer that a Dummy Display is the only way to switch the color to 8-bit on Apple silicon, which should disable temporal dithering in theory. Keep in mind that will give you less colors to work with and may make for a slightly less color-accurate display if your work is graphic-dependent.
Lauda89 Hi, the post is here.
I believe I used this from NewDwarf
sudo nvram boot-args="enableDither=0"
and then to check if there has been an effect use this command
log show --predicate "processID == 0" | grep Dither
FULL THREAD: https://ledstrain.org/d/268-osx-dithering-help-wanted/191
@NewDwarf Thanks so much for this!! And everyone else with the better display dummy work around.
@NewDwarf did you ever find a command that works in Monterey/Ventura? Im on Ventura now and experiencing some eye pain, don't want to downgrade really but preparing to if I have too. There got to be a way to get this working on the new MacOS's!
Edit just saw your new post here and tried this method: https://ledstrain.org/d/2101-new-attempt-to-disable-dithering-on-m1m2-chipsets/7
I am using Macbook Pro M1 14 Inch 2021, running macOS Monterey, using display port to connect to Dell U2913WM.
Within a week of switching from my old intel Mac to the M1 I started experiencing eye strain and migraines. I resorted to switching everything to dark mode, changed both display frequency to 60 Hertz. I also disabled true tone, disabled auto brightness, reduced motion and transparency in accessibility settings. All of this helped but only now thanks to @NewDwarf post have I fixed the constant feeling of flickering on the external display. I'm surprised this solution isn't published more widely and Apple hasn't fixed it by default.
I followed the instructions above, here's the full steps I took:
Shutdown, hold down power button until login options shows, start recovery mode, then open terminal.
csrutil disable
Restart into main OS, open terminal
sudo nvram boot-args="enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0"
Restart, dithering appears to have stopped it can be hard to tell but it immediately reduced strain and headache from the feeling of constant flicker, so that's a great sign! I will continue to monitor but I think that has done the trick.
In the main settings I also have the external display colour mode set to sRGB, refresh rate 60 Hertz.
I then also installed BetterDisplay to see if it had any other options, again it immediately improved things because it had an HiDPI resolution option which for me made text more readable and on the whole felt more crisp (not as good as a retina display, but it will do). After tweaking the contrast and brightness this also improved it further.
Finally once finished, shutdown, then hold down power button, go to recovery mode, then open terminal and reverse the change earlier:
csrutil enable
Thanks again!
jamesacres Also here's the log output
[jamesacres@Jamess-MBP-2 ~]$ log show --predicate "processID == 0" | grep Dither
2023-03-21 22:05:14.472824+0000 0x776cd Error 0x0 0 0 kernel: (Sandbox) System Policy: nvram(51036) deny(1) boot-arg-set enableDither
2023-03-21 22:05:39.470670+0000 0x777f1 Error 0x0 0 0 kernel: (Sandbox) System Policy: nvram(51072) deny(1) boot-arg-set enableDither
2023-03-21 22:12:33.253081+0000 0x2c4e Default 0x0 0 0 kernel: (Sandbox) System Policy: nvram(1507) allow boot-arg-set enableDither
2023-03-21 22:12:33.253092+0000 0x2c4e Default 0x0 0 0 kernel: (Sandbox) System Policy: nvram(1507) allow boot-arg-set iomfb_RuntimeProperty_enableDither
2023-03-21 22:12:33.253096+0000 0x2c4e Default 0x0 0 0 kernel: [System Event] [2164899825] [INFO] [Subsystem: nvram] [Event: write] boot-args to enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:13:03.341919+0000 0x9e8 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:13:03.341919+0000 0x9e6 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:13:04.454396+0000 0xaab Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:13:22.574676+0000 0x1020 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:13:22.692003+0000 0x103f Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:13:22.770218+0000 0x104c Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:13:22.778096+0000 0x1055 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:13:34.230074+0000 0x1ae5 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:13:34.245873+0000 0x1aea Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:21:48.650860+0000 0x9d3 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:21:48.650860+0000 0x9d1 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:21:49.638767+0000 0xa9e Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:22:13.111652+0000 0x1020 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:22:13.218779+0000 0x1051 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:22:13.344461+0000 0x1065 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:22:13.467268+0000 0x108f Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:22:24.671409+0000 0x1b34 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:22:24.687293+0000 0x1b3e Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:26:39.061278+0000 0x9d9 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:26:39.061280+0000 0x9d7 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:26:40.220311+0000 0xaa5 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:26:57.643257+0000 0x1036 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:26:57.758000+0000 0x1064 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:26:57.801180+0000 0x1077 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:26:57.813398+0000 0x107d Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:27:08.763317+0000 0x1b38 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
2023-03-21 22:27:08.789499+0000 0x1b41 Default 0x0 0 0 kernel: Boot args: enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
[jamesacres@Jamess-MBP-2 ~]$ log show --process 0 | grep "IOMobileFramebufferLegacy"
[jamesacres@Jamess-MBP-2 ~]$
jamesacres as I got it from the other post, this tweak doesn’t work for apple silicon.
For me only dummy trick is working.
What version of Monterey OS do you use?
I tried it again and I get this logs:
Last login: Wed Mar 22 11:54:04 on ttys000
sentiny@artems-MacBook-Pro ~ % log show --predicate "processID == 0" | grep Dither
2023-03-22 11:25:24.830739+0300 0x1dc9 Default 0x0 0 0 kernel: (Sandbox) System Policy: nvram(817) allow boot-arg-set enableDither
2023-03-22 11:25:24.830744+0300 0x1dc9 Default 0x0 0 0 kernel: (Sandbox) System Policy: nvram(817) allow boot-arg-set iomfb_RuntimeProperty_enableDither
2023-03-22 11:25:29.211465+0300 0x1df9 Default 0x0 0 0 kernel: (Sandbox) System Policy: nvram(820) allow boot-arg-set enableDither
2023-03-22 11:25:29.211478+0300 0x1df9 Default 0x0 0 0 kernel: (Sandbox) System Policy: nvram(820) allow boot-arg-set iomfb_RuntimeProperty_enableDither
2023-03-22 11:25:48.467066+0300 0x20b4 Default 0x0 0 0 kernel: (Sandbox) System Policy: nvram(902) allow boot-arg-set iomfb_force_block_Dither
2023-03-22 11:31:40.677142+0300 0x1df2 Default 0x0 0 0 kernel: (Sandbox) System Policy: nvram(669) allow boot-arg-set enableDither
2023-03-22 11:34:32.640627+0300 0x2223 Default 0x0 0 0 kernel: (Sandbox) System Policy: nvram(712) allow boot-arg-set enableDither
2023-03-22 11:34:32.640633+0300 0x2223 Default 0x0 0 0 kernel: (Sandbox) System Policy: nvram(712) allow boot-arg-set iomfb_RuntimeProperty_enableDither
2023-03-22 11:35:59.274504+0300 0x2374 Default 0x0 0 0 kernel: (Sandbox) System Policy: nvram(727) allow boot-arg-set enableDither
2023-03-22 11:35:59.274512+0300 0x2374 Default 0x0 0 0 kernel: (Sandbox) System Policy: nvram(727) allow boot-arg-set iomfb_RuntimeProperty_enableDither
sentiny@artems-MacBook-Pro ~ %
I don't have this line and lines under it:
2023-03-21 22:12:33.253096+0000 0x2c4e Default 0x0 0 0 kernel: [System Event] [2164899825] [INFO] [Subsystem: nvram] [Event: write] boot-args to enableDither=0 PE_i_can_has_debugger=1 iomfb_RuntimeProperty_enableDither=0
I use MacOS 12.6.2
I am using 13.2 (22D49)
It seemed to work for me, pretty confident the dithering stopped after that command and reboot. Not sure if that extra line indicates whether it worked or not.
jamesacres Are you able to use also the mini led display of the MBP 14"? Or you have fixed the problem only with the external monitor?
Thanks