async

I do not know how much difference there is on how it handles video output for HDMI, USB-C, USB-C to Hdmi adaptor, and Thunderbolt. Did anyone experiment here?

I want to buy USB-C to displayport and try that too, for my external monitor. (Just to tick that one off also)

"Did anyone react out to the developer of BetterDisplay and SwitchResX to see if any of them can somehow modify the stuff we need? Or even the developer of Yabai that has extensive experience with modifying the window management system with SIP turned off."

Yes this is an answer:

Istvan Toth (betterdisplay):

"Unfortunately you can't really change the bit-depth on M1 systems afaik if lower bit-depth mode options are not available in the set-resolution list. The bit-depth options depend on what the display reports about itself and how the display connection is negotiated. There are some ways to change color encoding and bit depth by editing the windowserver configuration files though. Normally M1 macOS will opt for "billions of colors" (10-bit color depth) if it can which might create dithering at the display end. Dummies use "millions of colors" (8-bit depth) so if these get mirrored it might help with this. But to be honest I'd need to dive into the entire issue a bit more."

Stephane Madrau (SwitchResX):

"hi As far as i know this phenomenon comes because of the 10 bits colors depth imposed on all resolutions on these Macs.

Since these macs are unable to do 8 bits colors depths resoltuons there nothing that can be done with no software to change this. The only solution can come from Apple and they should simply modify the video driver to allow 8 bits colors like Intel Macs. "

I asked another question:

"Hi
I don't know anything more about temporal dithering or any linked  effect .
I really only can answer about color depth on the resolutions (What I answered in my previous mail. ) as some users reported it was linked. In all cases my tool only manages resoltuons with the color depth that is linked , nothing more , and nothing that is either depending on the hardware  or the video driver 
Regards"

Alin Panaitiu (lunar):

"Hi Mirza!

No, there's no way alter that functionality. Most of the time that's implemented as embedded firmware inside the monitor controller, as the code needs to run extremely fast and close to the LEDs.

I don't think it's managed by the OS, I haven't found any reference about that while looking through the macOS private frameworks or through the Linux kernel.

If it's only happening on the external monitor, maybe try a different port (DisplayPort instead of HDMI, or viceversa)."

Apple Accessibility:

"Hello,

While we cannot set an expectation on timeline or outcome, we assure you that your concern is under investigation by our engineering teams.

We’ll continue to monitor the report’s progress and may follow up if we have any updates."

Benq Support:

