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

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. :-(

      21 days later

      Is anyone working on this? This is an issue of the biggest importance, many people can't use Pixels because of the horrible screen flickering, Google slashed the frequency from 480hz in half with an update in 2023 so it can be done.

        Aaaa2137 It is unfortunate yes.

        But at the same time I do not know how much the existing Samsung manufactured OLED displays inside Pixel devices can be improved (as compared to others) and Google seemingly does not care enough to do anything to improve it.

        2 months later
        5 days later

        Not ignoring recent developments but something also to note. A phone repair store in Europe has listings for Pixel phone display assemblies that are labled as non OEM LCD/TFT and not OLED. Assuming its not simply mislabeled it also could be of interest. Unfortunately the most recent device they support is the 6a.

        Third-party LCD/TFT displays do exist for several models of iPhone but I was under the impression such a solution only existed because of the economy of scale.

        16 days later

        https://www.androidcentral.com/phones/google-pixel-8-pro-display-upgrade

        Here is a comprehensive tutorial on performing these on a stock Pixel 8 Pro.
        Maybe it is possible to compile GrapheneOS ourselves to set this display driver setting permanently?
        It would of course be a hassle every update to need to do the manual patching and compilation instead of relying on GrapheneOS OTA updates. Maybe a skilled developer interested in this can fork the grapheneOS repo, modify it and do a pull request to get it merged into master. It is unfortunatley way over my skill set.

          Expressing my support for improved PWM, it is tiring to read long time on these devices compared to others.