I need to adjust gamma value. Is there any kernel/ROM with KCal enabled? Some other way? - Redmi 9 / Poco M2 Questions & Answers

If you want a story: by my assumptions, I have a sensitive vision (because apparently problem is too unpopular) - I prefer low light/darkness, and even on low brightness white point is already enough high for me, but dark colours are almost illegible. With some more brightness, whites become uncomfortable bright, while darks are still barely perceptible. I've faced that problem before - and it was perfectly cured with setting monitor gamma from 2.2 to ~1.2 (by color calibration on Windows and xgamma on Linux)! So I did some (desperate) research for Android, and... now I suppose that my best bet is KCal? Is there some stuff already or should I implement it myself? (And yes I've tried most of the obvious things.)
P.S.: I did that trick on PC five years ago - and I still can't believe I've been burning my eyes with that light projector for a decade and minded nothing but discomfort! I was so blind...
P.P.S.: Why this setting isn't there for user in the first place? I'm scratching my head. I mean, gamma is so undervalued! Even more, I've heard that it was possible to adjust gamma before Android 5 with a single root, but then Google decided to remove all the possibilities...

Any ideas?

Hmm... It's too quiet everytime when I ask this question. Anyway I've searched core codebase and didn't found any hardcoded gamma values. Most relevant founds were gamma_table (which I believe contains some gamme curve sequence) and color correction/LUT processing code (which is signed as mediatek+xiaomi work and dated 2019 iirc), but no input data or place where they actually used as I can tell. Maybe I just can't find/see something (it's my first such lookup ever lol and there's stateless C vs my OOP C# background), or maybe it's for these xiaomi hidden Advanced Display Settings with actual gamma slider (not working ofc, and maybe will never do), and maybe even OS itself uses it? Can't figure out with my little knowledge, but also can't belive there isn't any hardcoded gamma curve or something (assuming KCal is a core module so I think it uses core "values"), which will be enough for me. So I didn't gave up on this, but it looks like that even XDA community doesn't bothered by such lowkey problems and I must not expect any help whatsoever...

I still finding the way to adjust gamma on android too

Related

Lightsensor, controlling backlight. Change to lower setting.

Hi All.
I have wondered why the software that controls the backlight, with the light sensor, doesn’t adjust the backlight to the lowest setting, when the phone is in total darkness.
I use my phone in complete darkness almost every night, but I think the backlight is way to bright. I know I can adjust it manual, but why not automatic?
Do any of you bright heads, know a reg value to change or another solution, so I can "allow" the backlight to go to the lowest setting, automatically?
I find this anoying also. Any help would be great.
Anyone? I have looked in the registry but cant find anything... :-/
as far as i know there is no software\tweak that can change backlite to min
Same here. In my case, I'd like the backlight to be a bit brighter in brighter conditions, especially when in the car on a sunny day and I'm using iGo. Manually, I can set the backlight higher. I had a sony ericsson phone with a similar light sensor, but you could adjust its maximum threshold and the general brightness. Surely there's a software solution here somewhere!
I searched a little and quickly found some things:
1. The Diamond seems to have an in-built process to adjust brightness according to light sensor. Don't know if it works, though.
2. The registry keys are found at "HKEY_CURRENT_USER\BackLight\". You can modify brightness there, and it will affect the control panel BUT not change your current brightness. There is an Event you must trigger to update brightness. In many devices, this is the BacklightChangeEvent, in some others, this is SDKBacklightChangeEvent, and some others something different. Depends on the device and the manufacturer.
I wrote an app to change the registry value and trigger both SDKBacklightChangeEvent and BacklightChangeEvent. I can see on the control panel the value has changed, but the visible Brightness won't change. Seems HTC decided to make their own DLL to manage that, instead of standard windows mobile events.
So, I searched a bit further and I found that into "HKEY_LOCAL_MACHINE\Drivers\BuiltIn" there is a key called "Frontlight" which is apparently defining a value which points to Backlight.dll. This must be HTC's implementation of the Backlight manager. I was like "yay this will be my first windows mobile dll reverse engineering" BUT, I didn't find this file anywhere on the device, unfortunately.
If anyone could find it on the Diamond, please pass me the info !
Scotchy49 said:
I searched a little and quickly found some things:
1. The Diamond seems to have an in-built process to adjust brightness according to light sensor. Don't know if it works, though.
2. The registry keys are found at "HKEY_CURRENT_USER\BackLight\". You can modify brightness there, and it will affect the control panel BUT not change your current brightness. There is an Event you must trigger to update brightness. In many devices, this is the BacklightChangeEvent, in some others, this is SDKBacklightChangeEvent, and some others something different. Depends on the device and the manufacturer.
I wrote an app to change the registry value and trigger both SDKBacklightChangeEvent and BacklightChangeEvent. I can see on the control panel the value has changed, but the visible Brightness won't change. Seems HTC decided to make their own DLL to manage that, instead of standard windows mobile events.
So, I searched a bit further and I found that into "HKEY_LOCAL_MACHINE\Drivers\BuiltIn" there is a key called "Frontlight" which is apparently defining a value which points to Backlight.dll. This must be HTC's implementation of the Backlight manager. I was like "yay this will be my first windows mobile dll reverse engineering" BUT, I didn't find this file anywhere on the device, unfortunately.
If anyone could find it on the Diamond, please pass me the info !
Click to expand...
Click to collapse
Thank you. Its a lot of attention you have given this topic. For that I thank you. - Just too bad you cant find that dll. :-/ Hope some other helps.
backlight.dll found in Windows folder
axelpix said:
backlight.dll found in Windows folder
Click to expand...
Click to collapse
Thanks, for reference, there are the functions:
Code:
BKL_Close
BKL_Deinit
BKL_Init
BKL_IOControl
BKL_Open
BKL_PowerDown
BKL_PowerUp
BKL_Read
BKL_Seek
BKL_Write
inside the Backlight.dll
This has to be a lot easier.
I found some reg settings in HKCU\ControlPanel\BackLight, one of them called "AutoBklOffset". Actually this is exactly what we're searching for here: When I enter a value >0 here, the backlight instantly goes brighter, and the automatic backlight setting is still active and works.
so, what we have to do is figure out how to enter a negative value here.
Ideas?
Hmm, I don't think we can get anything only with the registry, but we don't lose anything to try, do we ?
I'll check again the registry.
Ok. Actually AutoBklOffset is linked to "Auto backlight adjust". This means that if auto backlight adjust isn't ativated, AutoBklOffset won't do anything.
Ok, all this search was fun. But I told myself: what if I just go ahead and try if the already built-in app works ?
And yea, it already works. Meaning if you put the device in front of the sun, it will go bright, and dim if you're in a dark place.
So I guess this is a configuration specific issue and don't need a new app. I'm out of tha place !
P.S.: It would have been actually quite stupid to include a Light sensor but not using it.
Scotchy49 said:
Ok, all this search was fun. But I told myself: what if I just go ahead and try if the already built-in app works ?
And yea, it already works. Meaning if you put the device in front of the sun, it will go bright, and dim if you're in a dark place.
So I guess this is a configuration specific issue and don't need a new app. I'm out of tha place !
P.S.: It would have been actually quite stupid to include a Light sensor but not using it.
Click to expand...
Click to collapse
my works fine
u can test it on bright light...u will see the change when u cover uper part oh the phone....it will dimm and u will se almost nothing...
microlomaniac said:
This has to be a lot easier.
I found some reg settings in HKCU\ControlPanel\BackLight, one of them called "AutoBklOffset". Actually this is exactly what we're searching for here: When I enter a value >0 here, the backlight instantly goes brighter, and the automatic backlight setting is still active and works.
so, what we have to do is figure out how to enter a negative value here.
Ideas?
Click to expand...
Click to collapse
This tweak still dosnt make the phone use the whole scale. From dimmest to brightest. :-/
Scotchy49 said:
Ok, all this search was fun. But I told myself: what if I just go ahead and try if the already built-in app works ?
And yea, it already works. Meaning if you put the device in front of the sun, it will go bright, and dim if you're in a dark place.
So I guess this is a configuration specific issue and don't need a new app. I'm out of tha place !
P.S.: It would have been actually quite stupid to include a Light sensor but not using it.
Click to expand...
Click to collapse
You misunderstand the issue.
With the backlight set to auto try using your phone in a completely dark room - the light sensor will detect this and the phone dims. Okay, now remove the auto setting and you will find that you can make the phone even dimmer than this using the slider. The lowest auto setting is equivalent to level 3 on the manual scale - what the guys here want to do is make this equal to level 1, or lower (or in the case of one poster make the maximum auto setting equal to the maximum manual setting, or perhaps even higher if possible).
The issue is therefore not whether or not the light sensor works (it does), or whether the phone can automatically dim/brighten the display in response to the ambient light level (it can), but whether it is possible to make the full scale range in automatic mode equal to that which the device offers in manual mode.
Mathew
Spot on!
Hi friends.
I have the problem using TomTom at car. When Diamond receive direct sun light it increases backlight until 70%, but not 100%; when I drive at night Diamond decreases backlight until 30%.
I would like adjust some values to 100% and 10% but I have no idea about registry or dlls.
aidrabmol said:
When Diamond receive direct sun light it increases backlight until 70%, but not 100%; when I drive at night Diamond decreases backlight until 30%.
I would like adjust some values to 100% and 10% but I have no idea about registry or dlls.
Click to expand...
Click to collapse
Nice summary
This exactly was the original topic of this thread.
Scotchy49 said:
Ok, all this search was fun. But I told myself: what if I just go ahead and try if the already built-in app works ?
And yea, it already works. Meaning if you put the device in front of the sun, it will go bright, and dim if you're in a dark place.
So I guess this is a configuration specific issue and don't need a new app. I'm out of tha place !
P.S.: It would have been actually quite stupid to include a Light sensor but not using it.
Click to expand...
Click to collapse
Did you come any further with the app?
I too would like to see a solution for the narrow range of light sensor adjustment. The screen stays too bright when ambient is dark.
In my Sprint CDMA Diamond, I see these registry entries:
HKEY_CURRENT_USER\ControlPanel\BackLight
LSensorReduceBKLDelay
LSensorAvegQuene
I wonder what they do. There must be some way to change the range of adjustment or the bias of the light sensor.

how to reduce galaxy note screen brightness without filter?

050820121030:
I have use the search button to see how i can lower screen brightness on galaxy note.
i found everywhere mentioning screen filter, it is not i don't like screen filter, but when i take screenshot it will be tinted gray.
so i decide to go to a more elegant way like what atrix 4g user did.
http://forum.xda-developers.com/showthread.php?t=1245332
i tried with my note, i cant find sys/bus/i2c/drivers/lm3532, i decided to check folder with the nearest name, but i can't find it.
so i decided to download linux, mind you i have no idea how to use linux.
i downloaded samsung ics opensource update 4, inside i can't find leds-lm3532.c,leds-lm3532.h,board-mot-lights.c.
so futhur dig found leds-lm3530c, the file structure is different with leds-lm3532.c, but i think it works the same.
any good suggestion from experts?
edit1 050820121203:
I decided to check what AdjBrightness do.
it is modifying the following files
/sys/class/leds/lcd-backlight/brightness
/sys/class/leds/amber/blink
/sys/class/leds/amber/brightness
/sys/class/leds/green/blink
/sys/class/leds/green/brightness
all return errors in note.
further investigation leads to Rootdim:
/sys/class/leds/leds-sec/trigger
/sys/class/leds/leds-sec/brightness
/sys/class/leds/leds-sec/mmc1::/trigger
/sys/class/leds/leds-sec/mmc1::/brightness
/sys/class/leds/leds-sec/mmc2::/trigger
/sys/class/leds/leds-sec/mmc2::/brightness
here all the triggers return error.
next thing i check /sys/class/
i see backlight/panel in it.
i also see lcd, leds and lightsensor.
have no idea, keep digging.
100820120935:
Found s6*aa*.c files inside driver folder.
There will be some info about 5.3inch screen.
Deeper search found that it only suplort 24 stages of brightness
From 0,1 to 30 is 0
Conclusion minimum brightness for galaxy note is 1(more than 30)
Keep digging.
100820121808:
s3cfb_s6e39a0.c contain brightness level from 1 to 24.
100820121815:
AMS529HA01 is samsung 5.3 inch galaxy note panel
s3cfb_s6e8aa0 -- the one we are using.
the following files also related to the above file.
s3cfb_s6e39a0
s3cfb_s6e63m0
s6d6aa1
s6dr171
s6e8aa1
smart_dimming
midas-lcd
setup-fb-s5p
the whole thing means samsung have tried other lcd before hd super amoled 5.3 inch?
keep digging for the brightness
150820121820:
End of research, the brightness for amoled devices only have 24 levels.
lower than that you will need to adjust contrast for better battery consumption.
if you use filter it wont decrease battery consumption, and it will affect your screenshot images clarity.
1609120512:
https://sites.google.com/site/androidnothize/no-dock/input-device-and-backlight
this shows you minimum brightness level is 30
http://forum.xda-developers.com/showthread.php?t=1709686
search for min_bl
http://forum.xda-developers.com/showthread.php?t=1154278&page=617
curve?
http://forum.xda-developers.com/showthread.php?t=1576355&page=222
N.E.A.K
So, what's the verdict? Are we stuck with "too bright in the dark" screens on our Note's?
d210 said:
So, what's the verdict? Are we stuck with "too bright in the dark" screens on our Note's?
Click to expand...
Click to collapse
For that purpose a screen filter works just fine for me.
Frankly it's not doing it for me, it looks like I'm looking through a grey plastic bag.
Andrew0811 said:
150820121820:
End of research, the brightness for amoled devices only have 24 levels.
lower than that you will need to adjust contrast for better battery consumption.
if you use filter it wont decrease battery consumption, and it will affect your screenshot images clarity.
Click to expand...
Click to collapse
So what is conclusion bro?
We can't use brightness below the SYSTEM-MINIMUM?
I also want more battery by reducing brightness to below 10.
AND yes you did well.
Good research.

Disable dynamic contrast?

I hate the dynamic contrast on this phone. To the point im thinking of returning it to get another phone. I was reading this review
http://www.anandtech.com/show/6747/htc-one-review/10
and it leads me to believe that it is possible somehow. "The HTC One includes a dynamic contrast function which can’t easily be disabled, as there’s no option in the display settings for it."
Does anyone know if theres a mod to do this or how I could do it? Maybe theres a rom that allows this? Its driving me crazy the way the backlight adjusts constantly.
Mr Sliff said:
I hate the dynamic contrast on this phone. To the point im thinking of returning it to get another phone. I was reading this review
http://www.anandtech.com/show/6747/htc-one-review/10
and it leads me to believe that it is possible somehow. "The HTC One includes a dynamic contrast function which can’t easily be disabled, as there’s no option in the display settings for it."
Does anyone know if theres a mod to do this or how I could do it? Maybe theres a rom that allows this? Its driving me crazy the way the backlight adjusts constantly.
Click to expand...
Click to collapse
Errm do you mean auto brightness? As dynamic contrast really isn't going to be noticeable enough to annoy anybody, as proven with TV's.
Try just setting brightness to 1/3 of the slider.
godofwar424 said:
Errm do you mean auto brightness? As dynamic contrast really isn't going to be noticeable enough to annoy anybody, as proven with TV's.
Try just setting brightness to 1/3 of the slider.
Click to expand...
Click to collapse
No I don't mean auto brightness. I would never use dynamic contrast on a tv. It's terrible and I don't know how anyone can not notice it.
Mr Sliff said:
No I don't mean auto brightness. I would never use dynamic contrast on a tv. It's terrible and I don't know how anyone can not notice it.
Click to expand...
Click to collapse
Dynamics contrast only affects pure black scenes and it is not really noticeable during a normal TV show. Apart from us lot most wouldn't notice it, but on this phone I can't notice It at all and it would be linked to auto brightness so that it tries to keep up a consistent experience. Try sticking a constant brightness and see if it's better
Sent from my HTC One using xda app-developers app
I am interested in the Dynamic contrast. I use 4 24in HP monitors at work and I actually am in the 5% of people who enjoy having it lol
Sent from my Nexus 10 using Tapatalk HD

Nexus 5: All color related things! (FAQ, Calibration Guide, Development)

Nexus 5 Calibration:
Welcome to this thread: This thread is all about colors and displays. Nexus 5 only though!
- “Easy part: Apps, profiles” is for those that just want to mess around with some of the user created profiles and then move on. You can find the frequently asked questions about the profiles here!
- “More technical part” is for those who are more interested in this topic. Reading this part is recommend before calibrating.
- “Calibration” is for those who want to create a profile themselves (requires colorimeter or spectrometer).
- “Testing without a colorimeter” is for those without a colorimeter, but are still anxious to mess around ^^
- “Current state of development” shows the questions we don’t know the answer to yet.
Click “Click to show content” to extend the information!
Easy part: Apps, profiles
How do I get a color calibration app?
Make sure you have a compatible kernel first, like Franco's
Either use:
Nexus Display Control (Free)
FKU (paid)
Faux123 Kernel Enhancement (paid)
Kcontrol (paid)
How do I get profiles?
They are pre-installed! Just tap:
FKU: Color Utils - Load a color profile - Import preloaded profiles
NDC: Load a color profile - Import preloaded profiles
Faux: No need to do anything!
KControl: Not available
Newest collection of profiles.
Link 1 (Be sure to give a thanks to @vomer)
Link 2 (Be sure to give a thanks to @The Gingerbread Man)
If you download a new profile, you have to put them in a specific location:
FKU: /franco.kernel_updater/color_profiles
NDC: /nexus_display_control/color_profiles
Faux: /com.teamkang.fauxdisplay/profiles
After this, you can select and apply the profile.
How do I apply a profile?
Nexus Display Control App or Franco Kernel Updater App:
1) Tap 'Load a color profile' (Under color utils in FKU)
2) Select your profile
3) Hit Apply
4) Turn screen off and on to view result*​
FauxClock:
1) Color/Gamma – Gamma Profiles
2) Select your profile
3) Hit Apply
4) Turn screen off and on to view result*​
KControl: Not available
* On some kernels not required
Which profile is the best?
There is no best profile unless you buy a colorimeter. Here is why:
Every display is different, so the profiles that are perfect for one display will probably not be as perfect on your display.
Everything is subjective: You might like a more blueish screen, you might want accurate colors. All depends on you what is perfect
Even if you have a seemingly perfect profile, you can't test it without a colorimeter
How do I test my profile?
This is a tricky question. I have tried to develop ways to test a profile without the use of a colorimeter and I failed. It's impossible. You will never know the exact gamma, color temperature, etc etc.
There are things you can test however! Move on to part: Testing without a colorimeter!
But if you do have a colorimeter, check out: Calibration (requires colorimeter)
I love this profile. How do I set it as standard?
Check the checkbox 'Set colors on boot' in the app. (It’s a slider in FauxClock)
Problems:
Help I screwed up! How do I revert?!
Rebooting the device resets the display to stock settings (unless you ticked ‘Set on Boot’)
Or load up the stock profile (in attachments below).
(If the previous don’t work, your issue is more severe. Reflashing kernel, rom should work. If not, you have a hardware issue. Google for more info or RMA)
I don't see any difference! Why?
1) Do you have root and is root applied to the app?
2) Did you turn your screen off and on?
3) Note that the differences can be small.
4) Clearing app data and cache can do magic.
If none of these solutions work, verify that colors do change with the profile "Test your settings" (Download below)
If the profile and app work, you should get a very blue screen. (Revert by rebooting or loading other profile)
If the profile doesn't work, please search thread first, then ask questions. Your question has most likely been answered already!
The app doesn't work! :crying::crying:
1) Verify you are using a compatible kernel! Franco/Faux/Elementalx are all compatible. There are certainly more compatible kernels. Just check in that kernel thread if the kernel is compatible.
2) Verify that you have root and that the app gets root.
Please search the thread before posting! Usually your question has already been answered 5 times.
If I want to load a profile, the app force quits. Help!
The profile is invalid. Redownload it or use another profile. If this doesn’t work, try clearing data and cache of the app.
More technical part: Gamma, color temperature and colorimeters
Definitions you must at least heard of
Luminance
Luminance is a photometric unit to describe the amount of light coming from the screen. It is usually measured in cd/m2 (also called nits). It is comparable to brightness, but brightness is the perceived luminance (so subjective luminance you could say). Example: A display with a luminance around 100 nits is not so bright in the sun, but very bright in the dark. The luminance in both examples is the same, while the perceived brightness is not.
Gamma
The eye has a non-linear response to light. To correct this, gamma correction is applied.Without doing this, images look too light. Increasing gamma, means increasing the saturation. More info
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Color temperature
Color temperature is basically a measure of the color hue of white light that is measured in Kelvin (K). When you increase the color temperature, the hue becomes more blueish, decreasing it will result in a more yellowish/reddish screen.
RGB
When you are looking at a digital image, you are looking at a lot of pixels that make up this image. Each of those pixels consists out of a three sets of RGB numbers. These numbers can range from 0 (black) to 255 (white). For example: 255,255,255 will produce white, whilst 255,0,0 will produce red. RGB values themselves do not say much. You have to tell in what colorspace there are. These different colorspaces have different gamuts. Webcontent and our display use sRGB.
Here is a RGB color mixer to get a grasp on RGB.
More info on gamuts
Saturation
The vividness of a color. This can range from black/white to neon like colors.
Contrast ratio
The contrast ratio is the ratio between the brightest color (white) and the darkest color (black) your display can produce. Our Nexus 5 displays usually have around 920 (based on various measurements I have seen).
Useful links for more information:
Wikipedia:
Luminance
Gamma
Color Temperature
RGB
Gamut
Saturation and more
Contrast Ratio
Cambridge in color
GammaFAQ by Charles Poynton (expert) (Might be a bit outdated as 1998)
ColorFAQ by Charles Poynton (expert) (Might be a bit outdated as 1998)
Some color math by Bruce Lindbloom
Saturation vs. Vibrancy (vid)
How LCD works (hardware)(vid)
What do the parameters mean?
In total there are 24 parameters (of which 23) are displayed. Each parameter controls the luminance of a part of the RGB range. All other aspects (gamma, color temperature, saturation, contrast ratio) are derived from that. As stated, each parameter controls a portion of the range. Shown in this image are the ranges:
Note that the ranges do overlap in certain values. This means that one RGB value can be controlled by two parameters. (But never three!)
Let's take parameter 11 as an example: Parameter 11 has a range of 144 to 202. These RGB values can be altered by altered parameter 11. Most affected by parameter 11 is RGB(175). This RGB value will change the most when altering parameter 11. Respectively, RGB(144) and RGB(202) will change the least.
Negative and positive?
Also you might have noticed, there are two arrays for red, two for green and two for blue. Why? It’s for more precision:
These two arrays get combined to form one resulting figure. It’s not as simple as 10 and 20 become 15. Therefore I recommend keeping the difference between the parameters small in order to avoid confusion. Also the negative and positive are not equal. 10 & 20 do not produce the same outcome as 20 & 10.
Overall it’s best to keep the same when calibrating initially. But when you need a certain luminance you can’t achieve when they are the same, divert them. This method works the easiest and you don’t lose track of your changes so easily.
The White Point
The White Point is an odd setting. It does not control the color temperature in any way, form of shape. It’s also highly doubtable that the LG devs ment the white point in the curves adjustment tools of Photoshop. Currently the exact function of it is unknown, but what we know is the following:
Although the range can be 0 to 255, it actually ranges till 63. After that it loops. (0=64=128=192 and 63=127=191=255)
It’s main purpose is to allow more control over the RGB curve. Instead of controlling ranges of RGB curves, the White Point is an overall setting that adjusts every channel and every RGB value.
The recommend setting is between 29 and 33 and the middle value is 31
What would be the ideal settings?
When you capture an image with a camera, you want to see the same colors on your screen as the colors in real life right? Well, that is called an accurate screen.
Though, a lot of manufacturers don't provide accurate colors. Why not? Because the masses like punchy colors with a higher color temperature. The truth is that we have become accustomed to those colors. An accurate display seems a bit yellow nowadays. But there is a way out! Once you experience a true accurate profile, the other profiles seem really blue. Like all the things in life, we get accustomed to it.
An accurate profile would contain:
Banding: None
Color Temperature: 6500K
Gamma: 2.2 - 2.4
Properly saturated colors (Automatically achieved with calibrated gamma)
Contrast ratio: Higher is better, but above 930 is already pretty good for our LCD displays
How accurate is stock?
Actually, stock is quite accurate in comparison to other phones. There is certainly room for improvement, but they definitely tried to calibrate our screen correctly. The color temperature is around 6500K (+- 300K). Gamma is a bit too low (2.0), but in comparison to other phones it is quite good.
I like the punchy colors, can I keep them?
Of course! Your display, your rules. Having a higher color temperature isn't necessarily bad, though you must compensate a little bit. The changed settings would:
Color Temperature: 7500K
Gamma: 2.3 - 2.5
Note that for compensation for the higher color temperature, you increase the gamma a bit. This also works the same way around for lower color temperatures. Also, the same things like no banding still apply
Calibration (requires colorimeter)
Requirements for calibration
A colorimeter (Like Xrite i1 Display Pro (recommended by Display Expert Francois Simond))
HCFR
Faux Gamma App or any other app that can edit these parameters (Like Kcontrol or FKU)
Microsoft Excel or any other sheet program (Like Libre Office)
Nexus 5 with compatible kernel
Time
At which brightness should I use to test?
Unless you use autobrightness, I recommend using the brightness you use the most. But, you have to keep using that brightness for comparisons of profiles. So pick a brightness to your likings, but be consistent! (And no auto brightness!). I usually use 100%.
Let’s get started!
Step 1: Preparations
1) Set the screen timeout to 30 minutes or longer.
2) Keep your screen on for 30 minutes at the predetermined brightness. You can use you phone, just don't turn your screen off.
(Your display needs to stabilize by warming up. If you were to measure in the first minute you will see that the results are quite different than after 30 minutes. To ensure proper calibration, one must warm up the screen for at least 30 minutes)
3) Make sure you have all the requirements listed above. Also download “Shades of Grey” to your phone and “Display Calibration Nexus 5 by yorici.xlsx” to your pc.
4) Extract the images from the file explorer to a folder on your phone. There are multiple versions. I suggest reading further first, but if you can’t wait, extract “Shades of Grey (Recommended).zip”
5) Connect your colorimeter to your pc and open up HCFR.
6) In HCFR: Press 'new' - Select 'View images' - 'Next'
- Then under 'Select a sensor in this list': Your colorimeter (Can be any name). Do not use a meter correction file unless you know what you are doing. - 'Next'
- Display Type: 'LCD White LED IPS' - Reading Type: 'Display' - OK
7) In HCFR: Go to Free Measures and make sure you have set the mode in RGB
Test if it works by pressing F7. It should have measured once now and you get a table of data with one row. If you click on it, you will see more data in the left pane below.
8) If your screen hasn't warmed up for 30 minutes now, just play a game or do something else. It might be useful to get a charger as you will have your display constantly on for the rest of the steps.​
Step 2: Set the goals
It is up to you what color temperature and gamma you want. I suggest you first read "More technical part: Gamma, color temperature and colorimeters" first before beginning with this. The accurate settings are there too. It's up to you how you want to calibrate though. These are my tips you should keep in mind:
Red is the limiting color in our display. Try to keep it maximised and play with blue and green
The blacks can be harder to calibrate. Try to aim for an accurate gamma though. Color temperature is less of importance because you won't see blue or red blacks as good as you would see blue whites or blue blacks.
Always turn screen off and on after editing parameters. No changes will occurs if you don't!
As you will have to turn off your screen a lot, it might be easier to temporarily disable your lockscreen. This can save some time.
Step 3: The first parameter
1) Open the Shades of Grey folder with a Gallery App (I prefer QuickPic)and just open the first image (begins with “a RGB(255,255,255)....”). These images are sorted in the right order, you will only need to swipe.
2) Do a 'Free Measure' by pressing F7. I do usually three times for more accuracy:
Those three results I combine in one value with less decimals (usually 1). You will always get three different results, so you can't use just one of them. You will need to average them out. This creates uncertainty and therefore you remove two decimals. (If you get three times the same result, please keep it to one decimal. It's very unlikely you will get three times the same results another time)
3) Note these values in max luminance in the spreadsheet
4) Measure the second image (black) and note these values in min luminance. When you edit them, you will see the other values change.
5) It will probably the case that the first two values aren't resulting in your desired goals. Now you must correct this by editing the parameters. Open up Faux Gamma App (or any other app that can edit the parameters like FKU or Kcontrol)
6) Let's say I want to achieve 6500K. For that to happen, every color channel needs to result in the same value. Lred=Lgreen=Lblue.
In my previous result: Blue and green were higher than red. Red was maxed out, so I need to decrease blue and green
In Faux Gamma App (and Kcontrol) the first 12 parameters are reversed: Increasing parameters will decrease colors
In FKU this annoyance is removed: If you increase any parameter, the corresponding color will always increase
To decrease blue and green for the first value, I need to increase the first parameter in Faux Gamma App and decrease in FKU. Pay attention to which parameter you are editing. The 13th to 23th parameters are normal.
How much you should adjust is not determined. The only thing you know is that when you have a difference of 5 in luminance (Desired vs. irl), the adjustment in the parameters should be less than when the difference is 50.
7) In general this applies: The more accurate each parameter was calibrated in relation to the next parameter, the better the gamma.
The more accurate each color channel (Red, green and blue) was calibrated in relation to another, the better the color temperature.
​
Step 4: The rest of the parameters
1) When you are done calibrating the first parameter, continue to the next parameter. I usually start by calibrating all red, then green and finally blue.
2) In the Gallery, swipe to "c - p(2) - RGB(254,254,254)". This means parameter 2 (the c is for the right order in gallery apps). Measure this three times and take average.
3) Swipe to "ca - RGB(255,255,255)". Measure it three times and take average. This is max luminance again.
4) (Optional for parameters 1 – 14) Swipe to "cb - RGB(0,0,0)". Measure it three times and take average. This is min luminance again.
5) In the spreadsheet: Fill in max and min luminance. Then compare the first average of p(2) with the suggested value of parameter 2 in the spreadsheet.
6) Adjust accordingly in Faux Gamma App, Kcontrol or FKU. Screen off/on! And repeat substeps 2 to 5 until desired value = p(2) value.
7 - 99) Repeat for every other parameter.
PRO TIP: Save your work every 6 parameters! Just save it as a profile. When you reboot, you might lose your progress as the default profile is stock.
Temporarily get rid of your lockscreen. Unless you use Faux Kernel, you will need to turn your screen off and on a lot. Removing the lockscreen will ease that a bit and save you time!.
NOTE: If you want to save some time, you can skip measuring blacks (cb - RGB(0)..) every time. Just measure it fifty times with F8 mode while moving the colorimeter over the screen. Take average of those and keep it at those. You should get “Shades of Grey (No blacks).zip” then. It is better to measure black for 15 to 23 though!
Step 5: Review the results
1) Get Voodoo Screen Test Patterns App (free)
2) Open the app and set the amount of measurement points in the settings. [More=better, but more difficult]
3) Set the equal amount of measurement points in HCFR: (I use at least 25, b/c 24 parameters)
HCFR – Measures – Parameters – Number of Grayscale levels
4) Press “GO” and it will show images on your PC. You have to press next on your phone to keep up with the images.
NOTES: It’s a bit wonky and you should take multiple attempts at this for more accuracy
If calibration is done correctly, the color temperature should be around 6500K (+- 75K). The average gamma should be very close to your setting. The gamma line itself can be a bit squigglier, but keep it around the gamma you have chosen earlier.​
​
Step 6: Share and contribute!
Please share you final product of hard work!
1) Save your profile using the Nexus Display Control app (FKU has this functionality too).
2) With a file explorer navigate to nexus_display_control/color_profiles and locate your profile.
3) Gather results from HCFR (right-click - save): gamma and color temperature (with saturation, luminance, near white, near black you are even better ;P)
4) Claim your glory and post the profile, HCFR images and you goals (which gamma and color temperature were you going for?) in this thread as a reply!​
If you are really satisfied with the result, please consider buying me a beer I have done a lot of research to get to these results and they have all been done in spare time.
Testing without a colorimeter
Most of the users don’t have a colorimeter and you might not either. What can you test?
Banding: Less accurate, but still possible, you can check banding! By using gradient you can review the smoothness of the gradient. I have included gradients that are capable of doing this! You are looking for sudden interuptions in the gradient. If it is good, the gradient will appear smooth without any distortions.
Color Temperature: Though, incredible inaccurate and very biased, you can check color temperature subjectively. I do not recommend relying on it, but you can see the differences in hue and adjust the parameters. Though there is no way to measure it. I have included gray images that you can use!
You just swipe through the pictures and you will notice the different hues. Though it subjective to judge which one is incorrect…
Gamma: Short answer: No, not really.
Long answer (involves Display Tester App):
Although Display Tester App (and more apps alike) claim to test gamma, their results are biased . The principle the Display Tester App relies on is the following:
You create a background with a grid. The grid is composed of RGB (255,255,255) and RGB (0,0,0). This is the same as 0% and 100% gray. Because the eye can’t see individual pixels, the grid blends to a half tone: 50% gray. If you place a 50% gray block on the background, they should match. Up till this part, everything is correct.
There is one problem: The Display Tester App only tests 50% gray. 50% gray results in RGB (186,186,186). So basically, you are only testing only one RGB value out of 256.
To make this even more fun: The Display Tester App also messed up the background… While it should be a perfect grid of 0 and 255, it actually goes from 0 to 8 and 247 to 255. No, this is not better, it only is more biased. You can’t rely on RGB (1 to 254) as they are not calibrated yet.
If you have used the app, you may have noticed that changing the viewing angle, changes the outcome. The outcome is also dependent on ambient lighting, if the screen has been warmed up for 30 minutes, your eyes, brightness.
With so many variables you can’t believe this app will produce any reliable result… Even if it did, it would only count for RGB (186).
My advice: Do not rely on the Display Tester App or any other app that claims to be able to measure your gamma!
Notes:
- 50% gray = 0.5^(1/2.2) * 255 = 186 (It’s not 127/128 due to gamma correction)
- You can see for yourself that the app is biased: Change parameter 9 (any color) to 255. Open the app: no real difference right? The 2.2 box will remain the same and the background too, while if you look at photographs there is noticeable something wrong! This can’t be right, can it?
Saturation: Forget it.
Contrast: Very complicated process with another camera perhaps. Google is your friend. (It will be quite inaccurate: the camera alters the picture too (white balance))
Color checker cards
You could buy color checker cards and use those to calibrate. It's a bit cheaper.
Disadvantages:
Less accurate than a colorimeter due to inaccuracy of the eye and ambient lighting
Only one calibration possible: 6500K, gamma 2.2
If you are going to spend more than 40 on it, I suggest you buy a cheap colorimeter instead.
Should I use the RGB sliders?
Short answer: No, only for very specific purposes.
Long answer:
The RGB sliders shouldn’t be used if you want to improve your screen. If you want to make your screen all red, the sliders are perfect.
What the sliders to is limit the RGB range. If you set the red slider at 240, RGB(255) will become what normally was RGB(240). Every RGB value gets relocated from there between RGB(0) and RGB(240). You are basically limiting the amount of colors you can display. Not that awesome right? (Unless you want to do this)
Current state of development
Not everything has been uncovered yet:
Can be predicted how much one should increase a parameter to get a certain luminance?
My idea: Let’s assume that an increase of parameter Y with amount X always increases Luminance(Y) with the same amount. Let’s call the screen’s calibration when every parameter is set at 0, the base calibration. That base calibration is different for each display and define the characteristics. When measured correctly, one could calculate how much each parameter should be increased to get the desired luminance.​
Explanation needed for the strange behavior of the first 8 parameters when all set to 0.
What is the mathematical connection of the white point in relation to the parameters?
The so called ‘white point’ is the only parameter that can adjust the entire RGB range. What is the mathematical connection between each individual parameter and the white point?​
Changelog and credits:
Changelog:
26-5-14: Initial post placed
27-5-14: Fixed link, added color checker cards (Thx Tzfardaya), added white point measurements in post #2
1-6-14: Fixed type, thx @nihil0
16-6-14: Added profile: Yorici_Calibrated_Punch (see second post)
20-6-14: Added more info in FAQ under "How to get profiles?"
Immense thanks to:
@supercurio, @myfluxi, @faux123, @franciscofranco, @mag01, @rajendra82, @gpvecchi, @Tzfardaya, @granets, @tkoreaper, @ChazzMatt, @neriamarillo, @vomer, @The Gingerbread Man and everyone that helped with this!
If you still have any questions that weren’t explained (clearly enough), feel free to ask in this thread. I will keep adding questions which I think are useful!
NEW! Gamma Corrected Brightness (GCB)
Let's do a little experiment shall we? Set your screen's brightness at 0%, 50% and 100% consecutively. Notice something odd? That's right! The 50% doesn't seem like 50%. Why you ask? Well you are not a robot, but a fabulous human that perceives brightness different (i.e:non linear). Well how do you fix this?
We are introducing Gamma Corrected Brightness! This will solve that nasty issue we talked about. Best thing yet, this baby comes with multiple modes and works for every brightness level! And this will save you battery too! With GCB you will have a greater tendency to set a lower brightness than you normally would and that saves battery life!
Four modes are:
- Stock
- Gamma 2.0 (Stubborn) – A little bit more stubborn than the natural one for those who need that
- Gamma 2.2 (Natural)– The natural one that seems normal like it should be!
- Gamma 3.0 (Nightmode) – This one is for night times ^^
How to use:
1) Download and install Furnace Kernel
2) Open terminal
3) Enter for:
Stock: echo “0” > /sys/module/lm3630_bl/parameters/gamma_correction
Stubborn: echo “1” > /sys/module/lm3630_bl/parameters/gamma_correction
Natural: echo “2” > /sys/module/lm3630_bl/parameters/gamma_correction
Nighttime: echo “3” > /sys/module/lm3630_bl/parameters/gamma_correction
4) Done!
If you love Gamma Corrected Brightness, please consider to buy @savoca and @yorici a drink!
_________________________________________________________________________________________
Profile:
Yorici_Calibrated_Punch:
Goal: Maximum brightness possible with 2.35 gamma
Result:
Average gamma: 2.36
Contrast ratio: 1:1017
Color temperature: Around 8800K
Higher saturation due to higher gamma
Maximum brightness of 500 nits vs 440 nits on stock
So brighter, more saturated and higher color temperature: what is usually called punchy!
Advanced graphs:
The color temperature might appear to be really bad, but there is a reason for this:
On full black I get these luminances: R:0,4 G:0,4 B:1,2. The color temperature of this is > 12.000K. To preserve maximum brightness I had to keep these values. This difference of 0,8 slims down when luminance gets higher. And you can see that from 25% gray and on the color temperature remains more stable.
You will also notice that gamma gets a bit more wobbly at the end. That is because the measured values change more dramatically than at the beginning of the curve. I might try to decrease the wobblyness more in the future.
See attachments for profile!
Yorici_Calibrated_Accurate
Still in the works.. (Harder to make)
_____________________________
White point:
I have taken 16 measurements of the entire RGB curve and made gifs out of them:
Luminance:
RGB levels:
Color Temperature:
The slight bumps some times are due to mistakes, vibrations (got a text), etc. Ignore them.
What can we learn from this about the white point?
The white point seems to have the most effect on red (as seen in Luminance)
Extremer white point (towards 0 and 63) tend to increase the differences between the colors
That diversion gets bigger 50% - 100% gray with white point 31 - 63
That diversion gets bigger 0% - 50% gray with white point 0 - 31
White points 0 to 10 and 53 to 63 are more unstable and lead to unpredictable results.
A white point around 31 seems the best
Anything else?
Nice thread ...
great post buddy :good:
everyone: be sure to tag me if you make new profiles and want them added to my server
There is a way to do a very basic calibration without a colourimeter... but it requires a set of digital colour cards...
Basically a sheet printed with specific squares of colour you take a picture of said card, and then compare the colour displayed on screen with the colour of the card.... With a proper calibration, the two will match. (after correcting white balance)
Tzfardaya said:
There is a way to do a very basic calibration without a colourimeter... but it requires a set of digital colour cards...
Basically a sheet printed with specific squares of colour you take a picture of said card, and then compare the colour displayed on screen with the colour of the card.... With a proper calibration, the two will match. (after correcting white balance)
Click to expand...
Click to collapse
But again dependent on your eyes, ambient lighting, etc. ;/
Not ideal, but I can't disagree that it is indeed a method.
yorici said:
But again dependent on your eyes, ambient lighting, etc. ;/
Not ideal, but I can't disagree that it is indeed a method.
Click to expand...
Click to collapse
More reliant on your eyes than ambient lighting, since you should look at the picture under the same light. but yeah, it's a very rough way... Slow, tedious, and usually used more to check the calibration and white balance/colour correct photographs than actually calibrating the screen....
Tzfardaya said:
More reliant on your eyes than ambient lighting, since you should look at the picture under the same light. but yeah, it's a very rough way... Slow, tedious, and usually used more to check the calibration and white balance/colour correct photographs than actually calibrating the screen....
Click to expand...
Click to collapse
I assume you would buy a white tile that is 6500K? I could mention it in my thread though
yorici said:
I assume you would buy a white tile that is 6500K? I could mention it in my thread though
Click to expand...
Click to collapse
Heh, the white card is based on srgb, and is what a "properly calibrated and full srgb gamut" display should show at 255/255/255, same with the black card (0/0/0).
I also have an 18% grey card...
Makes white balancing a photograph extremely simple....
But can also be used (with great difficulty) to help calibrate a display (or check the displays calibration)
My man, I am subscribed! I'll update the required posts and threads by me when I'm feeling fresher (sober) in the AM
Edit
Nice to see this got stickied nice one!
Sent from my Nexus 5 using Tapatalk
nice thread, but the link to vomer's screen profile is broken because you add (" ") between the link
The Gingerbread Man said:
My man, I am subscribed! I'll update the required posts and threads by me when I'm feeling fresher (sober) in the AM
Edit
Nice to see this got stickied nice one!
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
I'm happy with the sticky as well
gravityy said:
nice thread, but the link to vomer's screen profile is broken because you add (" ") between the link
Click to expand...
Click to collapse
Good catch
Color temp is pretty good stock. For me its the gamma that drives me nuts. I've been waiting for your results to start with mine. As you noted Franco fixed his interface.
Thanks a ton. Spent my donation/app fund this week on Peek. You're up next.
Subscribed! Awesome work and lots of good info. Thanks @yorici
Are you able to share with us your profile @yorici? Will definitely be referencing this thread when I buy my own colorimeter in the coming month!
Sent from my Nexus 5 using Tapatalk
blackt5 said:
Color temp is pretty good stock. For me its the gamma that drives me nuts. I've been waiting for your results to start with mine. As you noted Franco fixed his interface.
Thanks a ton. Spent my donation/app fund this week on Peek. You're up next.
Click to expand...
Click to collapse
Haha great dude! Yeah it's more gamma that needs some attention, but color temp can be improved too. Also, if you have the money and you are willing to spend it, I would suggest buying a xRite i1 Display Pro. You would want this one for the speed. It very quick in measuring. (I got it recommended by Francois Simond. He has been calibrating the displays of the One Plus One) If you are completely crazy about colors, you should buy a spectrophotometer. But that is > €1000...
Bobtehblob said:
Are you able to share with us your profile @yorici? Will definitely be referencing this thread when I buy my own colorimeter in the coming month!
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
I must confess Everytime I start calibrating I discover something I don't know yet and I begin investigating it further Yesterday I took 16 measurements of the white point of which I will posts gifs of (So you can see the change). I just get intrigued and stop calibrating So I have some half baked profiles I need to continue.
In my opinion n5 display looks better than any other smartphone display I came across. It's just so easy on the eyes, I get a headache when I look other oversaturated panels. I'm not a gamma expect but I know how people faces are supposed to look so I pay a lot of attention to the skin tones when I look at the images on my phone, and any custom made profile can't be compared in the terms of color accuracy to the stock one. After all, can we calibrate the screen better than Google?
Bright Red Nexus 5
Updated post 2 with gifs about the white point! Please comment if you feel I missed something or concluded wrongly
defffizz said:
In my opinion n5 display looks better than any other smartphone display I came across. It's just so easy on the eyes, I get a headache when I look other oversaturated panels. I'm not a gamma expect but I know how people faces are supposed to look so I pay a lot of attention to the skin tones when I look at the images on my phone, and any custom made profile can't be compared in the terms of color accuracy to the stock one. After all, can we calibrate the screen better than Google?
Bright Red Nexus 5
Click to expand...
Click to collapse
The 'look at the faces' is indeed a good test to see if the display is a bit oversatured. Can we calibrate better? Yes, definitely.
The reason for this is that Google didn't do the calibration LG did. And LG had to build a profile that was an good average on all displays. No display can be exactly the same and especially when you have millions of units. The calibration is therefore not optimized on a per display basis and you can improve it
@yorici,
I have a eye one pro

