Flicker sensitivity accessibility - Temporal dither - how to disable it?
-
Hi dear UBports Community!
I am flicker sensitive, which means I experience significant discomfort from visually imperceivable flickers. This makes modern life very difficult with more and more technology using flicker in different ways.
Some background details:
The typical common cause of discomfort people with my accessibility condition have is the increasing use of PWM based dimming, which currently almost all OLED screens use. And transistor-stack based frame refresh brightness dips which currently to my knowledge all OLED panels have.
Unfortunately there is also a less well know pixel flicker completely software based called "temporal dither".
Its use is generally there to emulate a panel being able to use more color steps than it is natively capable of showing. Pixels switch between colors to show more sub shading of colors.
Unfortunately this also can cause discomfort to someone sensitive to flicker.
Flicker sensitivity is a recognized issue in neurology, particularly in connection with migraine, headaches, and for being able to cause seizures in severe cases.
Flicker-related accessibility issues unfortunately still receive very little visibility.
The issue:
I bought the Fairphone 4 with LCD screen and unfortunately it does use temporal dither on default. In the past I was able to disable that within Ubuntu Touch, but I seem not to be able to reproduce my success.
On Fairphone 4 running Ubuntu Touch, the Qualcomm SDE/DSPP pipeline enables temporal dithering by default. The dithering blocks are visible internally (dither_1, dither_2 in recovery registers), but there is currently no exposed runtime control (sysfs/debugfs/DRM property) I can see to disable them, nor documented panel DT options I can find.
I reset my phone and I cannot find anymore what I did to disable it. Does someone know what I might have done in the past and can point me in the right direction, or know if those options were removed in recent builds?
My knowledge is very incomplete so please have some patience with me.
If a developer active in Ubuntu Touch development reads this: I would be happy to support work that improves accessibility in this area (for example via a bounty or donation).