DisplaysShouldNotBeTVs

Videos: https://www.dropbox.com/scl/fo/0p4yxanhwgdzfkh6glaf1/AGj2zhDGrb5vWyqB7zyimO0?rlkey=eedmt5vc2i3si98iv2n18940a&dl=0

On second thought, the difference is subtle. The base model I measured at 510 nits max brightness and the other "bad" unit at 470 nits.

Both are refurbished and running 10151.101.3 as system firmware version. Any way to fix the bad one by changing firmware? Where do I find the raw-panel-serial-number?

I was testing using 1440x900 and I don't see a difference by using 1280x800 for pixel flicker. True tone and auto brightness off on both.

    photon78s Where do I find the raw-panel-serial-number?

    run ioreg -lw0 | grep -e "panel-serial-number" in Terminal

    Here are the two raw-panel-serial-numbers from the two M2 TB MBPs for reference…

    First (had really noticeable color uniformity issues, yellow tint, looked slightly blurry to eyes, but still usable, whites backgrounds look VERY greenish on right side of screen):

    F0Y235201ADNTJGAW+000000000P11C5+PROD+Y000000000000+00000000000000000000000000+PY19N0709PA07N0717+6755DKF4P9002214TTTYYW1EA80526916+S6896893Z8S6896893Z8S68968932US6896893

    Second (current, appears much sharper, very uniform colors, NO yellow tint, white backgrounds look "ever so slightly" more greenish on left side of screen)

    Edit: WARNING after using this FMX panel for a week it actually gives me a lot of strain, despite being more uniform. Avoid the FMX panels, the panels with lots of 00000000 in them are more comfortable.

    FMX229114YDNTJHAM+GE1S2405893931+PROD+B214121852196+11228722228722228722228710+K12120392K12220403+645052209KW80A00TTCYYGAHN62628520+S252891HR1S252891HR1S252891HR1S252891H

    Which type of serial number does "the one you have that flickers" have?

      DisplaysShouldNotBeTVs

      The above one with the zeroes with this unit also ending in 6896893. The slightly blurry to eyes sounds close to what I was experiencing.

      DCN230500YSNTJGA8+000000001P17E3+PROD+Y000000000000+00000000000000000000000000+L02120504L12220532+6760DKF3W4002214TTTYYW1FB71227806+S68968930KS68968930KS68968930KS6896893

      My good screen is your first screen type as well:

      F0Y24450298NTJGA2+000000003S02H4+PROD+Y000000000000+00000000000000000000000000+PX15N0804PX23N0921+6755DKK0W3002224TTTYYW1EB92420277+S68968957WS68968957WS68968952VS6896895

        photon78s Interesting… so both of your panel IDs have the long strings of zeroes (but differ in other ways instead) but you're saying one of them flickers and one doesn't. That's really strange, good to know

        To be clear, you're saying the one that ends with VS6896895 does not flicker? And the one that ends with KS6896893 does?

        Others with M2 TB Pros have also posted their panel IDs in this thread and the long string of zeroes seems to be a common theme…

        However, that means that my second M2 TB Pro panel that doesn't have the zeroes at all is probably a really rare type of panel… considering that no one else has posted a panel ID that looks quite like my second TB Pro's yet.

          Could someone share a command to extract panel id?

            async No i am not.. and i am pretty new to the mac world 🙂 I will wait don't worry! Thanks

            Here you go, Macbook Air m2 13 inch, "raw-panel-serial-number" = <"FP1241306KN1J8CAZ+5A2A280724A5HD+PROD+Y237323742384+66241136241131241215241210+K52920681Y82120817+6861A2224KL3N400M24HT2347A29M3729+S28E6898BKS28E6898BKS28E6898BKS28E6898">. I guess I have no zeros, but panel is really intensive over time. Basically unusable, only for quick glimpses. But GPU on external monitor also causes neurological tension.

              Donux we've been talking about the M2 Touch Bar MBP, not the M2 Air. The serial numbers for M1/M2 Air are entirely different and not really relevant to what we're talking about.

                DisplaysShouldNotBeTVs Maybe that good panel was a replacement at some point in it's life. If so, you indeed won the panel lottery!

                DisplaysShouldNotBeTVs

                VS6896895 is the base model that does not flicker. I would say the flickering one is not that bad. Its a subtle difference.

                Maybe we should split out the MB Pro TB panel serial number discussions into its own thread for analysis/sharing/discussion of this specific issue. I have two more of these machines coming, so I'll have three total serial numbers to add to the discussion by next week.

                (Kudos to DisplaysShouldNotBeTVs for bringing these machines to everyone's attention, btw. They're great.)

                Donux yeah it seems like the issues with M1 Air and M2/M3 Air are all about that slight PWM-like flicker that is most visible on dark grays through a 240hz slow motion recording (but can also be seen on whites TOO if the camera exposure is turned down a ton! which makes me think it's not dithering).

                For reference, on all the Apple Silicon laptop, Stillcolor doesn't affect this specific flicker issue — it doesn't matter whether it's installed, enabled, disabled.

                The PWM-like flicker is always there on M1/M2/M3 Airs. It's always not there on the M2 Touch Bar Pro.

                it's really obvious that it's a significant factor to strain, because whenever a dark background shows up on the Airs I immediately feel weirdly tired, a bit "smudgy" looking or like I have to readjust. sometimes I can get used to it, but then when I later go back to a light mode screen I have to readjust yet again.

                even my very usable and generally "stable-feeling" Intel 2015 12" MacBook shows the same flicker on camera, and I notice that I have the same issue with dark colors on that screen too! I realized recently that I also have trouble adjusting between light and dark pages on that machine despite this old Mac still being usable and "dither-free" enough to be productive on for the most part! This is what made me really nail down this PWM-like flicker as the culprit…

                because on the other hand, on the M2 Touch Bar Pro which is one of the only Macs I know that does not show this flicker…

                on the M2 TB Pro, dark colors feel the exact same as light colors, even apps with dark modes that i usually hate looking at (like the weird "low-contrast" dark modes used in many Google apps) feel very crisp and "well-defined" on this panel. I don't feel "tired" at all when the color scheme suddenly shifts. I also feel like I have "more freedom" in which color schemes and wallpapers I use, darker areas of wallpapers don't "distract me" as much.

                I've already used many wallpapers on this M2 TB Pro for entire days without thinking much about it — that usually, I would have an urge to "stop using" after only 30 minutes of having them in the background on other laptops and monitors.

                the best metaphor I can use to describe this…

                On a screen that has this "dark gray flicker issue" like the M1 Air or even a usable machine like the 2015 12", if I set a code editor theme with low contrast grays and purples, it "gives off the vibe" of walking through a sleepy lavender flower field at 100 degrees outside while having really bad allergies. Of course I don't mean this literally LOL but hopefully you get the point.

                On a screen without the dark gray flicker on camera, like the M2 TB, the same code editor theme feels like that field but it's after the nicest spring rain ever, it's colder outside with fresh air, the stone pathway (AKA the gray background) has that "wet" smoother dark gray appearance to it, the flowers (AKA the color-coded fragments of code) sparkle independently in crisp and "distinct" colors instead of "hazily blurring together".

                Both laptops at max brightness, both the M1 Air and M2 TB have Stillcolor activated, no True Tone or Night Shift, same color profile.

                This seems to be mostly independent of whether a screen uses temporal dithering or not (however, temporal dithering definitely can make it worse).

                Putting the "dark gray flicker on camera" (M1 Air) and "no dark gray flicker on camera" (M2 TB) screens side by side, the colors I'm actually seeing are calibrated to nearly the same brightness and color temperature — but I feel completely different while looking at dark user interfaces on them. I generally feel like I can "process more distinct colors all at the same time" on the "no flicker" screen (the M2 TB Pro).

                Unfortunately I am not experienced in any significant way with macOS system internals, so I do not know if it is possible at all to prevent this flicker issue on the screens that are affected by it.

                I actually tried messing with as many IOMFB registry properties as I could on both the M1 Air and M2 Air, recording dark gray on camera every time, and none of them would stop the flicker on either laptop.

                But the M2 TB Pro doesn't have the flicker to begin with!

                I also still don't know exactly why the M2 TB does not have the issue. I'm kind of doubting that it's at the OS level, it's probably something to do with the display controller, TCON, or the panel itself.

                I'm leaning towards "display controller or TCON" because now we've seen many M2 TB Pros in this thread, some with very different panel serial numbers, and none of them have the flicker issue on camera on any shade of dark gray.

                On the other hand, all M1/M2/M3 Airs seem to have it to a degree. Even some people I've seen here who thought their Air "didn't have the issue"… after recording it on max brightness and dark gray, they realized their Air actually did have the issue!

                  DisplaysShouldNotBeTVs Did you try to mess with this? Might be possible to disable, or change it to your least favorite color. If it is related that is.

                  ioreg -l -d0 -w0 -r -c AppleCLCD2 -a \
                  | sed -e '/^\t*<data>/,/^\t*<\/data>/ { /^\(\t*\)<data>\(.*\)/ { s//\1<string>_data:\2/; h; d; }; /^\t*<\/data>\(.*\)/! { s/^\t\(.*\)/\1/; H; d; }; /^\t*<\/data>\(.*\)/ { s//\1:data_<\/string>/; H; g; s/\n//g; }; }' \
                  | plutil -convert json -r - -o -| grep -i gray

                  Lots of these ATP values. Apple Panel Technologies?

                  | plutil -convert json -r - -o -| grep -i APT
                      "APTDefaultGrayValue" : 255,
                      "APTDevice" : true,
                      "APTEnableCA" : true,
                      "APTEnableCDFD" : false,
                      "APTEnableConfigExpired" : true,
                      "APTEnableDefaultGray" : true,
                      "APTEnableEvents" : false,
                      "APTEnableLogs" : false,
                      "APTEnablePRC" : true,
                      "APTEventsMask" : 0,
                      "APTFixedRR" : 0,
                      "APTLimitRefreshRate" : false,
                      "APTPanicOnChargeOOB" : false,
                      "APTPanicOnChargeParity" : false,
                      "APTPanicOnStuckPolarity" : false,
                      "APTPDCEnable" : true,
                      "APTPDCEnablePM" : 1,
                      "APTResetCA" : false,

                  I also still want to see someone try to modify this. I didn't find out how to edit hierarchical values.

                      "BacklightMatching" : {
                        "IOPropertyMatch" : {
                          "backlight-control" : true
                        }
                      },

                    The APT options does something. This is weird. Confirmed with Quartz Debug.

                            "APTFixedRR" : NSNumber(5),
                            "APTLimitRefreshRate" : true,

                    This is weird. Setting this to different values causes different refresh rates:

                    0 - 60
                    1 - 60
                    2 - VRR Minimum 75
                    3 - VRR Minimum 80
                    4 - 60
                    5 - Fixed just below 50
                    6 - Fixed at 40
                    7 - Unstable just below 35
                    8 - Fixed at 30
                    9 - Unstable right above 25
                    10 - Unstable below 25
                    11 - 60

                    Maybe it affects other things that makes it easier to capture as well.

                      async iirc, I tried all of the APT properties in the IOMFB registry that were possible to change, none would stop the dark gray flicker

                        dev