[Root] [All Variants] Altered calib.cfg for vastly improved Assertive functionality.

How's the change?

  • Huge Difference!

    Votes: 8 47.1%
  • Small Difference

    Votes: 1 5.9%
  • No Difference

    Votes: 5 29.4%
  • Can't Tell

    Votes: 2 11.8%
  • It's worse!

    Votes: 1 5.9%

  • Total voters
    17
Search This thread

justthefacts

Senior Member
Feb 21, 2011
1,880
845
yes. mine only goes to 0 indoors if it's totally dark. have you tried moving your slider up a little like to 10% while automatic is set? that'll leave it automatically adjusting bit with a +10% to whatever it automatically sets

Mine goes straight from 50 to zero (nothing in between). Slider does not move when I'm in Auto brightness
 

helf

Senior Member
Nov 19, 2008
216
315
can you send me your original calib file? And your build.prop and default.prop?

What ROM are you using?
 

helf

Senior Member
Nov 19, 2008
216
315
interesting. appears to be some odd variant difference. I'll look into it. thanks for the files. sorry for response delay
 
  • Like
Reactions: Zacharee1

helf

Senior Member
Nov 19, 2008
216
315
Can everyone who is having issues use a terminal program, navigate to the directory with the calib file and send me a screenshot of the output of "ls -la" ? I want to see what the permissions and ownership and all are set to.
 

justthefacts

Senior Member
Feb 21, 2011
1,880
845
Working for me on the H910 manually replacing it with root browser and set permissions to rw-r--r--

Excellent work, thank you for sharing :good:
Your's doesn't jump from 50 to zero when you go to lower light environment ? Does it step down to numbers lower than 50 before it goes to zero?
 
Last edited:

helf

Senior Member
Nov 19, 2008
216
315
I'll be looking into that soon. I will hopefully have more time to put into this in a couple of months. been slammed at work and buying a house etc :)
 

