phhusson / treble_experimentations

Notes about tinkering with Android Project Treble
3.38k stars 655 forks source link

[Mediatek devices] Night Light flickers in some submenus #1230

Open TTTT555 opened 4 years ago

TTTT555 commented 4 years ago

The screen flickers (changes hue when touched) https://pastebin.com/wcuZyPJX

ElijahCuff commented 4 years ago

I've been tackling this issue on Multiple CPU at XDA Android 9 Brightness Issues - XDA Developers

TTTT555 commented 4 years ago

I've been tackling this issue on Multiple CPU at XDA Android 9 Brightness Issues - XDA Developers

system/system/bin/aal - nowhere is this

ro.vendor.mtk_aal_support=0 persist.vendor.sys.mtk_app_aal_support=0 gives nothing

log: 05-21 20:43:25.600 986 1099 D AAL : onBacklightChanged: 24/1023 -> 0/1023(phy:0/4095) 05-21 20:43:25.600 986 1099 D AAL : onBacklightChanged: change screen state 3(On) -> 0(Off) 05-21 20:43:25.600 986 1099 D AALLightSensor: AALLightSensor setEnabled 0-->0 05-21 20:43:25.610 1306 1348 D ActivityTaskManager: Top Process State changed to PROCESS_STATE_TOP_SLEEPING 05-21 20:43:25.617 968 968 I android.hardware.sensors@1.0-service-mediatek: sensor hidl activate handle(20) enable(0). 05-21 20:43:25.618 968 968 I SensorManager: activate: connection=0x7a62e064b0, handle=0x0000001a, enabled=0, count=1 05-21 20:43:25.618 968 968 I SensorManager: activate disable index=0 05-21 20:43:25.618 968 968 I SensorManager: activate>>> actuating h/w activate handle=26 enabled=0 05-21 20:43:25.618 968 968 I Situation: enable: handle:26, en:0

05-21 20:43:25.618 986 1099 D AAL : 05-21 08:43:25.602 BL= 0,ESS= 256, 05-21 20:43:25.619 1306 7670 I GED : [GT]_get_procNameprocess pid(1306) 05-21 20:43:25.619 1306 7670 I GED : [GT]_getprocess name(system_server) 05-21 20:43:25.619 1306 7670 I mali : [GT] ret(1) gt_status(00000000) aniso_debug_level(0) gt_aniso_max_level(16) ani so mask(00000001) tri mask(00000002) 05-21 20:43:25.631 1306 1348 E libEGL : call to OpenGL ES API with no current context (logged once per thread) 05-21 20:43:25.631 968 968 I android.hardware.sensors@1.0-service-mediatek: sensor hidl activate handle(6) enable(0). 05-21 20:43:25.631 968 968 I SensorManager: activate: connection=0x7a62e064b0, handle=0x00000004, enabled=0, count=1 05-21 20:43:25.631 968 968 I SensorManager: activate disable index=0 05-21 20:43:25.631 968 968 I SensorManager: activate>>> actuating h/w activate handle=4 enabled=0 05-21 20:43:25.631 968 968 I Light : enable: handle:4, en:0

Only "Force GPU rendering" in Developers settings helps...

Cyberavater commented 4 years ago

Only "Force GPU rendering" in Developers settings helps...

I don't see this in the Developer settings. I'd really appreciate it if someone could fix this Issue.

phhusson commented 4 years ago

Option is "Disable HW overlay"

Le dim. 21 juin 2020 à 21:42, Cyberavater notifications@github.com a écrit :

Only "Force GPU rendering" in Developers settings helps...

I don't see this in the Developer settings. I'd really appreciate it if someone could fix this Issue.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/phhusson/treble_experimentations/issues/1230#issuecomment-647172471, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAA4OSYRGPE7X6Y4H5RRNTRXZPDPANCNFSM4L63MZFA .

Cyberavater commented 4 years ago

"Option is "Disable HW overlay"

Thank you so much! ❤️

