• General
  • Flickering OLED screens on Google Pixel smartphones (PWM)

matemo Apparently, even in Fairphone 5 smartphones, the DC Dimming option has been added

Was DC dimming also added retrospectively to the FP4?

    matemo It seems as if the possibility of DC dimming depends on screen hardware. If we don't know whether modern Pixel screens do or do not support DC dimming, it is unknown whether or not there is anything for theoretical software to theoretically enable.

      de0u Of course, I agree with that. But it is still possible to reduce the PWM, I did an "experiment". If you want, you can compare the first and third photo: https://postimg.cc/gallery/cY1vXX5
      P.S The first photo shows the default PWM (at 100 percent brightness, which can be set by the user)

      de0u And, as in the 2nd and 3rd photos, this cannot be done for long term use manually (only possible on the firmware or kernel level)

      9 days later

      It would be good if some programmer checked this problem. Xiaomi and even realme have DC dimming options. The Pixel 6a has a really bad display in terms of flicker.

      24 days later

      I too am annoyed by the PWM on my 6a. The only thing I could do was set the screen brightness manually above 50%. The flicker above 50% on the 6a pixel stabilises a bit so it alleviates the situation. But further than that it's just a relief. And I set a bright theme to tire my eyes less when reading. The weak thing is that google and Samsung don't give options to improve flicker. Motorola has much better displays in this respect. And xiaomi and other Chinese brands add DC dimming.

      matemo Have you tried enabling the nightshift / night light to run 24/7? It tints the screen and makes it much easier on your eyes. I have to enable this on everything, otherwise I'll have a migraine.

      a month later

      So, as it turns out, there is a "High Brightness Mode" for OLED screens. But it cannot be enabled without root. (or if such a switch is not added on the Graphene OS side)

      For this reason PWM was reduced alot when playing HDR video. You can see it in the pictures in some of the posts above.

      Developers can add a switch so that those users who need it can enable "High Brightness Mode", which will help to increase brightness and thus reduce PWM by more than 50% for sensitive users (on maximum brightness).
      And "High Brightness Mode" won't be a problem for everyday use. There are apps that overlay a dimming filter to adjust brightness, such as PWMFree. So there will be no need to use the system brightness slider. The main issue is to reduce the PWM. It's better than nothing.

        I have read a lot of articles and watched a lot of videos about PWM in general and pixel 6a. In addition, I compared the pixel screen with Oneplus 8, which has PWM but with a higher frequency. My conclusions so far are:
        -The OP8's screen flickers in the worst case at a frequency of approximately 240hz to a maximum of 360hz below 100% brightness. Pixel screen from 120 to 240Hz.
        -I can use the OP screen without eye pain at any brightness level. In pixel, no.
        -According to Radex, the Pixel screen flickers at a maximum brightness of about 30% on a white background and a little more in color. The ideal result is said to be below 5%. And here's an interesting thing - the screen at 75% brightness also flickers around 35% according to Radex. Brightness levels of 50 and 25 percent are the worst with a value of 130%.
        -I can use Pixel 6a quite comfortably when:
        Set the brightness manually to 75%.
        Set it to light mode.
        I will increase the font size because by default it is set quite low, I don't know why.
        Set additional dimming in the settings in the Accessibility tab. You can dim the screen without changing the screen brightness value by swiping with two fingers from the bottom of the screen.
        Conclusions.
        The screen in Pixel 6a has poor PWM, but other Pixel models have similar ones, even the Samsung s23 ultra with its 120Hz display has PWM at 240Hz. Apple, Google and Samsung don't care about it. Only Chinese brands try to combat this, either through DC dimming or much higher flicker frequencies.

          I'm curious how the screen would behave if it had a refresh rate of 90hz. There is a modification, but it is not very stable. Some sources say that the screens in pixel 6 and 6a are the same, only in 6a it has been reduced to 60hz.

          matemo So, as it turns out, there is a "High Brightness Mode" for OLED screens. But it cannot be enabled without root. (or if such a switch is not added on the Graphene OS side)

          Can you provide a link to documentation about this?

            de0u Documentation is hard to find, but there are many sources of information that confirm this.

            1. For example, there is a paid app made by good developer - Flar2, that helps to enable this High Brightness Mode, and works on Google Pixel devices (but only with Root)
              https://play.google.com/store/apps/details?id=flar2.hbmwidget&hl=en_US
              (Description from Google Play -Supports Pixel 4, 5, 6, 7 and 8 series (requires root)
              -Supports OnePlus 5, 6, 7 and 8 series (requires root)
              -Supports most (not all) Samsung devices without root )

            2. My photos proving the existence of this mode https://postimg.cc/gallery/cY1vXX5
              (PWM decreased and brightness increased)

            3. Commands that require root, they enable this mode (atleast on Pixel 6 Pro, but can also work on 6a and other models) -
              echo 1 > /sys/devices/platform/1c2c0000.drmdsim/1c2c0000.drmdsim.0/backlight/panel0-backlight/hbm_mode
              echo 1 >> /sys/class/backlight/panel0-backlight/hbm_mode
              echo 2 >> /sys/class/backlight/panel0-backlight/hbm_mode

            4. And there's also an article about it https://hothardware.com/news/google-pixel-4-high-brightness-mode

            I think that it is not a difficult thing to implement such a simple switch in GrapheneOS, because Pixel devices already supports High Brightness Mode.

            Javcek Thats very useful information, thank you. And I agree with you, its very frustrating and upsetting that most manufacturers don't care about it.

            Victus
            This article suggests setting the PWM-frequency through software is possible, on Pixel 8 Pro. Since the frequency was changed with an update from Google then it would hopefully be a relatively small task to study the code changes and revert it.

              TrustExecutor It is interesting what you say. Why would they deliberately lower the flicker value? Maybe it's about the quality of the colours displayed. To make the screen more candy-like regardless of brightness.

              4 months later

              Something that may be of interest is for some models of iPhone that come from the factory with OLED displays there exists third-party replacement displays that are LCD. Unfortunately other than anecdotal feedback on 'comfort' no one with equpment has attempted to measure to which degree they may flicker.

              Guessing the reason they exist is in part due to the economy of scale of iPhone and engineering such a solution is not viable for Pixel devices.

              a month later

              This is an unfortunate and unsurprising development.

              The only way I see this being solved involves either an independent researcher investigating the functionality of the display controller to conclude if the PWM parameters can be adjusted or someone with sympathetic engineering contacts inside Google or Samsung can do something about this. :-(