Top Liked Posts

  • There are no posts matching your filters.
  • 21
    So I, at first, thought Assertive wasn't working/enabled on my V20 but it turns out the stock settings are just pathetic. I spent some time adjusting the config file and had a few fellow V20 users test out my changes and they have all reported back that it works fantastically now.

    For Assertive to function, your phone MUST be set to 'automatic' backlight control.

    Decompress and copy my file to your phone and replace the calib.cfg located in /system/media/display/. Make sure to change the permissions on the replacement file to 644.

    Reboot and enjoy :)

    Test out in direct, bright sunlight. You'll be surprised.

    Let me know your results in the poll and in comments.
    6
    # Assertive Display Calibration Output File Format
    # Calibration config file consists of one or more sections. Each section is set
    # of parameter values stored on one line each. Number of parameters (hence number
    # of lines in each section is fixed. Order in which parameters are specified in
    # given section is fixed as well.
    # Comments are supported in configuration file to improve readability of
    # calibration configuration parameters. Any line begining with '#' is considered
    # as comment and will not be processed further.
    # Blank lines are allowed and are ignored. They can be used to improve
    # readability of assertive display calibration output file.
    # Sections: Any line begining with '=' indicates start of new section in
    # calibration output file. Sections, parameters which are part of section and
    # order in which they will appear in calibration output file is kept outside
    # scope of this documentation in order to have flexibility in development of
    # assertive display calibration system. This information can be shared between
    # APICAL and Qualcomm as part of assertive display bring ups on given platforms.
    # There should not be any spaces betweetn '=' and section name.
    # Version 1.0 of calibration output format supports following sections:
    # version - Contains assertive display calibration output file format version
    # init - Contains assertive display parameters which are independent of
    # assertive display mode
    # config - Contains assertive display parameters which are dependent on specific
    # assertive display mode
    # Each parameter for assertive display calibration is stored on new line. If
    # parameter consists of more than one values (set of values), each value is
    # separated by single space (' ') character. In version 1.0 of assertive
    # display calibration output file format, all numerical values are in decimal
    # unsigned integer format, limited by 32 bits. Range for values or valid value
    # for given parameter is outside scope of this documentation. This information
    # can be shared between APICAL and Qualcomm as part of assertive display bring
    # ups on given platforms.
    # Version 1.1 adds two more init parameters (21 in total) to the config file to support the
    # newly added power saving feature, Parameters added are alpha and BL_ATT lut
    # Version 1.2 adds two more init parameters (23 in total) to the config file to support the
    # driver change, Parameters added are ALS_offset and ALS_threshold
    # Version 1.3 changes the parameters BL linearity LUT and BL inverse LUT
    # from 8 bit to 12 bits. This is done to support the precision increase in the AD Driver
    =version
    1.3
    # APICAL mode indepent initialization Params
    =init
    # A <-- Alpha channel control?
    0 211 414 609 796 975 1148 1315 1475 1630 1779 1922 2061 2195 2325 2451 2572 2690 2804 2915 3022 3126 3227 3325 3420 3513 3603 3691 3776 3859 3940 4019 4095
    # B
    255 278 302 326 350 374 398 422 446 470 494 517 541 565 589 613 637 661 684 708 732 755 779 803 826 850 874 897 921 945 968 992 1016
    # C
    7 134
    # D
    0
    # E
    2048
    # F
    65
    # G
    480
    # H
    0
    # I
    40
    # J
    256
    # dither_control
    5
    # L
    3
    # M
    0
    # frame_width <--- Assertive independently adjusts each section of the display to improve lows/highs/midranges independent of the display backlight and in response to ambient light. By default it is set to a frame width of just 1280x720 iirc. I wanted to see if it made a difference to set it to the full display resolution and it does appear to.

    1440
    # frame_height
    2560
    # P
    0
    # Q
    0

    ------- These are Look-Up Tables - For controlling backlight brightness values I *think* in correspondence with image luminance changes. need to fiddle more.



    # BL_linearity_LUT
    0 30 48 65 83 101 118 136 153 171 188 206 223 241 258 276 294 311 328 345 362 378 395 412 429 445 462 479 496 513 530 547 565 582 599 616 634 652 669 687 705 722 740 757 774 791 808 825 842 859 876 893 910 926 943 960 976 992 1009 1025 1042 1058 1074 1090 1106 1122 1138 1154 1170 1186 1203 1220 1237 1254 1271 1288 1304 1321 1338 1354 1371 1388 1405 1422 1439 1456 1473 1489 1505 1521 1537 1553 1569 1585 1601 1617 1633 1649 1666 1682 1699 1715 1732 1748 1764 1781 1797 1814 1830 1846 1862 1878 1894 1910 1926 1941 1957 1973 1989 2005 2020 2036 2051 2067 2082 2098 2113 2128 2144 2159 2174 2189 2204 2219 2234 2249 2265 2280 2296 2312 2328 2345 2361 2377 2393 2410 2426 2442 2458 2474 2490 2505 2521 2537 2552 2568 2583 2599 2614 2630 2645 2660 2675 2690 2705 2721 2736 2751 2767 2783 2798 2814 2830 2845 2860 2876 2891 2906 2922 2937 2953 2968 2983 2999 3014 3029 3045 3060 3075 3091 3106 3121 3136 3152 3167 3182 3198 3213 3228 3244 3259 3274 3289 3304 3319 3333 3348 3363 3378 3393 3409 3424 3439 3455 3470 3486 3502 3517 3533 3549 3564 3580 3595 3610 3625 3640 3655 3669 3684 3699 3714 3729 3744 3760 3776 3791 3807 3822 3837 3852 3867 3881 3896 3911 3925 3940 3955 3970 3985 4000 4016 4031 4047 4063 4079 4095
    # BL_linearity_inverse_LUT
    0 8 17 32 46 61 75 90 105 119 134 149 164 179 193 208 222 237 252 267 281 297 312 327 343 358 374 389 404 420 435 450 465 480 495 511 526 541 555 570 585 600 614 629 643 658 673 688 703 718 733 748 763 778 793 809 824 839 855 870 886 902 917 933 949 964 980 996 1012 1028 1045 1061 1077 1093 1109 1124 1140 1155 1170 1185 1201 1216 1231 1247 1262 1278 1293 1308 1324 1339 1354 1369 1385 1400 1416 1432 1448 1465 1481 1497 1514 1530 1546 1561 1577 1593 1608 1624 1640 1655 1671 1687 1702 1718 1734 1750 1766 1782 1798 1814 1831 1847 1863 1880 1896 1912 1929 1945 1962 1979 1995 2012 2029 2046 2063 2080 2097 2114 2131 2148 2165 2182 2199 2215 2231 2247 2263 2279 2295 2311 2327 2343 2359 2375 2391 2407 2424 2440 2456 2473 2489 2506 2522 2539 2556 2573 2590 2607 2624 2641 2658 2675 2692 2708 2725 2741 2757 2774 2791 2807 2824 2841 2858 2875 2891 2908 2925 2942 2959 2975 2992 3009 3026 3043 3060 3077 3094 3110 3127 3144 3161 3178 3194 3211 3228 3245 3263 3280 3298 3315 3332 3349 3366 3383 3400 3417 3433 3450 3467 3483 3500 3516 3533 3549 3566 3583 3600 3617 3635 3652 3670 3687 3705 3721 3738 3755 3771 3788 3804 3821 3838 3856 3873 3891 3909 3926 3944 3961 3979 3996 4013 4029 4046 4062 4079 4095
    # power_saving_coeff <-- alters the backlight scaling for battery performance (keeps brightness lower for longer it seems)
    1
    # BL_att_LUT <--
    0 128 250 290 316 336 384 448 512 576 640 704 768 832 896 960 1025 1122 1228 1345 1476 1623 1787 1971 2176 2406 2887 3456 3584 3712 3840 3968 4095
    # al_offset <-- This SHOULD be the ALS Offset value aka the Ambient Light Sensor value. Its a probably positive integer value that gets applied to the backlight brightness based off the ambient light. So this should impact the ambient light adjustments significantly. I need to play with it more.
    500
    # al_tolarance <-- this seems to prevent jitter. Like how often it samples or something. I need to play with it more to be sure.
    0.5
    #APICAL mode specific configuration <--- I've not played with mode levels much. IIRC there's like 4 levels. I need to play with it more.
    =config
    # mode
    1

    The R, S, T, U, V values I'm not 100% on yet. I imagine they are luma, chroma, etc values.

    # R
    0 2048 4096 6144 8192 10240 12288 14336 16384 18432 20480 22528 24576 26624 28672 30720 32768 34815 36863 38911 40959 43007 45055 47103 49151 51199 53247 55295 57343 59391 61439 63487 65535
    # back_min <-- what it sounds like: minimum backlight brightness
    0
    # back_max <-- max backlight brightness
    4095
    # back_scale <-- value scale range.
    4095
    # ambient_light_min <--- minimum light levels that will trigger scaling. I think it impacts how fast it will up the backlight.
    50
    # S
    1738 6
    # calibration_abcd
    34 95 16 0
    # T
    155
    # U
    5
    # V
    96
    # M_CC e4fc12c689e7a943eb72f97236215156

    I can find next to KNOW documentation on APICALs configs for Assertive. So as you can see its pretty much guess work and not very good guess work, lol. I really need to play with it more soon and pin down more of the functions.
    4
    what does this do exactly?

    Assertive Display was designed by APICAL. They are owned by Qualcomm and Qualcomm has built the tech into their SoCs.

    Basically, it adjusts the gamma curve, white balance, contrast, etc. of the display based on intensity and amount of ambient light. It can take a display that would be utterly crushed by sunlight and make it readable.

    Try it out.
    3
    i hope you dont mind if i use your file in my rom? i can give creds of course

    Sure :)
    2
    sounds like another issue lol.. mines never gone to 0 on auto and this is on multiple roms and kernels and even my vs995 was very first vzw phone to be dirty santa'd

    I'm on T-Mobile H918. Mine jumps from 50 to zero as soon as the light gets dimmed .