[Android Q&A, Help & Troubleshooting] itasoulas:
Display/Brightness Thermal Throttling Issue - FIX REQUIRES ROOT!!!

Ok, I haven't stopped looking at this issue. Issue reported various times at official Lenovo forums in threads like here https://forums.lenovo.com/t5/Lenovo...Tab-S8-50-Screen-Dimming-Problem/td-p/1873040 and here https://forums.lenovo.com/t5/Lenovo-Android-based-Tablets/Problem-with-dimming-screen/td-p/2153836 and other talks on the web (This also was an issue with Yoga tablet running Windows but in that case it was very easy to fix). What happens is that after your are watching a video locally or online via your browser, the backlight of the display starts fluctuate and going crazy from very dimm to very bright as there is an auto-brightness sensor going mad. This mostly happens when the player you are using to watch the videos is using HW accelaration. I happen to notice that this doesn't happen when you use SW decoding. So why this is happening?

Thermal service is part of device's kernel and exists in order to keep it safe when certain temperature values are reached for specific sensors, like the one on the CPU, battery etc. When an overheating events occurs, the thermal service can give you warnings, slow down the device or even shut it down. Now, there is a file that specifies what are the devices to cool and what exactly to do with them in case of thermal events. We are targetting system/etc/thermal_throttle_config.xml So what does this file say to us?

1. It specifys the cooling devices and more specifically ThermalCoolingDevice.java: (c) This class describes attributes of a cooling device. A cooling device is a component which when throttled, can bring down the temperature of a thermal zone. Each cooling device has a name and ID. This file has 5 cooling devices specified, each given and ID from 1-5. If you look at the picture below, Display has gived the device ID1.

2. It specifys the zone throttle and more specifically ThermalZone.java: (c) This class describes the attributes of a thermal zone and has methods to access them. This applies to each of the 5 cooling devices (ID1-ID5)

So, thinking simple, my goal was to disable the thermal throttle completely for Display while keeping everything else intact. Why would I want my brightness to fluctuate after a few minutes watching a video? There is no way the device to overheat doing that. This never happened to any of my device running a Snapdragon, never had a problem with overheat, so why Intel messes with my backlight for such a simple action like wathing a video?

I went ahead and deleted in that file everything that concerns deviceID1, which is the display.

Meaning that someone has to delete all lines concerning this from both cooling device and zone throttle sections.

For each ID1, the part you have to delete starts with <ContributingDeviceInfo> and ends with </ContributingDeviceInfo>.

After doing this I rebooted, and then watch some videos with MX Player using HW accelaration both online and locally. The issue completely dissapeared, I didn't face any issues. I must admit that I am not a gamer so I really can't test this under very heavy use. If you think your device gets extremely hot and it doesn't give you a message or shuts down, then replace your original file. DO THIS AT YOUR OWN RISK!

I have attached some screens to see what I mean and what to delete (you have to do this a few times in this file, the red marked area is just the example. Left screen is original. middle is the example and right is the modded). I have also attached my modded file in case you don't want to do this manually. Simple unzip and replace the original file (keep backup of it though) and set permissions to rw-r--r-- and reboot

EDIT: Sh*t... after a while it did it again. Reverting back to default configuration...Arghhhh!!!

EDIT 2: It seems as I said in this post that using SW decoder instead of HW when watching movies locally or on network via MX Player solves the issue. But SW must drain battery more quickly!