(I aksed whether it's possible to turn off temporal dithering somehow on monitor itself):

"Good morning,
 
Thank you for contacting BenQ.

As for the temporal dithering, if any, I am afraid it is down to the graphics card, because it is a data/picture processing feature.
The monitor does not really have any filters or chips that can reduce or eliminate it, so I would advise you to either increase or reduce the screen's refresh rate: this might help the eye to reduce the symptoms.
Also, you might want to try and reduce the colour depth with the graphics card: this would reduce the colour accuracy but should decrease the dithering too (I would keep this point as a very last resource).
In case then there was any flickering, which may still turn out to be disturbing for the eyes, I would advise you to follow this guide: How to Fix Mac M1/M2 External Monitor Flicker? | BenQ Europe"

    And, everyone here should send an email to Apple Accessibility, if more people raise awareness, more likely that they will have to act.

    mirza "Unfortunately you can't really change the bit-depth on M1 systems afaik if lower bit-depth mode options are not available in the set-resolution list. The bit-depth options depend on what the display reports about itself and how the display connection is negotiated. There are some ways to change color encoding and bit depth by editing the windowserver configuration files though. Normally M1 macOS will opt for "billions of colors" (10-bit color depth) if it can which might create dithering at the display end. Dummies use "millions of colors" (8-bit depth) so if these get mirrored it might help with this. But to be honest I'd need to dive into the entire issue a bit more."

    Great. That clarifies a few things. Does these apps work by creating EDID overwrites or modify the windowserver plists? I'm not that knowledgeable about this stuff.

    If someone that went deep into what is handled where in the entire chain of Mac OS, display profiles, video output, cable, monitor wants to create a flowchart with https://www.lucidchart.com/ or something it would surely help more people get some ideas for how to solve this

    Some more thoughts and questions:

    1. Is there pixel changes on the monitor faster than the refresh rate on the stuff that comes from the OS? As far as I see it running at 30hz would dither at max that speed if the OS is responsible for dithering. This obviously doesn't apply to the dithering that the monitor does on a 10 bit signal. If this is true it would open up some things: Capturing OS dither with 240fps slow motion video, and using LOW quality video cable to force a too low bitrate for 10 bit.
    2. Is anyone aware of a way to capture the raw cable output and render it somehow? That would open up stuff like quickly measuring the amount of noise and changes to get a gauge for flickering intensity and similar. I guess a photodiode targeting the smallest possible area could also work. Is anyone aware of a photodiode or similar that works with colors? Can it somehow be connected to the mac thru an aux to usb solution? This would also allow creating a more general flicker meter that might be helpful.
    3. Did anyone get some thoughts from the company that had a Kext to disable dithering?
    4. Is there any way to find all options for com.apple.CoreGraphics.plist? Mine currently has DisplayUseForcedGray and DisplayUseInvertedPolarity. https://github.com/search?q=DisplayUseInvertedPolarity&type=code
    5. Did anyone look into the IsVRR of windowserver plist? I would guess that it is variable refresh rate. Can it be used to kill off the ProMotion variable refresh rate?
    • MYZ replied to this.
      2 months later

      async It won't be possible to disable temporal dithering on Apple silicon devices if the hardware was designed around the assumption, i.e. optimized, that it will always send and receive 10 bit signals.

      And it seems to be the case given the responses outlined by mirza.

      I'm not an expert in display design but basic semiconductor physics suggests that such optimization processes could be why the fancy HDR 1600 nit displays consume only moderately more energy then the older displays.

      The new macbook air displays might be a special case.

      It might not even be a physical piece of silicon that's limiting it, but even if it's in some obscure place like the firmware in an IC somewhere close in the pipeline to the screen, then it's effectively impossible to change without help from Apple, the panel manufacturer, the IC manufacturer, or millions of dollars in reverse engineering.

      And even if they do change it, it likely won't be retroactive on the existing M1 and M2 devices.

      Since there seems to already exist a solution for the Intel macbook pros, then I would advise just sticking to those until new Macs come with the feature, if ever.

        MYZ Since there seems to already exist a solution for the Intel macbook pros, then I would advise just sticking to those until new Macs come with the feature, if ever.

        Unfortunately Apple does not make new Intel ones anymore, and I fully expect them to drop macOS support for them in the future updates.

        Of course I advise never updating when you can avoid it as updates have turned working into unusable setups, but on corporate systems, such option is usually not available.

        I got new mac mini with m2 pro, and i still feel slight problems with my 8bit monitor. Its sad, but looks like their drivers that comes with apple silicon are not able to send 8bit signal anymore, only 10 bits, and thats a bad thing. But its just my guess.

        mirza Thanks for the effort. Especially the email to apple.

        So, I guess, when looking to buy a new MacBook, that I’m always going to be stuck with dithering, and the only thing I can avoid on one single MacBook is pwm (m2 air)?

        I also assume apple is never going to be able to fix pwm as that’s a hardware choice, but might be looking into the 8 bit option?

        I guess I’ll have to go for the m2 air then as only choice and hope it’s eye strain free.

        • MYZ replied to this.
        • MYZ likes this.

          Ruoma There are still some new in box 2019 intel macbooks on ebay.

          MYZ Not expert on macs but certainly internal display connection is more complex than screen being connected to gpu frame-buffer like most laptops. DCP is name of coprocessor that manages display outside of gpu and it is entirely possible that it could perform dithering regardless of what gpu does.

          Some say strain with Asahi is better so perhaps that could be useful of research - however given how difficult research of display outputs on 'classic' laptops is certainly not something I would wait on.

          6 days later

          This blog says that:

          However, display scaling comes with some significant caveats, including a blurrier picture, shimmering when scrolling, moiré patterns, worse GPU performance, and worse battery life if you’re using a laptop. Display scaling also undoes dithering, which can mean gradients aren’t as smooth.

          6 months later

          FWIW…

          For a long time I was staying away from newer Macbooks because when I purchased my 2019 16" MBP, it instantly gave me grave eyesore. The first days I could not figure out why my eyes were hurting and I thought I was getting sick as this is when that usually happens to me. But spending the first weekend without the new Macbook and getting the eyesore back instantly when opening the lid on Monday morning got me googling and discovering ledstrain.org.

          Eventually I figured out that SwitchResX+Millions of colors made the eyesore tolerable (not the same as my old computer but tolerable). Then I had a good chance to sell it so I did to gather some money to buy some M-series Macbook as I heard they are really quiet and fast.

          But as I occasionally got the chance to test drive some M1 and M2 Macbook Airs, which were given me to perform the initial setup and installation of software and data migration from users' older Macs, I learned that they were just as aweful as my MBP was out of the box, but SwitchResX wouldn't allow to reduce colors to millions of colors on them either, so I aborted the plan to go for M1/M2 and so I was stuck on my old 2013 MBP I had lying around.

          However, someone suggested me to try if the ProMotion displays on M1 Pro/Max were as bad on my eyes or not. Initially I dismissed this idea because I had already visited Apple shop to evaluate the displays of the new Macbooks and left the shop with sore eyes after 15 minutes.

          But the other day I had some spare time and I went there again. I started from 16" M2 Pro. I spent about 5 minutes on it, scrolling web sites and playing around. To my astonishment, I did not feel the usual uncomfortable feeling in my eyes, so I left the 16" MBP and went to 15" MBA and I could immediately feel the uncomfortness in my eyes.

          So I hunt down a nice offering for 16" MBP from eBay and ordered it. I have now spent about 3 weeks with it and I can tell that its display is way better for my eyes than the M1 MBA and M2 MBA I had briefly used before. But if the 2019 16" MBP and M1/M2 MBAs were giving me eyesores, this 16" M1 Pro is giving me a slight strain in my forehead, between my eyes but slightly above the eyelevel. And a liiitle bit of eyesore too. Like 1-2 of 10 if 10 is what my 2019 MBP was out of the box. I did not notice the strain in the forehead before with the MBAs but maybe it was because the eyes were hurting so much.

          So the M1 Pro MBP is usable, although not 100% perfect. I'd say that the bump in speed and it's "coolness" and silentness weighs up the slight strain in my forehead it gives me.

          Maybe this helps someone who has only tried MBAs.

            henno hi, I have had all the symptoms that you have mentioned. Currently I'm using M1 16 pro. Better display software utility is giving me relief. I suggest you to try this once. Create a dummy with resolution 1920*1200 low dpci, set brightness of that dummy to 60-70%. Then mirror that dummy to main display. Keep the main display brightness to 100%. In the display settings , for main display use genric RGB profile.

              karthi3219, it's heartening to see, in such a short span, that others are experiencing the same symptoms as I am. This indicates that my symptoms are not so rare, and there are many others in my exact situation. The response from Apple Accessibility quoted above gives me hope that this issue might receive the necessary attention and improvements will be forthcoming someday.

              I hope that someone, who can help make a difference, will stumble upon this post someday and help set things in motion that lead to Apple fixing this issue for us. So, if you, the reader, know someone working with the display or GPU technology at Apple or know just someone working at Apple who might know someone, please do pass on this message to them!

              I've already tried reaching out to various people at Apple and Nvidia who are experts in GPU architecture. I hoped they could make educated guesses on what might be causing these headaches and eyesores with newer Apple devices or what possibilities would there be to find a solution or workarounds. Unfortunately, I've yet to receive any response from any of them. I attempted contacting Barak Shahar, William Xu and Guanlan Xu (GPU design managers at Apple) and Tong Tong (Senior GPU Hardware Engineer at NVIDIA) via LinkedIn.

              I'd like to try the method you described, but I apologize, I'm struggling to understand your explanation. Could you provide more detail, or possibly run your instructions through ChatGPT to generate clearer versions of them, so that I could understand exactly what steps I should take?

                henno Sure, I will explain the steps in detail.

                Step 1: Download the application from https://www.macupdate.com/app/mac/63642/betterdisplay and install it in your mac

                Step 2: Open the application. Create new dummy

                Tools -> Create new dummy -> 16:10

                Step 3: Mirror the dummy to the main display. Check the checkbox " Set as Main Display" in the dummy screen section.

                In the application -> Under the dummy screen ->

                Mirror Dummy -> Select color LCD.

                Step 4: Increase the LCD brightness to 100%. Set the dummy brightness to 65%. Set the dummy resolution to 1920*1200. Uncheck the "High Resolution HiDPI )".

                Step 5: Open display settings and make sure the below color profiles are choosen.

                Display settings for dummy: Color profile should be choosen Generic RGB

                Display settings for in-built display:

                Thats all. Use this settings and see how you are feeling about it. I am feeling much comfortable and relief with this settings. You can play around with brightness of the dummy display & color profiles of Dummy and main display to find the best config for your eyes. Make sure your inbuilt display is always 100% brightness.

                  What version of macOS do you have? When I go to System Preferences > Displays, I see

                  And whenever any of the non-Apple color profiles are chosen on the main display, the brightness is reduced to quite dark and it is not changeable:

                  When I attempt to change the resolution with BetterDisplay, it jumps back to 100% after I change it:

                  and this 100% is not particularly bright. I can use it but in a brightly lit room, it becomes hard to see and I must switch back to Apple P3 in order to get some more brightness.

                    henno I think you misunderstood few things.

                    1. In the display settings - Don't use Built-in Display as Main display. Instead use the Dummy 16:10 as Main display. Built-in Display should mirror the dummy 16:10.

                    2. Built-In display brightness should be always 100%.

                    3. Adjust the dummy 16:10 display brightness according to your eye comfort. I find 65% brightness in dummy display is usable.

                    4. In the betterDisplay application - Set resolution of the dummy to 1920*1200. All other settings in your BetterDisplay should look similar to this below.

                    5. Display settings should look like below.

                    6. Display settings of the dummy should look like below.



                      MacOs version doesn't matter here. But sill for the reference pasting my os version here. Ventura 13.4.1 (c)




                    henno if you still couldn't setup, let us connect through Zoom. DM me.

                      The m1 pro 16" has an OLED display, which uses PWM. I am confused. I do not see how software might be able to disable PWM flicker?

                        caboy m1 and m2 macbook pro use a MINI LED display not OLED. The APP BetterDisplay can't remove the PWM but seems to do something to the dithering. Also, changing the color profile can modify the PWM frequency:

                          Lauda89

                          Thanks for clarifying.

                          Do you think this would work with a 13" Macbook Pro? From what I understand the 13" does not have PWM. I am not sure about that though.

                          dev