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!