Having done some research and by that I mean asking Claude 🙂, it seems like there are a few reasons for why iPhones are fine for me but M-series Macs aren't.
- GPU dithering - this is applied directly to the pixel framebuffer before it is sent to the display.
- Panel level dithering - the panel's timing controller performs its own additional dithering and apparently Stillcolour does not disable this.
Why do this? Because the panel wants to reach 10-bit so it dithers to do that.
Iphone screens are native 10-bit so they don't need dither.
PWM is present in all to some extent, but I am fine with that. It is the combination of the two types of dithering and also PWM that is the issue, I can't tolerate multiple overlapping flickers.
Also why don't external display work either when connected to M-series Macs? Because the dithering layer is applied to the framebuffer before it reaches any display.
So what kind of M-series Macbook would NOT cause eye strain? Possibly a true native 10-bit OLED panel that eliminates the need for temporal dithering. BUT, even if Apple comes out with a Macbook that is native 10-bit, it might still apply dithering even if not necessary.
A caveat to the above is that this might all be untrue. I do not possess the knowledge to refute any of these claims, maybe someone else can.
On a surface level though it seems somewhat logical, and it also explains why Stillcolour does not really help.