Pocket screen off after idle and can't get on again?

Sorry, I’ve only become aware of this thread now for some reason.

There are several different issues at play. As I have to jump into a meeting in 10 minutes, I’m just dropping some pointers here quickly:

  • There are two different “flicker” issues.
    • The one that @stephano mentioned is related to AFBC (ARM framebuffer compression) and happens in the GPU/Display pipeline and doesn’t concern the display panel itself. Lets name this the “AFBC flicker” issue. This only affects Mali systems, but i.MX8MP has a Vivante (etnaviv) GPU, so not affected.
    • There’s another flicker that I though happens only on Display V1, which looks like a faint “oscillation” in the image that stays around for like 30 minutes and slowly disappears. This happens when the panel is driven in a wrong mode, or doesn’t get a proper signal while it’s still turned on. I’ve made a fix for this in October 2025 but it never got merged because IIRC it caused some panels to not wake up at all: Draft: pocket panel: merge the two patches, attempt 1 to fix dispv1 flicker after disable/enable cycle (!140) · Merge requests · Reform / reform-debian-packages · GitLab · MNT Source
      • It’s very possible that a fix like this (about the proper sleep/power off/power on etc ordering) can help with Display V2 as well.

There’s another known issue about Display V2 that causes a grey background on half of the display and strange vignette-like effects. This happens on warm reboots or re-init of the display without a proper hardware reset. We’ve fixed this during a big System Controller rewrite that will be rolled out hopefully very soon now. The complicated part about this was that the SC needs to toggle this line, and the panel driver needs to depend on this line in device tree, so the SC driver also had to become a GPIO provider.

1 Like