Tested this app from my side. It doesn't work for me.

What I tried:

  • Regular usage of Macbook Air 15'' M3 without Stillcolor app: giving me slight nausea and weird effect at the back of my head, like tiredness after 15-20 minutes of usage.
  • Installed Stillcolor app on MBA 15'' M3. Tried. Nothing really changed. Same effect. Even on next day with fresh head, same results.
  • Connected MBP 14'' M3 to my external display 8bit monitor ASUS VG27AQ with Stillcolor app. Having almost the same effect.

Do you guys think that something can be different with M2 ? I'm pretty much sure it will not. Don't know what I can do else.

    DisplaysShouldNotBeTVs I am right with ya on how processing issues and all arise from bad devices. When I use a bad device I get bad brain fog, can't retain info have to keep reading the same thing over a few times, my iq feels like it drops significantly like I'm a zombie but I also get anxiety, depression, OCD/adhd like too. There's many more symptoms too but those are the bigger symptoms. all those symptoms go away completely when I go screenless. I'm sure many others are suffering with these symptoms too with it being screen related but no one would really even connect it to their devices/lights 🤯

    I'm still on the hunt for good devices

      madmozg might be FRC or some other visual enhancements still present. From what I read above someone else found other things to disable within the OS that could help. Maybe try still color again after the dev updates it with the new findings added to it 🙂

      DisplaysShouldNotBeTVs can you try measuring the display with both Stillcolor enabled and BetterDisplay dummy/virtual display mirrored to the physical display? BetterDisplay dummies try to render 8-bit

      I did try this, but didn't have noticeable reduction in flicker under the microscope. Though, I am still trying to track down the exact source of this flicker.

      madmozg what is the output of the command

      ioreg -lw0 | grep -i enableDither

      NewDwarf Ok. I do not want to kill a drive to get a working solution, lets try everything possible. Just saying for anyone who have high workloads, do not over-commit to alpha solutions 🙂 as it might hurt a bit 🙂

      jordan My go to solution is ubuntu 22.04. It gets better quite quite quickly. Recommend getting some old crappy thinkpad or elitebook for 200-400 usd and have linux machine always standing by if needed. You can even tweak wifi transmit power and many other settings. This is a total savior for me, gets me grounded very quickly. But of course quality of software and apple silicon optimization is incomparable to it. I guess that is why people keep pushing so hard to get a solution.

        madmozg I have a MBA 15" M2 with macos 13.5 and disabling dithering doesn't fix the migraine problem. But for others is working so i am glad that this app existed.
        Maybe we are sensitive to other display quality enhancer and we need to disable something else like @DisplaysShouldNotBeTVs is trying to do.
        Keep going guys 🙂

          Donux Recommend getting some old crappy thinkpad or elitebook

          Yeah even though I'm trying to mess with my M1 device my old Lenovo laptop is still my current solution for my main portable device.

          (However, surprisingly enough, my M1 MBP now produces the best output on my external monitor, compared to all my other devices, after installing Stillcolor. The monitor still has built-in FRC unfortunately, but is actually pretty comfortable now for certain tasks when using it with Stillcolor and the M1 Mac. Also using USB-C to the monitor's DisplayPort input, not HDMI.)

          However I run Windows 8 on it, running Ubuntu 22.04 on the Lenovo I actually notice a very significant temporal dithering effect but can totally fix this running ditherig.exe on Windows. And to remain connected to the software of macOS, I simply remote desktop into my Mac from the Lenovo 🙂

          Also for me wifi settings are not relevant, not sensitive at all to whatever you're referring to here. My productivity is tied directly to display/GPU/rendering, nothing changes for me messing with things that aren't related to the screen. It's the moment I'm on a good screen that stuff immediately improves for me.

          Lauda89 I have a MBA 15" M2 with macos 13.5 and disabling dithering doesn't fix the migraine problem.

          What is the output of the command?

          ioreg -lw0 | grep -i enableDither

          Maybe the dithering property is set with the error? Did you check the return code?

          aiaf Transform your video input.mov in Terminal with this command:

          Could you please describe the idea of this method as I didn't get it?

          …we use the time blend filter in the grainextract mode. According to ffmpeg specification the grainextract mode "Display differences between the current and the previous frame".

          The main thing which is not clear for me is how the input file (input.mov) being processed reveals temporal dithering? Each frame is processed programmatically and ffmpeg does diffs between the consecutive frames. The video frame is not even placed in the video buffer of the graphics card

          aiaf Dithering happens at the refresh rate

          And how did you figure out this?

            Lauda89 sorry to hear.

            Well, I guess the best would be to have a reliable and easy to perform testing procedure. So we are sure that the changes are based on facts rather than feelings or even placebo.

            Having said that I want to share some of my nonscientific experiences.
            Before using StillColor I noticed that OS/software-wise not only OSX's dithering is the problem. Running some apps make the pixel flickering worse.

            • I cannot use Firefox or Chrome. Both are hard to read and I result to using Safari now
            • Blender 4.0.0 is better than 4.0.1 ( both Apple Silicon )
            • VisualStudio Code is good until I install the vim-Plugin. That makes the screen flicker even more, not sure why. Using the vim-Plugin with nvim as a backend works however. ( the problem with the vim-plugin is even true on Linux )
            • When using tmux ( terminal multiplexer ) the screen seems to be more straining than without. So I need to work with multiple terminal windows or use the one within vscode.
            • being on a video call in Zoom made it worse ( true on Windows, need to retest on OSX )
            • some background tasks seemed to make it worse also
            • and even having some apps from the appstore installed ( but this might just be a feeling, not sure if this is true )

            So, my suggestion would be to turn off any background tasks ( also auto updaters ), and remove any apps from the AppStore that you do not need.

            Hope that helps.

            It was a long process for me and I think I found something now that I can use for work. Cheers

              NewDwarf The main thing which is not clear for me is how the input file (input.mov) being processed reveals temporal dithering? Each frame is processed programmatically and ffmpeg does diffs between the consecutive frames. The video frame is not even placed in the video buffer of the graphics card

              input.mov is a capture of an HDMI frame buffer. An UltraStudio Recorder 3G was used to capture that buffer.

              You can tell the frequency of dithering by counting the frames between changes. The time blend is the isolated temporal dithering signal. So if every frame has a different pattern, we know the dithering occurs in sync with the refresh rate.

                Blooey How to interpret results after capturing the static screen via HDMI?

                What will be on the diff.mov in the case of temporal dithering?

                ADDED: It looks like, the captured static screen (without dithering) after processing will be just solid gray color.

                  NewDwarf What will be on the diff.mov in the case of temporal dithering?

                  It will show the difference in sub-pixel brightnesses between the dithering noise from this frame, and the previous frame, where middle gray is the zero value. So to be more accurate, this is not the actual dither signal per frame, it is the difference between the past two dithering signals. We are assuming that this noise pattern is an FRC color dithering pattern intended to increase the panel bits per color.

                  To get into the weeds a bit, I think it is unlikely that Apple is using an accurate color dither across pairs of frames. My guess is they would use a simpler approach that applies a standard spatial dither, but re-randomized per frame. Over time, this would approximate an accurate per frame color dither.

                  The diff.mov shows each sub pixel rise, or fall in brightness, or do nothing. All by a single 8 bit integer value. To be fair, I haven't looked closely at those files yet. But this should be the case. Whether the output rises or falls is determined by a standard color dithering algorithm.

                  A good algorithm would be to first convert the 10 bit color value to 0-1, then multiply that by the number of brightness steps available native to that display. So if we are converting to an 8 bit native display, that is 255 steps. Then, you add to this value a random number from 0-1. Then convert that sum to 8 bits. The 8 bit conversion chops off the remainder. What you are left with is a seemingly randomized 8 bit brightness value, that amazingly still can contribute to a 10 bit signal. We can extract and display the exact 10 bit value by repeating and displaying the output of this algorithm over time (temporary). If the frame rate is fast enough, you can achieve the 10 bit precision again. The other extraction works spatially across pixels, but that is not the focus of Stillcolor.

                  deepflame I too have noticed this phenomenon. My current Machine, a 2017 13 inch Macbook Pro (no touch bar) was pretty much fine with all versions of Mac OS through Catalina. Starting with Big Sur, I had issues with different OS versions and versions of browsers and apps. I couldn't use Big Sur or Monterrey on this machine at all. I am now on Mac OS Ventura and as long as I set a black wallpaper, disable wallpaper tinting of windows, and also use the "green" accent and highlight color that is default on the green M1 iMac I do OK with the OS and most apps.

                  The main sticking point has been browsers. I pretty much exclusively used Safari through version 13, but versions 14, 15, and 16 on Mac OS caused migraine aura like symptoms. 17 is somewhat better. But I migrated to using Firefox with dark mode, dark theme, and gfx.color_management.mode = 2. I also use the ESR version because I've noticed on the main branch they tend to add and break stuff that sometimes effects the graphics rendering. ESR is more stable - I've rarely had an issue with it.

                  The only explanation I can come up with for all of this is that sometime around the Big Sur OS release and Safari 14, they started making use of wide color in web rendering and also in some OS and app graphics. This caused my previously good mbp to dither more using certain colors and start to cause issues - unless I use certain settings? But I don't really know.

                  I am fine with the M1 iMac (even on default settings, even in Safari - except I still use green accent color) and also the M2 Mac Mini and studio display (even with Safari and use the default accent color). All of the Apple Silicon laptops so far have bothered me in one way or another.

                  Blooey thank you, it's very helpful.

                  deepflame this is great! I'm glad to hear it's working for you. Re. iOS, I don't see why a similar solution wouldn't work if indeed dithering is toggled via the same mechanism. We just need to get there. I think @DisplaysShouldNotBeTVs is working on something.

                  asus389 this is the million dollar question. Waiting for someone with a true 10-bit display to try it out and measure things. If it indeed turns off dithering in response to a 10-bit panel, that would be amazing. In fact, you don't even need a 10-bit display, TRUE 8-bit (which seems tricky to find also) with Stillcolor should suffice.

                  jordan which ViewSonic model is that? They released a new VX2781-4K-PRO-6 with IGZO IPS panel in China a few days ago which claims to be true 10-bit!

                  madmozg the mechanism is the same across all M-series Macs. It disables the enableDither property and with that the GPU/DCP stops applying temporal dithering to the pixel buffer. Try using an sRGB color profile and see if that makes an additional difference. Did you enable Launch at login? The app needs to run every time the computer starts.

                  NewDwarf @Blooey explained it very nicely. The main thing to note is that Apple's GPU/DCP applies temporal dithering to the pixel buffer way before it even touches your HDMI/Thunderbolt port. That's why you can capture all of this with an HDMI capture card.

                    aiaf I have seen the desktop Pro Display XDR cited as being true 10 bit, but I have no way to verify. Its also Mini-LED which I think would complicate things.

                    madmozg Also, if you can tolerate the smaller scale of the UI and text, try setting your display scale setting to the option that is exactly 200% retina scaling (this is not the default for some reason), rather than one of the other scaling settings. This should eliminate some blurry/shimmering text.

                    The built in display in my 2017 MBP shows:

                    Color LCD:

                    Display Type: Built-In Retina LCD

                    Resolution: 2560 x 1600 Retina

                    Framebuffer Depth: 24-Bit Color (ARGB8888)

                    Does anyone have the equivalent M1 or M2 13 inch Macbook Pro? Or even a newer than 2017 intel 13 inch? Does it report 8 bit color by default or is it 10 bit? Does this change if you use StillColor? IIRC they used the same basic panel all the way through the end of the 13 inch w/ and w/o touchbar models. But maybe not?

                      dev