HTC One M9 Auto Brightness Issue and How to fix it

If you are using a HTC One M9 as you daily driver chances are you noticed yourself that the auto brightness doesn’t scale up pretty good especially if the environment lighting is dim. Most of the time for the phone is the same if the environment is pitch black or you have some dim lighting, making is pretty hard to watch the screen because of the reduced backlight.  One M9 owner even asked HTC Support about this particular issue and their response was “amazing” : “The M9 was designed to save energy , since We are HTC are concerned and committed with the environment.” As you can see lot of BS.

The Issue

Since this problem annoyed the hell out of me, especially since I like the lighting to be low in my house and I was doing a lot of picture viewing on my phone and most of the time was rather hard to make a difference between 2 colors I started to investigate it.

Problem #1:

Starting with the M9 HTC is using a new auto brightness algorithm which doesn’t do a very good job. Sure if you have some skill you can force your phone to use the good old one but that doesn’t do much good either because:

Problem #2:

The light (proximity) sensor reports bad values. In the same place with the same lighting the HTC One M8 and Samsung Galaxy S6 sensors reported 8-9 LUX while the HTC One M9 sensor reports 2-3 LUX . As to why this is happening I can only speculate: quality of the sensor, placement of the sensor or bad code. I can safely assume is not a problem with my particular device due to the many reported issues on the same problem (forums are full of posts regarding it)

Problem #3:

I compared HTC One M8 vs HTC One M9 side by side, full brightness (backlight cranked up to max on both) and the M8 screen is brighter.

The Solution

I asked @HTC on twitter to look into it and they’ve asked for my phone IMEI and my email address. In all honesty I haven’t replied to them because I could already see from their answer where this is going.  So I was alone in my issue and I wasn’t going to give up. I tried tuning the auto brightness algorithm and while I was doing decent progress, the fact that the sensor reported 0 LUX even though there was some light in the room made it impossible to me to differentiate in code between pitch black (0 lux) and low lit room (sensor should have been reporting at least 1 unit above 0 but for some reason it was still reporting 0) so while i could make it brighter at 0 LUX value and was working rather good in low lit rooms, it was too shiny when it was pitch black.

The best solution was to give up HTC Auto Brightness and use a 3rd party app to handle it, which with a bit of tweaking and getting used to is almost perfect. The app in question is available in Google Play Store, has both free and paid version and doesn’t require root (at least for the basic functions). It’s called Lux Lite or the paid version Lux Auto Brightness . For the auto brightness issue the free version will suffice.

I really hope HTC can find a solution for this because is frustrating for me at least. Until then long live Lux Auto Brightness.