Donux I don't deny that you are facing eyestrain issues with the internal display, even with software tweaks. But one of the primary functions of software is to control hardware, in fact that's the point of a display driver, and what we're doing here is modifying display driver settings to change the behavior of a display.

Blooey interesting findings, thanks for testing! One thing is sure is that display manufacturers cannot be trusted with this information. We have to perform independent testing. I got my Carson microscope today and will do my own.

Donux I don't agree. Stillcolor has made a huge difference for me on my M2 Air 15. I've probably used my computer more in the last few days than I've used it in the last month; the display feels so comfortable now. It seems like there are more issues to investigate on the MBPs because the display on the MBPs is more complex, but on the Airs this is definitely a game changer.

@DannyD2 What kind of symptoms you get from displays and are you sensitive to PWM. Are there some displays that you can use?

I'm asking to understand if you have the same situation as I have, so I could also get M2 and test stillcolor. I dont' want to do it right away, as I ve tested about 20 laptops and screens and TV's and I don't want to waste my time

    Maxx Mackbook Air 15'' M2 is PWM free. So, by disabling the dithering we totally get rid (I hope) the main issues which cause problems. This can explain why MBA 15'' M2 becomes comfortable to use.

    At the same time, many MBP models are NOT PWM free and even if dithering is disabled, one can fill discomfort.

    …to measure the screen PWM, I made the special adapter based on the photoresistor. I plug it to the oscilloscope to measure the PWM value. It can measure up to 200 kHz.

    Blooey

    I have recorded some probably tens of dozen's of videos by now with different internal and external panels. I may have observed pixel inversion on a intel iGPU T480s laptop running a known dithering free OS/driver combination (windows 10 1809 with no intel graphics driver installed). Columns of pixels simultaneously gradually increase and decrease in brightness. Is this pixel inversion? In my other videos of other panels, the dithering flicker is with different pairs/groups of rgb pixels scattered at different places. The frequency may also be different and the groups pixels in a column are not exactly flickering in sync.

    Videos labeled dithering or pixel inversion (recorded all on 60Hz panel with 240 fps camera played back in slow-mo at 30 fps). Also, best to download the video not view them within dropbox.
    https://www.dropbox.com/scl/fo/47fw3ygxkxaq78ul0j19i/h?rlkey=a2fvkmlujs2m9tkmdw59ujwvl&dl=0

    The videos labeled dithering are probably a combination of dithering and inversion.

    This may also be informative:
    https://ledstrain.org/d/2669-pixel-inversion-and-temporal-dithering-might-be-using-the-same-mechanism/2

    Update: now not so sure if you can tell the difference. Probably most you could tell at a glance is that temporal dithering combined with inversion causes the flickering to be more apparent.

    aiaf There are still a ton of other options on the IOFramebuffer object, I will diff those soon.

    Just in case you missed the tool, there is a GUI wrapper on IOReg. It is called IORegistryExplorer, and is included in Apple's Additional Tools For Xcode package on the More Downloads Page. When you run IORegistryExplorer, type IOMobileFramebufferAP into the search field, then View menu select Browser View.

    Pretty great for this work, since it shows the properties update in near real time, so you can see the enableDither property toggle to false in real time when enabling Stillcolor. It also lists many other properties available on IOMobileFramebufferAP, and how they are changing over time and with different system settings.

      @aiaf just wanted to say that I am so thankful for all your work. I have an M1 MacMini that I used on and off but figured lately that I could not use it anymore because of eye strain. StillColor makes it usable for me again. This is really awesome.

      Today I was at a computer shop and tried StillColor on an M3 MBP and M2 Air. Both were better with StillColor installed ( the MBP even better with ProMotion and Truetone off ).

      Now I am thinking to get an MBP myself again. That would be an Apple laptop after several years that I could use again. That would be a dream come true.

      Would be great if this also worked for iOS. I had an iPhone 11 with iOS 16 as my daily driver. I could use this without issues. However when I told my iPhone 13pro that I use to test new features to update to iOS 17.4, my iPhone 11 also upgraded without me doing anything. Now the screen is way worse and I cannot roll back the upgrade. So I am hoping this can be fixed with this method somehow.

      Thanks again for all your efforts. Yes, please make a donation page or something that people can express their gratitude.

        NewDwarf they are. I sensitive to temporal dithering and know the pain of it. I feel it also in iOS too

        NewDwarf I mean if dithering can be turned off on LCD iPhones that would be huge. They also do make LCDs for OLED iPhones which I've seen some have super high PWM which is good. How do you know modern ones don't dither ? I'm sure they do. Dark mode, reduce whitepoint,and night shift all seem to trigger dithering which was noted on flickersense.org

        I'm sure they are using the same pixel color flicker technique on modern iPhones too.

          jordan I mean if dithering can be turned off on LCD iPhones that would be huge.

          LCD iPhones, like iPhone 11, iPhone SE 2020/2022 are PWM and dithering free! This means is nothing to disable there. iPhone 12 and newer are all OLED.

          jordan They also do make LCDs for OLED iPhones which I've seen some have super high PWM which is good.

          That is not true. In the best case, PWM does not exceed 1 kHz. This frequency is too low for the PWM sensitive persons.

          jordan I'm sure they are using the same pixel color flicker technique on modern iPhones too.

          …I am not sure 😉

          Just checked youtube videos. They confirm that the temporal dithering is not present on the OLED iPhones.

          https://www.youtube.com/watch?v=ieCT17IZp2E // iPhone 14 Pro

            jordan I use iPhone SE 2022 and this device perfectly fits for me.

              What happens if you plug an Apple Silicon Mac into a true 10 bit LCD without PWM. Does the GPU/driver still dither? Or would it detect the display as able to really show 10 bits and be flicker free?

                asus389 that's a good question! I don't think there's many true 10 bit LCDs. The ViewSonic true 10bit is actually 8+2frc as they told me in a email. Maybe someone has the up2720q dell or eizo to test this 🤔

                  dev