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
- 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
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:
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*
KControl: Not available
1) Color/Gamma – Gamma Profiles
2) Select your profile
3) Hit Apply
4) Turn screen off and on to view result*
* 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)
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!
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 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.
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
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.
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
The vividness of a color. This can range from black/white to neon like colors.
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: 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
Calibration (requires colorimeter)
Requirements for calibration
- A colorimeter (Like Xrite i1 Display Pro (recommended by Display Expert Francois Simond))
- 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
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):
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!
- 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.
- Less accurate than a colorimeter due to inaccuracy of the eye and ambient lighting
- Only one calibration possible: 6500K, gamma 2.2
Should I use the RGB sliders?
Short answer: No, only for very specific purposes.
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:
- 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?"
@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!