[TWEAK] Automatic Brightness levels! - Desire General

Issue: http://code.google.com/p/cyanogenmod/issues/detail?id=2298
After toying around with the automatic brightness I'm now here to share my settings ...
I use the following settings:
Light sensor filter enabled.
Window length 10 seconds.
Reset threshold 400 lux.
Sample interval to 0.5s.
Light levels use custom checked.
Screen dim level, not sure what it is for but I have it on 1 instead of 20. ((edit: I found what it is for, it's the step size the filter takes? Or not? :s))
Edit other levels...
Number of levels: 18
0 1
10 1
117 17
225 33
272 49
320 65
480 80
640 96
960 112
1280 128
1940 144
2600 160
4200 175
5800 192
6900 207
8000 223
9120 239
10240 255
Allow light decrease checked.
Decrease hysteresis to 10%.
I hope people like my light settings, if you don't please tell me why

Reasons why some settings should be altered:
Reset threshold, should be able to set to 100 and 200 lux. At the moment if you walk into light it takes the filter some time to go up, so 100 or 200 lux would trigger a reset faster. Also the sensor starts at 225 lux so why 400 as a minimum in the first place?
Window length, as for the above, if you walk into light a smaller window length would help put brightness up much quicker in combination with a smaller reset threshold.
If the above two settings could be added in CMParts/ODParts that be great as the filter would be much more responsive to short period light changes. For example if you go from outside to inside or visa versa.
And maybe it would even be a better idea to remove the whole custom light levels and add a linear function to it to go with the filter (configurable) and just have 254 steps (1-255) over 10-10240?
Adding 254 steps yourself is ... A PAIN ><

English please
guys i know there is a problem with the light sensor in desire and i have the same case with mine it this is all about it please let me know how to fix it please.

shazan said:
guys i know there is a problem with the light sensor in desire and i have the same case with mine it this is all about it please let me know how to fix it please.
Click to expand...
Click to collapse
What ROM are you using? CyanogenMod and forks of it (OpenDesire, DeFrost etc) have a custom preferences menu where you can check out the light sensor values. That is when you leave the filter off and goto edit other levels. Hold your phone in line with a TL light and it should jump to 1280.
Do you see the top most number change when light changes?

Call me crazy, but I am ><
I put the whole table into the automatic backlight custom levels: http://www.linux-box.nl/~sjoer/1to255/1to255.php
And it works really well with light changes, it should work even better if reset threshold can be lower (200 or maybe 100) as it will respond to bright light <> no light much better.

how did you did that?
without typing lol

This is insane..... so much trouble for such a simple task. Automatic Brightness. On winMO i used g-lite wich was satisfacatory. A have the desire for a month now. I searched from a similar soft and i didn't find. But i'm not gooing to try this much trouble for something that should be easy. Thank you.

Im sorry but....HOW do I apply this ?

Can this be applied to other roms?
I am using Pinky desire and would love to do this.
Phil

philje123 said:
Can this be applied to other roms?
I am using Pinky desire and would love to do this.
Phil
Click to expand...
Click to collapse
yes and for stock roms please

The screen minimum value is 10-255, so how can I set "1" to the first 2 levels?
I set 10, and I like the settings overall.

sfjuocekr said:
I hope people like my light settings, if you don't please tell me why
Click to expand...
Click to collapse
First off, "10 1" is redundant as you already cover that from 0 to 9. So 17 levels should be enough. Second, on the last line "10240 225" you probably meant "10240 255". Testing your settings with these modifications now. I find you have a lot of levels, probably can do with less to reduce flickering, but as I said, testing these first.

Can we use these settings in a Sense rom and if yes how?What file do we have to edit?

so useless guys.
setup max brightness and enjoy the brilliant screen.
it takes less battery than this tool to constantly check your ambient brightness.

Can someone please make a post about how to use this (and especially on Sense Roms)? So far it only shows us "which sensor-level should be what brightness" but it doesn't provide any information on how to apply it.
I assume CM either has an app for this installed (if so, please tell us WHICH so we can use it too) or a shell-script in background (if so, tell us WHICH) adjusting the settings.

Could anyone post a how-to use these settings?
Edit: Nvm, it's under: Cyanogen Settings.
Btw under "Edit other levels" you should only change the boxes that's under "Lower"? You shouldn't touch "Screen" and "Button"?

Trying this out, and will see how it goes. Only have 5 levels on my current setup, so this should be a lot smoother

snudel said:
so useless guys.
setup max brightness and enjoy the brilliant screen.
it takes less battery than this tool to constantly check your ambient brightness.
Click to expand...
Click to collapse
Is that true?

any more improvements?
and how can i backup this setting?
i wont to input it again when i flash a new rom :-(

sfjuocekr said:
Issue: http://code.google.com/p/cyanogenmod/issues/detail?id=2298
After toying around with the automatic brightness I'm now here to share my settings ...
I hope people like my light settings, if you don't please tell me why
Click to expand...
Click to collapse
Since the source code of Sense kernels is available now, would it be possible to write the tool for Sense ROMs too? You sure would do a lot of people a big favor

Related

How to maximize battery life without affecting functionality

How to maximize battery life without affecting functionality? I think the answer for this question is different for most of you. It depends on how you plan to use your device, even when it’s not turned on. Keynote is that you have to get the right tools and be creative. To give you a head start, I will dump my configuration in this thread. I am able to get up to 48 hours on one charge using this configuration. If used more intensive, your results may differ from mine though.
My configuration
HTC Desire
DeFroST 2.4d
DeFroST 2.4d"]DeFroST 2.4 SVS 1267Mhz kernel
SetCPU
Setting Profiles
DeFroST 2.4d
I will stick to this ROM for this guide but I’m sure the following applies to your custom ROM as well. DeFroST is my personal favorite and I would like to use this opportunity to thank RichardTrip for all the time he puts into this ROM.
DeFroST 2.4 SVS 1267Mhz kernel
DeFroST 2.4 HAVS max 998MHz 800mV (max 998MHz) might be better at saving more energy. But my decision to pick the SVS 1267Mhz has couple of causes.
I don’t have a CPU that can run at 800mV
I’m not patient, I love to go to max speed when it’s available
I found that with my current settings, battery life is good even with the SVS kernel
As I said, it’s totally up to personal preference. If you feel you need it, flash it! There’s a 925mV kernel out there as well if you have the same issue I do with 800mV (running unstable).
SetCPU
Freely available to any XDA user. A lightweight tool that offers all the functionality we need. Other then setting the default speed, it allows us to use profiles based on things like battery charge and temperature.
Main
Profiles
In my configuration, the phone runs at full speed when the battery capacity >= 75% or if it’s charging. Then when the phone discharges, it gradually scales down the max CPU speed. More important though, I found that I don’t need to have the device running at max speed, seeping energy, when I’m not actively using it. When my display turns of, my max CPU speed will be set to 245Mhz. This is perhaps the most important setting in this configuration.
Setting Profiles
No, not Juice Defender. I don’t know why so many seem to prefer Juice Defender. It cannot be customised the way I like it and the UI gives me a headache. But then again, that’s my opinion, maybe I’m wrong
Setting profiles is once again a lightweight tool that lets you define rules by means of logic. It works like this (example):
Create a profile that enables WiFi
Create a rule Activate WiFi when the condition battery is plugged to any charger is met
I figured that I do not want to receive mail, connect to bluetooth or WiFi when I’m asleep. Also, I don’t need a constant e-mail sync at daytime. 50% sync activity is enough for me. For now, that’ll do.
Profiles
Rules
I have a lot of ideas that can still be implemented. The devs at probeez.com are working hard to implement new functionality into their app. One idea I had was to revert to 2G when the display is turned off. However, the condition display off and the action revert to 2G are not available yet.
If you agree, please let the devs know what functionality needs to be added to make their software even better. Vote on this site.
The 2G functionality has already been planned. My other suggestion, the display state, doesn’t have enough votes yet. You can find it here.
The good thing about this tool is that it will be highly customisable when more and more options are added. This fits the idea of choosing your own energy efficient settings I’m trying to promote with this topic.
Conclusion
I could elaborate my choices, but my point is to give you tips about how to address energy saving. Read this manual and be creative. Copy some of the ideas, change others. Maybe come up with new ideas so brilliant that I should add them to this post .
I’ll try to keep updating this topic with the input from you and the newly available functions in the apps.
Other Recommendations
Manual control of brightness
How could I forget? My own brightness setting is always at the lowest. Unless I'm in a very bright environment (like in the sun) and I cannot see anything on my screen. Auto brightness tends to be to bright in general. The Power Control widget can assist you in quickly switching brightness.
-prove
Use a plain black wallpaper
Although this goes further them some of you want to go, using a plain black wallpaper can save battery usage.
AMOLED: Black wallpaper = Battery saving (experiment result)
-b3ndik
great guide, will try this after I get some sleep!
I would recomend using manual control of display brightness!
prove said:
I would recomend using manual control of display brightness!
Click to expand...
Click to collapse
Added. Thank you.
Although there is not a huge improvement, I'd recommend you to have a plain black wallpaper. It actually saves a few percentages, if you do a quick search around the forum you will find the thread.
b3ndik said:
Although there is not a huge improvement, I'd recommend you to have a plain black wallpaper. It actually saves a few percentages, if you do a quick search around the forum you will find the thread.
Click to expand...
Click to collapse
Added to recommendations, thank you.
Personally I think this goes a bit to far for me. I like active backgrounds, like the one that reflects weather and daytime. However, it's a good idea. If someone can find the link to the detailed topic, I'll add it.
here is the link to the topic. The thread includes tests and results.
http://forum.xda-developers.com/showthread.php?t=660853
is it safe to assume that the profiles that let you enable or disable wifi are in the full paid version ?
*edit*
scratch that, just found 'setting profiles' on the market.
i did lose 2% battery life with just 5 minutes surfing ealier on ..
I have never used any additional program to control power apart from the default Android power widget. I would normally do this to preserve energy no matter which ROM or even which phone I have. It's all common sense:
- turn "2G only mode" and switch on 3G hen I actually need it (e.g. browsing heavy webpages). If you turn off the images in websites even GPRS usually does the job well.
- NEVER use 3G for regular voicecalls. It's a completely senseless way of draining battery fast.
- completely switch off any automatic syncronizations (Gmail, Facebook, Weather, etc.) and syncronize individual accounts only when I actually need it. Simply untick the "automatic synchronization" in the accounts and sync settings.
- of course wi-fi, gps are permanently off and I turn them on manually only when I need them.
- keep the display as dark as possible and no brighter than needed.
- use a solid black wallpaper which saves energy on AMOLED screens (won't make difference on regular TFT LCD). A bright wallpaper may significantly increase energy consumptions.
- forget any "Live" wallpapers.
I have read that killing tasks does not make much difference on Android 2.1 onwards. I still keep killing tasks just as a habit.
This way it adds up a bit of extra manual job but I think it's better than any of those "power control" programs that do the same thing just not as accurately as one can do manually.
well i left my phone on charge overnight and unplugged it at 8am this morning on 100% battery.
6 hours later and it's on 96% - although to be fair that's with near zero usage.
thanks for this topic, very helpfull
on this screenshot, what contains the first line with priority of 100?
http://forum.xda-developers.com/attachment.php?attachmentid=365973&stc=1&d=1279958467
thanks !
I have just implemented everything you recommended, so lets see how tomorrow goes (I can't be bothered to go drive out of my local cell towers ranges right now to see if my WiFi turns off ).
With regards to Disabling Sync, if I set it for 4 minutes out of 5 minutes (4/5) then Sync is only enabled for 1 minute out of every 5 minutes, right?
Having previously used JuiceDefender, I thought I'd give Setting Profiles a bash. First stumbling block is lack of toggling for mobile data - is that right, or have I missed something?

[Tips] Screen Color Calibration for the Galaxy Nexus

After using the Galaxy Nexus for two weeks, I found the screen color of the new amoled+ is much better than the Nexus S, but still inaccuracy. I'm a part-time photographer who keen on the right Gamma, color accuracy and color temperature.
So I just finished some test with such things:
Galaxy Nexus
franco Kernel 18.5 nightly(with the ColorControl from Ezekeel)
Voodoo Screen Test app
x-rite i1 Display 2 color meter
HCFR software
The test result was not so good...
Average Gammar value is about 1.9, far from the ISO stand 2.2. So the color is just too bright (I'm not saying screen brightness).
The shadow part (0-40% gray level) of 3 color curve were almost out of trim. In another words, incaauracy color balance.
As the color unbalance. The color temperature is starting from lower than 5500K to 6500K, which the ISO stand is 6500K at any color level.
I also tested the ColorControl in franco Kernel. After the adjustments, Gammar value is still bad, but I save the (most part of) color balance & color temperature in the end.
The adjustments step by step:
Make sure you have a rom/mod with /init.d autorun function.
Bye, stock rom...
Make sure you have a kernel with ColorControl function.
Such like Ezekeel, franco...Else? I don't know.
Set the screen brightness to 50%.
It's the mesurement "baseline". But why 50%?
Because, at this point the screen has a brightness about 120 Lux--also a ISO stand. So, it's very close to our desktop LCD.
Make a new file as /etc/init.d/900colorcontrol-b50
Which could be done by Root Explorer or adb.
Inside the file, type such line:
Code:
echo "-10 0 -10" > /sys/class/misc/colorcontrol/v1_offset
echo "1820000000 1900000000 2000000000" > /sys/class/misc/colorcontrol/multiplier
I choose "182 190 200" here, because the default value was about 200. Rising will increase the risk of LED Burn-in.
And, don't forget the 7 zero!!!
Just reboot & enjoy the almost right color temperature.
It's (6500±300)K at any color level in my device. Not perfect, but much better indeed.
Done, that's all I can do for you.
Thanks so much for the mod.
I'm willing to test your new calibration for the GNex color but how can I revert back to stock in case of problem ?
So I guess we can only use this modification at 50% of brightness ? If we change to auto, how could it be ?
Sorry for being a noob here, but this is compatible with any rom/kernel right? I'm currently running on AOKP Build 25 and Popcorn kernel 7.1
Thanks,
Mosh
Hi, and thank you for offering your expertise. I'm not confident in doing the above.... Can you offer a little bit more step by step?
I've played around with root explorer which I imagine is what is necessary to change these values.you lost me at the 2nd step.....
Also, is 50% necessary?
Thanks kindly,
_______________________________
frAncO Kernel ;-P
mazubo said:
Hi, and thank you for offering your expertise. I'm not confident in doing the above.... Can you offer a little bit more step by step?
I've played around with root explorer which I imagine is what is necessary to change these values.you lost me at the 2nd step.....
Also, is 50% necessary?
Thanks kindly,
_______________________________
frAncO Kernel ;-P
Click to expand...
Click to collapse
mohitrocks said:
Sorry for being a noob here, but this is compatible with any rom/kernel right? I'm currently running on AOKP Build 25 and Popcorn kernel 7.1
Thanks,
Mosh
Click to expand...
Click to collapse
heo_con184 said:
Thanks so much for the mod.
I'm willing to test your new calibration for the GNex color but how can I revert back to stock in case of problem ?
So I guess we can only use this modification at 50% of brightness ? If we change to auto, how could it be ?
Click to expand...
Click to collapse
Step by step detail added. Thx for reading~
Thanks for the guide!
Sent from my Galaxy Nexus using XDA App
You can change all of these settings from Franco's kernel updater program directly without modifying any files.
The OP's settings appear a little warm at first but I'm liking them so far...
Sent from my Galaxy Nexus using xda premium
Can you please add this file 900colorcontrol-b50
sooooo do i make a folder in system like this?
system/etc/init.d/900colorcontrol-b50 and then add that text above or??
Instead of making that script, can we just input those numbers into the Color Control?
-10, 0, -10 for Gamma (RGB);
182, 190, 200 for Multiplier (RGB)
Right?
Thank!
your feeling about color is exactly. Gray is dirty, it's not sync at all pixels.
I hope someone changes this by kernel - easy for me control everything
After flash franco kernel it's better more but not perfect.
If this problem is not improved, i'll buy other phone that uses Superamoled PLUS replace this one . HIZzzz
These settings look green to me
Sent from my Galaxy Nexus using Tapatalk
Indeed... especially settings menu looks very greenish!
But maybe I get used to it...
Edit: Maybe a typo? '-10 0 10' looks not that bad at all ;-)
jornbjorn said:
These settings look green to me
Sent from my Galaxy Nexus using Tapatalk
Click to expand...
Click to collapse
phunghoang24 said:
Thank!
your feeling about color is exactly. Gray is dirty, it's not sync at all pixels.
I hope someone changes this by kernel - easy for me control everything
After flash franco kernel it's better more but not perfect.
If this problem is not improved, i'll buy other phone that uses Superamoled PLUS replace this one . HIZzzz
Click to expand...
Click to collapse
And that would do absolutely nothing
SAMOLED Plus displays are identical to the SAMOLED HD displays when it comes to colors and such.
It would be better and more easy if someone was able to do an app like this one that works for the Nexus One :
http://forum.xda-developers.com/showthread.php?t=745248
I really miss this app since I've bought my Galaxy Nexus
Thanks for the info. I had mine looking very similar but with a combination of lower brightness and higher multiplier values. Nice to have it set now without the additional risk of burn in. Thanks a ton.
screen looks greenish compared to franco's recommended value, using his instead but thanks for the write up.
kashix said:
screen looks greenish compared to franco's recommended value, using his instead but thanks for the write up.
Click to expand...
Click to collapse
must be a typo in his gamma settings -10,0,10 is ALOT better (=
Great find colors are much more accurate now
These settings are way off on my device, its too green.

[Q] change default to higher brightness values lg g3?

how can i change my rogers rooted stock lp lg g3 to higher than default brightness values?i have used rom controll from play store and in the the section to change default props it shows the line for max brightness.I cant recall off hand what max is set at but i think its around 150 values.i slowly started increasing by 25 increments and no change even at 350.every time i reboot i go back and make sure my new values stick and they do.im obviously in the wrong build prop.how can i raise my default values please?
jamesrfraser said:
how can i change my rogers rooted stock lp lg g3 to higher than default brightness values?i have used rom controll from play store and in the the section to change default props it shows the line for max brightness.I cant recall off hand what max is set at but i think its around 150 values.i slowly started increasing by 25 increments and no change even at 350.every time i reboot i go back and make sure my new values stick and they do.im obviously in the wrong build prop.how can i raise my default values please?
Click to expand...
Click to collapse
the 100% brightness is the max you can try using lux from googe play but not sure if that will work
Nope it didnt work.there must be some help out there.i recently saw a comparison of 6 top phones and brightness values.of corse lg g3 had the lowest values at like 125 max default brightness where as galaxy s5 and iphone 6 come in at like 250 or 300 values.that just disgusts me.i need a brighter screen.i work outside and can really benifit.thanks guys.must be a way?
Sent from my LG-D852 using XDA Premium HD app
anything yet?
The screen can only get so bright.

Kernel mods - are display gamma correction and refresh rate overclocking possible?

Got a V30 a few months ago - brilliant device but not that happy with the display - it has the very annoying "black crush" issue for me.
Short explanation (it's better you don't read - trust me it can be very annoying when you're aware of it):
The lower the screen brightness is set, dark grays and dark colours are shown completely black when they shouldn't - this is very annoying as the detail in darker areas of images completely disappears (it's bad for all content - pictures, videos, games). It can vary from device to device, even on the same models.
This is an issue at varying degrees on other OLEDs too such as Pixels', Samsung, OnePlus; but Apple and Huawei seem keep it mostly under control. Funny enough my old Galaxy S4 does not really have this issue.
Google and Samsung managed to partially fix it (completely for some users) with software updates, so this should be possible for us too especially as V30 has the exact same display as Pixel 2 XL which got some improvement via update if I remember correctly.
There are apps and tricks which claim to improve this but while they can help a bit they bring in other issues.
Looking for fixes I found this V30 kernel - "Savitar-OC-kernell" - a claimed feature was refresh rate OC (80Hz). The thread is closed, the links are dead, the dev didn't respond (PM'd months ago) and there is no video proof of it so I can't really be sure that it worked well or at all. But if true then it means there is at least a way to get very low level control of the display panel.
I have zero experience with kernel/ROM development but I can get technical so I did some (probably bad) research myself. Downloaded the kernel source from LG.
Found some interesting files here:
...\kernel\msm-4.4\drivers\video\fbdev\msm\lge\joan\
...\kernel\msm-4.4\arch\arm64\boot\dts\lge\
My guess is that V30's panel is "sw43402" (I think that's the driver IC model, same as 2 XL) - there are multiple files for it, with values for front/back porch, clk etc. which is what I suspect was modified for the refresh overclock.
Also found multiple entries/tables? for "gamma" and "blmap" (backlight map?) values which is what I hope can be used for a fix for the black crush.
My hope is that there is a way to tweak the gamma curves or some other form of display mapping. At 100% brightness my phone display is almost perfect, zero black crush. However as I set the brightness lower the black crush amount varies (it's not linear or exponential, it's "jumpy") which looks like there is some sort of mapping trying to compensate.
I'd love to hear your opinion especially if you have any experience with this stuff or if you can forward this to someone you know could answer. I would appreciate if you can tell whether you think this is possible and whether what I found is on the right track. Thanks for reading all this.
gamma correction
Click to expand...
Click to collapse
your best bet is via KCAL or KLAPSE in custom kernels
recommendation-based is to not go lower than 30 or 50% in brightness otherwise you'll lose details
refresh rate overclocking
Click to expand...
Click to collapse
not worth it, there's no true close hardware manipulation possible (like with Exynos kernel source) also OLED panels are sensitive (high brightness, burn-in, etc.) and (relatively?) short-lived already - why shortening life even more ?
Thanks for the reply.
KCAL seems to be a step in the right direction however I don't think I can find any kernel for V30 that has it. I'll look into KLAPSE but it seems that it won't help "out of the box" without some lower level modifications.
Refresh rate - sure it may not be very practical but I don't think it's that dangerous (One example being the overclocked Note 3 displays in the Oculus DK2 back in 2014). 80Hz may be too much (and may be ghosting) but even 67-72 should make a noticeable difference. And why not have it as an option - for science - or for people that plan to upgrade soon and want to go crazy with it.
zacharias.maladroit said:
there's no true close hardware manipulation possible
Click to expand...
Click to collapse
Can you please expand on this? What about the files I mentioned? An example snippet from
dsi-panel-sw43402-dsc-qhd-cmd-dv2_0.dtsi
Code:
[FONT="Courier New"]...
&mdss_mdp {
dsi_sw43402_dsc_qhd_cmd_dv2_0: qcom,mdss_dsi_sw43402_dsc_qhd_cmd_dv2_0 {
qcom,mdss-dsi-panel-name = "SW43402 cmd mode dsc dsi panel";
qcom,mdss-dsi-panel-type = "dsi_cmd_mode";
qcom,mdss-dsi-panel-framerate = <60>;
qcom,mdss-dsi-virtual-channel-id = <0>;
qcom,mdss-dsi-stream = <0>;
qcom,mdss-dsi-panel-width = <1440>;
qcom,mdss-dsi-panel-height = <2880>;
qcom,mdss-dsi-h-front-porch = <92>;
qcom,mdss-dsi-h-back-porch = <48>;
qcom,mdss-dsi-h-pulse-width = <32>;
qcom,mdss-dsi-h-sync-skew = <0>;
qcom,mdss-dsi-v-back-porch = <25>;
qcom,mdss-dsi-v-front-porch = <10>;
qcom,mdss-dsi-v-pulse-width = <1>;
...[/FONT]
I'd imagine something should happen if these are modified, or do you think nothing would happen? Some gamma and blmap tables are also further down in the file.
However there are multiple similar files in that folder which is a bit confusing to me. Any clue if there's public documentation on this or at least what to search for to understand it further?
cLick1338 said:
Got a V30 a few months ago - brilliant device but not that happy with the display - it has the very annoying "black crush" issue for me.
Short explanation (it's better you don't read - trust me it can be very annoying when you're aware of it):
The lower the screen brightness is set, dark grays and dark colours are shown completely black when they shouldn't - this is very annoying as the detail in darker areas of images completely disappears (it's bad for all content - pictures, videos, games). It can vary from device to device, even on the same models.
This is an issue at varying degrees on other OLEDs too such as Pixels', Samsung, OnePlus; but Apple and Huawei seem keep it mostly under control. Funny enough my old Galaxy S4 does not really have this issue.
Google and Samsung managed to partially fix it (completely for some users) with software updates, so this should be possible for us too especially as V30 has the exact same display as Pixel 2 XL which got some improvement via update if I remember correctly.
There are apps and tricks which claim to improve this but while they can help a bit they bring in other issues.
Looking for fixes I found this V30 kernel - "Savitar-OC-kernell" - a claimed feature was refresh rate OC (80Hz). The thread is closed, the links are dead, the dev didn't respond (PM'd months ago) and there is no video proof of it so I can't really be sure that it worked well or at all. But if true then it means there is at least a way to get very low level control of the display panel.
I have zero experience with kernel/ROM development but I can get technical so I did some (probably bad) research myself. Downloaded the kernel source from LG.
Found some interesting files here:
...\kernel\msm-4.4\drivers\video\fbdev\msm\lge\joan\
...\kernel\msm-4.4\arch\arm64\boot\dts\lge\
My guess is that V30's panel is "sw43402" (I think that's the driver IC model, same as 2 XL) - there are multiple files for it, with values for front/back porch, clk etc. which is what I suspect was modified for the refresh overclock.
Also found multiple entries/tables? for "gamma" and "blmap" (backlight map?) values which is what I hope can be used for a fix for the black crush.
My hope is that there is a way to tweak the gamma curves or some other form of display mapping. At 100% brightness my phone display is almost perfect, zero black crush. However as I set the brightness lower the black crush amount varies (it's not linear or exponential, it's "jumpy") which looks like there is some sort of mapping trying to compensate.
I'd love to hear your opinion especially if you have any experience with this stuff or if you can forward this to someone you know could answer. I would appreciate if you can tell whether you think this is possible and whether what I found is on the right track. Thanks for reading all this.
Click to expand...
Click to collapse
The savitar kernel dev is still active and made a new kernel, tachyon kernel that is, but he remove the 80hz because it doesnt work on real life test. All the kernel for v30 have kcal btw (there are only 2 kernel which is ceres (or lunar or orion or any other name that the dev like to named before) by @zacharias.maladroit and tachyon ( or some other name that i swear i cant remember) by @darkidz555
---------- Post added at 02:03 PM ---------- Previous post was at 01:59 PM ----------
cLick1338 said:
Thanks for the reply.
KCAL seems to be a step in the right direction however I don't think I can find any kernel for V30 that has it. I'll look into KLAPSE but it seems that it won't help "out of the box" without some lower level modifications.
Refresh rate - sure it may not be very practical but I don't think it's that dangerous (One example being the overclocked Note 3 displays in the Oculus DK2 back in 2014). 80Hz may be too much (and may be ghosting) but even 67-72 should make a noticeable difference. And why not have it as an option - for science - or for people that plan to upgrade soon and want to go crazy with it.
Can you please expand on this? What about the files I mentioned? An example snippet from
dsi-panel-sw43402-dsc-qhd-cmd-dv2_0.dtsi
Code:
[FONT="Courier New"]...
&mdss_mdp {
dsi_sw43402_dsc_qhd_cmd_dv2_0: qcom,mdss_dsi_sw43402_dsc_qhd_cmd_dv2_0 {
qcom,mdss-dsi-panel-name = "SW43402 cmd mode dsc dsi panel";
qcom,mdss-dsi-panel-type = "dsi_cmd_mode";
qcom,mdss-dsi-panel-framerate = <60>;
qcom,mdss-dsi-virtual-channel-id = <0>;
qcom,mdss-dsi-stream = <0>;
qcom,mdss-dsi-panel-width = <1440>;
qcom,mdss-dsi-panel-height = <2880>;
qcom,mdss-dsi-h-front-porch = <92>;
qcom,mdss-dsi-h-back-porch = <48>;
qcom,mdss-dsi-h-pulse-width = <32>;
qcom,mdss-dsi-h-sync-skew = <0>;
qcom,mdss-dsi-v-back-porch = <25>;
qcom,mdss-dsi-v-front-porch = <10>;
qcom,mdss-dsi-v-pulse-width = <1>;
...[/FONT]
I'd imagine something should happen if these are modified, or do you think nothing would happen? Some gamma and blmap tables are also further down in the file.
However there are multiple similar files in that folder which is a bit confusing to me. Any clue if there's public documentation on this or at least what to search for to understand it further?
Click to expand...
Click to collapse
Btw, @zacharias.maladroit motto for kernel development is stability and longevity so asking him for OC is not possible
Quick update, tried KCAL, only helps a little bit, but even on the most extreme settings it's barely effective.
KLAPSE has no means of improving it but I'm thinking something could be done by using the "brightness based scaling" and unlocking the "dimming" function to be able to actually brighten the image too. Currently it only goes from 20% to 100%, so it has to be able to go over 100% which I'm not sure is easy or possible.

How To Guide HBM

The following command is how you can toggle HBM on our 6 Pro:
Code:
echo 1 > /sys/devices/platform/1c2c0000.drmdsim/1c2c0000.drmdsim.0/backlight/panel0-backlight/hbm_mode
Replace the one with a zero to disable!
HBM = high brightness mode?
Is it worth doing?
Cares said:
HBM = high brightness mode?
Is it worth doing?
Click to expand...
Click to collapse
I prefer doing it through @flar2 's HBM app set to automatic when using his custom ElementalX kernel. They've made that kernel for each of the previous Pixels (and some other phones) so I expect once the source code drops they'll do so for the P6P as well.
It definitely made a difference in direct sunlight.
Yeah I use Tasker to create QS toggle with that command
Is the command through adb? Or terminal?
rickysidhu_ said:
The following command is how you can toggle HBM on our 6 Pro:
Code:
echo 1 > /sys/devices/platform/1c2c0000.drmdsim/1c2c0000.drmdsim.0/backlight/panel0-backlight/hbm_mode
Replace the one with a zero to disable!
Click to expand...
Click to collapse
Any known downsides? I'm curious if there's no long term ill effects why it isn't just a default option. Any chance what's built in is 'what works for every panel' but HBM might cause an issue with a borderline panel that just barely squeaked through QA?
rickysidhu_ said:
The following command is how you can toggle HBM on our 6 Pro:
Code:
echo 1 > /sys/devices/platform/1c2c0000.drmdsim/1c2c0000.drmdsim.0/backlight/panel0-backlight/hbm_mode
Replace the one with a zero to disable!
Click to expand...
Click to collapse
I was playing around with this command a couple of days ago because I didn't feel that the maximum brightness was very good due to the Pixel 6 Pro using a Samsung s6e3hc3 display (cat /sys/class/backlight/panel0-backlight/device/panel_name), which is in fact the same display the Oppo Find X3 Pro uses & allegedly that goes upto 1300 nits.
I found that:
echo 1 >> /sys/class/backlight/panel0-backlight/hbm_mode
and
echo 2 >> /sys/class/backlight/panel0-backlight/hbm_mode
Both work to give the Pixel 6 Pro to achive a little more brightness (& they stay on after switching the screen off) - obviously setting HBM to "1" provides a little more brightness than "0", and "2" provides even more brightness than "1".
I used my ColourMunki Display to measure the brightness of the display multiple times & got the same results every time: these show that max brightness with HBM @ 0 is ~500 nits, HBM @ 1 is ~795 nits & HBM @ 2 provides 835 nits.
I'm hoping someone can replicate these numbers or verify with another, more accurate device & hopefully (when ElementalX is released) we will be able to toggle both HBM modes via the HBM widget
It also works on my Pixel 6 (non-pro), good to know, thanks!
I guess this is root-only?
Morgrain said:
I guess this is root-only?
Click to expand...
Click to collapse
Yeah, you'd get "permission denied" if you try to echo to that directory without su permissions
roirraW edor ehT said:
I prefer doing it through @flar2 's HBM app set to automatic when using his custom ElementalX kernel. They've made that kernel for each of the previous Pixels (and some other phones) so I expect once the source code drops they'll do so for the P6P as well.
It definitely made a difference in direct sunlight.
Click to expand...
Click to collapse
Yeah, in the past I've been doing it with tbalden's CleanSlate kernel, which comes with QS toggles. He even has a High Brightness mode & a High Brightness Boost mode, which goes even beyond what High Brightness gives you. But until (or if) he builds his kernel for this phone I'm using flar2's HBM mode app and just toggle it on if I need to.
The other day I went into the bright sun for the first time with this phone to test it's native HBM abilities (without flar2's app). It definitely appeared to turn on by itself (took about 3-5 seconds), which is different from my Pixel 4 XL, where the HBM mode was disabled and hidden by default. The screen was also plenty bright for me to see, so I think all this talk about it not having enough Nits or not being bright enough is a bit exaggerated.
It's definitely not as bright as my op8 pro. I work outside so I always use flars hbm. I'm using it still but it's a little glitchy
Lughnasadh said:
The other day I went into the bright sun
Click to expand...
Click to collapse
Lughnasadh said:
The screen was also plenty bright for me to see, so I think all this talk about it not having enough Nits or not being bright enough is a bit exaggerated.
Click to expand...
Click to collapse
Can agree with this. Even with bright sunshine outside, I can still see everything without problem & sunglasses on (stock, no root, no forced HBM). That's the most extreme usecase I can think of, so that's fine on my end.
Ultimoose said:
Any known downsides? I'm curious if there's no long term ill effects why it isn't just a default option. Any chance what's built in is 'what works for every panel' but HBM might cause an issue with a borderline panel that just barely squeaked through QA?
Click to expand...
Click to collapse
There might be a possible downside of screen burn in for having HBM on for extended periods. Maybe poor battery life as well.
I don't think there's a default option because I think Android will enable it automatically when the device is under bright light. This command lets you use the mode in any lighting condition
If I'm incorrect with any of this information, anyone who knows more, feel free to let us know!
rickysidhu_ said:
There might be a possible downside of screen burn in for having HBM on for extended periods. Maybe poor battery life as well.
I don't think there's a default option because I think Android will enable it automatically when the device is under bright light. This command lets you use the mode in any lighting condition
If I'm incorrect with any of this information, anyone who knows more, feel free to let us know!
Click to expand...
Click to collapse
Thank you sir for the information, appreciate it!
Ultimoose said:
Any known downsides? I'm curious if there's no long term ill effects why it isn't just a default option. Any chance what's built in is 'what works for every panel' but HBM might cause an issue with a borderline panel that just barely squeaked through QA?
Click to expand...
Click to collapse
I used automatic HBM through @flar2 's ElementalX kernel and app on my Pixel 1 for several years - I never experienced any issues. It definitely made the screen brighter in direct sunlight than the Pixel 1 did by itself without the kernel and app.
DanielF50 said:
I was playing around with this command a couple of days ago because I didn't feel that the maximum brightness was very good due to the Pixel 6 Pro using a Samsung s6e3hc3 display (cat /sys/class/backlight/panel0-backlight/device/panel_name), which is in fact the same display the Oppo Find X3 Pro uses & allegedly that goes upto 1300 nits.
I used my ColourMunki Display to measure the brightness of the display multiple times & got the same results every time: these show that max brightness with HBM @ 0 is ~500 nits, HBM @ 1 is ~795 nits & HBM @ 2 provides 835 nits.
Click to expand...
Click to collapse
Following up on this, I tested some HDR10+ videos on YouTube & if you run cat /sys/class/backlight/panel0-backlight/hbm_mode, when these are playing, you get a result of HBM: "1" so the kernel is obviously able to use this feature on a stock device, and maybe even utilises this when in extreme lighting conditions.
I've update High Brightness Mode to support Pixel 6/6Pro (version 5.03).
High Brightness Mode - Apps on Google Play
See your screen in bright sunshine. High brightness mode for your phone
play.google.com
flar2 said:
I've update High Brightness Mode to support Pixel 6/6Pro (version 5.03).
Click to expand...
Click to collapse
Thank you!!
flar2 said:
I've update High Brightness Mode to support Pixel 6/6Pro (version 5.03).
High Brightness Mode - Apps on Google Play
See your screen in bright sunshine. High brightness mode for your phone
play.google.com
Click to expand...
Click to collapse
Does it support the "2" mode described above by @DanielF50 ?
forum.xda-developers.com/t/hbm.4356189/post-85878625

Categories

Resources