• Other
  • Disable Color Dither method collection

diop Unfortunately I do not see this hidden parameter for FramebufferCapri:

https://ibb.co/5RtdNR8

You may try to set Dither instead of mine DitherDisable

number = 0 to disable it, if I understood Framebuffer code correctly

But I can't promise results. Still worth trying.

  • diop replied to this.

    Gleb I am running Mojave 10.14.3 - would upgrading OS to Catalina change the drivers installed?

    • Gleb replied to this.

      diop

      In the meantime, I wonder if you install SwitchResX https://www.madrau.com/srx_download/download.html
      And reduce colors to Millions of color, instead of billions https://ibb.co/44P4CDQ

      AND, more important, in System Preferences -> Display -> Color, select Generic RGB Profile instead of Color LCD https://ibb.co/hXz3JmG

      Then it seems to disable (or at least reduce) dithering effects.

      You can verify it on gradient image http://www.lagom.nl/lcd-test/gradient.php
      It should look banded, not linear gradient as here: https://ibb.co/PY4PZ71

      Can you try it and share the experience?

      diop

      would upgrading OS to Catalina change the drivers installed?

      Not likely, they seem to bind specific Framebuffer implementation to specific device
      But worth a try. You can then send me your framebuffer kext so I can look into. Maybe, they added setting there.

      • diop replied to this.

        Gleb So initially after trying to follow the instructions I realised I didn't have Xcode installed. I tried to download from the App Store but it required that I upgraded AppleOS. So I've upgraded the system to latest Catalina.

        The Grep | Intel list looks the same > https://imgur.com/jjJorY8
        However when trying to allow permissions to the Directory/plist file it said something to the effect of 'read only directory'. I ran csr disable in recovery after the Catalina upgrade, so maybe there's another security feature that needs to be disabled first?

        I opened the plist file direct in Xcode here > https://imgur.com/HwYyZkD - but I couldn't find any FeatureControl option.

        I did change the colour profile to Standard RGB, but didn't install SwitchResX.

        Here is a pic of the test page > https://imgur.com/JLWqC1B - I can see a gradient which is strange.

        If there's anything you can suggest I will give it a shot - thanks for your help so far. (Glad to know it's working for you at least).

        • Gleb replied to this.

          diop
          You need to navigate deep in that plist file: IOKitPersonalities->AppleIntelFramebufferController->FeatureControl

          FeatureControl is a sub-section 3 layer depth from the root. See my picture again: https://ibb.co/dgqK0MS

          For the file permissions, you may try right-clicking on plist in finder->get info

          And add your account to this list

          • diop replied to this.

            fyi.. with AMD+Displayport you can turn off dithering in the control panel (select 6 bit color)

              reaganry
              Is this for windows only? Or there is some kind of AMD control-panel for macos?

                Gleb After a bit of searching online it appears that from Catalina onwards kexts have to be signed by Apple in order to work, also I think the file system changes mean system files are permanently read-only regardless of SIP being switched off.

                I downgraded to Mojave and installed Xcode - I made a slight mistake editing the plist and couldn't see a way to undo changes (doh) so will start over tomorrow and try again. Presumably I right-click FeatureControl and 'Add Row'? Then enter the details like you mentioned 'Dither' value '0'.

                Do the changes happen immediately after adding the line or does the system need to be restarted first?

                • JTL replied to this.

                  diop

                  diop Do the changes happen immediately after adding the line or does the system need to be restarted first?

                  I presume the later, I believe the kext plist is only loaded into memory when the kext is loaded, which a reboot would do.

                  I updated to Catalina (10.15).
                  I checked decompiled code for AppleIntelCFLGraphicsFramebuffer, and they still have DitherDisable hidden option

                  For Catalina there is additional step needed before they allow editing Plist inside kext:
                  sudo mount -uw /

                  I checked logs with command
                  log show --predicate 'processID == 0' --last 1h | grep Intel

                  https://ibb.co/TmCqKRb
                  and

                  log show --predicate 'processID == 0' --last 20h | grep Dither
                  https://ibb.co/WzjyHGH

                  BUT
                  I think things are looking a bit different.
                  Previously (on 10.14) when I was switching to High-Performance, I was noticing immediate changes in font rendering and color balance (they looked very strange on AMD).

                  Now there is no visual difference between Intel and Amd graphics. There are 3 possible reasons:

                  1. DitherDisable option is no longer working in my Framebuffer
                  2. Dithering is disabled for both AMD and Intel in the new upgrade
                  3. DitherDisable flag now controls BOTH integrated Intel and AMD.

                  I will need to look at my screen for a day to see how it works.

                  ever visited a good optometrist?

                  In the end, martin may be right about this, and I just have aging symptoms (I'm 28 now, work on computers since 6). The reason why I think this might be an issue: I booted Windows PC (with AMD 280x card), disabled\enabled Dithering in registry, and didn't notice any effect. Only thing I see is kind of visual snow (and that is the first symptom for CVS).

                  Also I wonder if @JTL is able to connect the capture card to one of DP output? And record video of signal from mac.

                  Also, if anyone here does have android eink reader, https://youtu.be/lWAsfZTUrJs?t=560 it might be possible to test screens for dithering using VNC (in theory, without buying expensive dasung). I will try to do such tests, but currently, I do not have eink on android.

                    Gleb Its not related to aging as much. Id still like tech solution but the vision therapy helped a lot too.
                    In switchresx, it seems millions of colors is actually a basic macos setting, and billions is something thats extra in that program. So switching to millions doesnt do anything different from the base macos setup - https://discussions.apple.com/thread/3614614
                    therefore wouldnt probably do anything with the dithering.

                    I tried to recap what changed in past year, and at some point (6-8 month ago) I changed display brigthness contrast to
                    Brightness = 100
                    Contrast = 30

                    That was because I was doing some web-design and couldn't distinguish between shades of gray. So I worked with MAX brightness for more than half of the year.

                    Reading about CVS (Computer vision syndrome) I realized that 100% brightness is too much - eyes are exposed to w-led which causes eye strain (?). Maybe it is the same as looking at the sun or a bright lamp

                    So I dropped my Brightness to 20, and raised contrast to 70:

                    Now, letter edges are sharper, and the overall perception of the screen is more relaxed. Also, I no longer notice visual snow.

                    Hope this advise will help.

                    Gleb I did a fresh Mojave install / installed Xcode and then performed the steps as above. Added a row with Dither > 0 and restarted. I don't think it has made any difference to be honest.

                    Are there any other kexts that need changing or any other way you know of that OS X enables dithering?

                    Also AFAIK the Intel linux driver is open-source. I'm sure others here would also be interested to know if a Linux dither-disable is something that could be implemented.

                    Basically our aim (or certainly mine) is to 100% disable dithering (be it Windows/Linux/or Mac) to rule out the negative effects that may be caused by it. We can't rule it out as the root cause of our problems as we can't knowingly disable it or know if/how it is currently in use.

                    • Gleb replied to this.

                      diop

                      So you put this setting inside your AppleIntelFramebufferCapri.kext? What I think about this: even if there is a notion of the setting, it doesn't mean driver code uses it. So maybe it is hardcoded, for example, to always dither.

                      It also happens for me on 10.15, I can't tell for sure that putting DitherDisable changes something (previously on 10.14 there was a definite shift of font crispness/color when switching to AMD).

                      I want some proof that dithering is on, but couldn't find any. I even did recording of what I see via remote desktop (VNC):
                      https://youtu.be/f1RiOukuKDg

                      Even there nothing changes when a picture is static. (There must be pixel dancing if dithering was on)

                      I might be getting a 50x Analog Zoom Camera to record individual pixels on video over this weekend. I no longer believe they are really jumping/morphing. It might be electricity AC that not static 220v, but varies from 200v to 240v in my apartment.

                      Maybe we are pursuing a wrong goal here, and the issue is in something different than dithering.

                      Can you share your experience? I guess it is Mac Mini connected to the external screen? If so, do you have issues when connecting this screen to a different computer? Is it easier on the eyes? Do you use the same cable between experiments?

                        Gleb "Maybe we are pursuing a wrong goal here, and the issue is in something different than dithering"

                        Not wishing to derail, but after doing a lot of testing on myself, and confirming with my own capture card - I am sensitive to dithering. But I am also sensitive to horizontally polarised light, dithering or no, a horizontally polarised LCD screen gets me every time. The common link between these two issues? as best I can tell its that both require extra visual processing by my brain to build a stable image.

                          Seagull Could you share a link on how to determine if LCD is horizontally polarized or not?

                            Seagull

                            Do you have a sample video from your capture card? Will it be possible to notice anomalies using a regular screen?

                              dev