[Q] Oneplus One capacitive buttons for notifications

Hi guys,
I was thinking about the possibility to make (for example) the home button of the OPO on the bottom blink for notifications in stead of the notification led at the top.
Does someone know an app that can make this happen?
Sorry if this question is already asked elsewhere but I didn't find it up till now.
Grtz
It's more than possible, it's called back-light notifications (BLN) search the playstore and you should see some apps. Though I don't understand why you'd want it, seeing how there's a notification led (that'd consume less battery), but I suppose to each their own?
Edit: Sorry had a brainfart, and forgot to mention you most likely need a kernel which supports BLN and to my knowledge no one has included it, since it's a bit redundant, and taxes the cpu and impacts battery life for no reason. It's extremely useful on phones without a notification led, and more common. But I suppose it can be easily ported to the 1+ if there's an oppo find7a kernel that supports it, if you wanted to tackle it.
Edit 2: Looked around, and apparently an app called 'LightFlow' might not need a custom kernel (?) Worth checking out.
Exothermic said:
It's more than possible, it's called back-light notifications (BLN) search the playstore and you should see some apps. Though I don't understand why you'd want it, seeing how there's a notification led (that'd consume less battery), but I suppose to each their own?
Edit: Sorry had a brainfart, and forgot to mention you most likely need a kernel which supports BLN and to my knowledge no one has included it, since it's a bit redundant, and taxes the cpu and impacts battery life for no reason. It's extremely useful on phones without a notification led, and more common. But I suppose it can be easily ported to the 1+ if there's an oppo find7a kernel that supports it, if you wanted to tackle it.
Edit 2: Looked around, and apparently an app called 'LightFlow' might not need a custom kernel (?) Worth checking out.
Click to expand...
Click to collapse
Just wanted to thank you for helping someone out. You are awesome ?
Oneplus Nexus 5
I like the idea. But unless the capacitive buttons are bright enough to actually see... I just can't see this working all that well. Really wish the buttons were brighter so that this would be possible.
Sent from my A0001 using Tapatalk

Categories

Resources