GammaMeter is a simple tool for measuring gamma coefficient of display devices. It uses luminance comparision method, so it does not need any external hardware. GammaMeter uses MUI, is localized and is distributed with source code on BSD license.
The best method of gamma measurement is to use an external luminance meter, which directly measures screen surface luminance for different color component values. Then an experimental curve can be obtained and approximated with theoretical formula, giving the precise gamma value. Unfortunately luminance meter is an expensive device.
There is another method, not requiring any additional hardware. It is based on the fact that checkerboard pattern of pixels observed from some distance looks like an uniform square with its luminance being the mean value of luminance of darker and brighter checkerboard pixels. The simpliest approach is to generate black and white checkerboard and compare it with gray of value 0.5 (127 on 8 bits per component system). If the gamma of the monitor is 1.0, both the checkerboard and gray color will look as having the same luminance. On typical monitor with gamma >1.0, the checkerboard will look brighter. Then, when user can interactively change the gray level compared to the black&white checkerboard, he can find the value where luminances of both areas are the same. Then we can compute monitor gamma from adjusted grayscale level. Human eye is very sensitive to luminance differencies, so the measurement is quite precise. Of course not that precise as the method with luminance meter, but the gamma can be measured with 0.05 resolution.
GammaMeter uses some modification of the second method. It uses less contrasted checkerboards, and estimates three points of the gamma curve instead of one. Also small checkerobards are interleaved with reference gray level in bigger checkerboards, so the point of balance is easier to see.
The usage is easy. Start the program and you will see three checkerboards on the black field. If you look deeper, you can see every second field of a checkerboard is another small checkerboard. Then get some distance (more than 50 centimeters / 20 inches) from the monitor, so you can only see big checkerboards. Move the slider below to change gray level of half of every checkerboard fields. The goal is to make the big checkerboards looking like uniform color squares. It means your monitor gamma has been compensated and the value of the slider is direct gamma readout. It is possible that every of the three checkerboards compensates at slightly different slider position. It means your monitor characteristics differ from theoretic exponential curve and can be only approximately compensated. Using the value for the second checkerboard is then recommended.
It is also possible to measure separate gamma values for red, green and blue components and combinations of two - cyan, magenta and yellow. RGB components are switchable independently with items of "Color components" menu. It should be noted however that differencies between component gammas usually are at the level of measurement resolution.