[Android General] Tzul:
Auto-brightness sucks and slows down your tablet, here's how you disable it

What is AAL?

Quote from a MediaTek press release:

"Furthermore, specifically tailored for mobile devices, the all-important power efficiency has been addressed and boosted through the Ambient-Light Adaptive Luma (AAL) technology, which intelligently adjusts the panel backlight in response to the ambient light intensity and the displayed contents to simultaneously optimize battery life and viewing experience."

That sounds a bit like the auto-brightness feature that has been around for a long time. The screen's backlight is adjusted in response to values measured by a light intensity sensor. The crucial difference is that the light intensity sensor is read out only a few times per second (or even only once every few seconds) and as a standalone hardware unit it requires no or very little CPU power for operation.

The Lenovo Tab 2 A10-70 has no light intensity sensor (no, the camera is not used for this - thankfully). So what remains for AAL? The "displayed contents" ... that means there is some software permanently running in the background which analyzes the current screen contents. At a resolution of 1920x1200 it is guaranteed to waste some processing power.

Another difference is that the traditional auto-brightness feature can be disabled in Android's user interface, but AAL cannot.

Fortunately, you can disable AAL, in MediaTek's "engineer mode" app. This app should be preinstalled on all MediaTek-based devices, but it is not directly accessible. It can be launched by dialing a special number in the phone app / search field of the contacts app (*#*#3646633#*#*), or by other apps like GravityBox (Xposed module) or this one.

In Engineer Mode, the AAL setting can be found on the "Hardware Testing" page, but only if the device supports AAL, of course. Changing the settings requires a reboot.

In Engineer Mode, there are also many other settings to discover, e.g. audio volume settings, but since the app is not intended for end users, its contents are cryptic and not explained. I'd advise against indiscriminately messing around with everything there.

Anyway, I heartily recommend disabling AAL!

AAL is absolutely counterproductive to the objectives cited by the press release: "battery life and visual experience" - AAL makes both of these worse.

The automatic and unsolicited adjustment of the backlight has annoyed me from the beginning, and AAL makes some animations noticeably less smooth.

I made this video to demonstrate the issues.

Edit: I found out what the engineer mode app does to change the AAL state. It's just setting a simple persistent property. Can be done manually with this terminal command:

setprop persist.sys.aal.function 0

Requires root, i.e. a preceeding "su" command. 0 means disabled, 6 means enabled (this is actually a bitfield, covering three AAL functions: 1="LABC", 2="CABC", and 4="DRE"; 6 means CABC & DRE enabled, LABC doesn't exist anymore for Android 5).

Unfortunately, in Android 4.4, the AAL software does not query this property. It has no off-switch there, and no setting in the engineer mode app. AAL doesn't appear to have the same negative performance impact in Android 4.4 as it does in Android 5, but the changing brightness is still present and annoying. That's why I created a patch that disables AAL. Just "install" this zip file with a custom recovery (tested in TWRP). To undo the patch, just install again (it toggles the AAL state between enabled and disabled each time you execute it). Works with both A10-70F and A10-70L tablets.