Cyberavater commented 4 years ago

@phhusson Sorry to disturb you again, but it seems like I need to manually disable it every time I reboot, can't you make a permanent solution to the rom since it has been already figured out?

phhusson commented 4 years ago

You should also have the "Disable HW overlays" inside treble settings => misc, which should be permanente. But please note that Disabling HW overlays really isn't a fix, because it'll eat more battery.

DennisFederico commented 3 years ago

Hi @phhusson

I'm wondering if the removing the "Advanced Adaptive Lighting" as suggested in this post (https://forum.xda-developers.com/android/general/android-9-brightness-flicker-solutions-t4082193) would solve the problem... I honestly don't know (yet) how to make such change.

Is that something you would be able to guide me to?

Regards

dsclee1 commented 3 years ago

I can confirm that setting the following 2 props seems to remove the flicker.

ro.vendor.mtk_aal_support=0
persist.vendor.sys.mtk_app_aal_support=0

I set them in Magisk as custom props using the "MagiskHide Props Config" module.

I'm yet to find out what the impact on battery life will be (if any).

dsclee1 commented 3 years ago

After a day of use I would say my battery life has actually improved, and screen scrolling seems smoother.

phhusson commented 3 years ago

Thanks. I'll see to add it as a toggle in treble app, or as default idk

Le sam. 31 juil. 2021 à 14:42, David @.***> a écrit :

After a day of use I would say my battery life has actually improved, and screen scrolling seems smoother.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/phhusson/treble_experimentations/issues/1230#issuecomment-890342816, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAA4OSUN2HNMOINYQ63MLTT2PVUFANCNFSM4L63MZFA .

Cyberavater commented 3 years ago

I can confirm that setting the following 2 props seems to remove the flicker.

ro.vendor.mtk_aal_support=0
persist.vendor.sys.mtk_app_aal_support=0

I set them in Magisk as custom props using the "MagiskHide Props Config" module.

I'm yet to find out what the impact on battery life will be (if any).

This fixed my issue, thank you so much! <3

dsclee1 commented 3 years ago

After some more testing I'm finding the fix isn't 100%. I think it ups the framerate which makes the issue less noticeable, but if you look carefully the colour change still happens.

In logcat I keep seeing the following messages:

08-07 11:10:44.423  1040  1217 I hwcomposer: [DPY] receive refesh frquest from driver: type[4]
08-07 11:10:44.423  1040  1217 I hwcomposer: [HWC] fire a callback of refresh to SF
08-07 11:10:44.431  1040  1637 I hwcomposer: [HWCDisplay] setColorTransformForJob ccorr_state=0->1 hint=0 force_disable_color=1 identity=1
08-07 11:10:44.432  1040  1218 I hwcomposer: [DRMDEV] create blob id of color transform[success] mode=0 f=1 mat=1024    0    0    0   0 1024    0    0   0    0 1024    0   0    0    0 1024
08-07 11:10:45.220  1040  1637 I hwcomposer: [HWCDisplay] setColorTransformForJob ccorr_state=1->0 hint=1 force_disable_color=0 identity=0
08-07 11:10:45.223  1040  1218 I hwcomposer: [DRMDEV] create blob id of color transform[success] mode=1 f=0 mat=1105  -21  -21    0 -72 1053  -72    0  -6   -6 1119    0   0    0    0 1024

I think the key bit of info here is the force_disable_color=1, which is done for a very short length of time, followed by a command to do the actual colour tint setting. The first line with [DPY] receive refesh frquest from driver would suggest there's a call coming from the graphics driver itself which is causing this, but I'm finding it difficult to trace this back further.

Would there be differences between the AOSP graphics driver and Stock? Could I try and copy over the stock graphics driver to my device? Where would I find it?

dsclee1 commented 2 years ago

I solved this on my Note 9T with a vendor overlay (https://github.com/phhusson/vendor_hardware_overlay/pull/399). I think the specific setting that fixed my issue was the addition of:

`

true

`