Use a hardware calibration device, such as X-Rite's ColorMunki Display, for accurate monitor calibration. Dangle a sensor in front of your screen, press a few buttons, and you're done. It calibrates and saves a profile that is automatically loaded when you start your computer. If you purchase ColorMunki I suggest you skip the CD and download the latest software from X-Rite.
They also sell a less expensive version called ColorMunki Smile. Features are similar but there are no provisions for ambient light correction, setting white point, specifying a custom gamma, and disabling ADC (Automatic Display Control). I find the latter two features necessary for accurate calibration.
When calibrating the display choose the Advanced radio button to set luminance and white point. Recommended luminance for CRT monitors is 100 cd/m2 and 120 cd/m2 for LCD monitors. In a rather odd twist, if the display is too bright your prints will be too dark. That's because there is a tendency to reduce brightness when processing images. So if your prints are too dark, you need to lower the luminance level.
Recommended white point is D65 or 6500° Kelvin. When you calibrate with ColorMunki it will set your monitor to 6500 if it has a preset for this value and then fine-tune the results.
If you choose Native for the white point then ColorMunki sets your monitor to a user-defined preset in your OSD (on screen display) that includes adjustments for RGB values. It will then assume these colors are correct and generate a color profile to correct the luminance and gamma to the values you have selected. Native is not a recommended option.
By default ColorMunki will communicate with your display and automatically adjust contrast and brightness. If you are getting strange results then disable this feature and manually enter the correct values. Open ColorMunki, choose File > Preferences, and disable the ADC. Next time you calibrate you will be prompted to make these adjustments on your monitor. If you disable ADC then ColorMunki will no longer automatically choose a preset on your monitor and you should verify, before calibration, that the one you desire is selected.
Consider what happens if you disable ADC, specify D65 in ColorMunki, and choose the user-defined preset on your monitor. You will now calibrate to D65 with the added benefit that you can make small tweaks to RGB levels after calibration if so desired.
For personal use I disable ADC, specify D65, gamma 2.2, and 110 cd/m2 for luminance. The monitor is configured to use the user-defined preset with all 3 colors set to 90%. Disabling ADC lets me manually specify contrast and brightness for more accurate results. The resulting calibration, at D65, is satisfactory and no additional tweaks are required. I don't use the ambient light correction feature as lighting in my environment is constant.
After calibration verify that monitor gamma is 2.2. Then power down/power up (don't simply reboot) your computer and verify that monitor gamma is still 2.2. If colors change then here are some helpful hints. For my computer it was necessary to enable the "Use Windows display calibration" checkbox. If that doesn't work run msconfig and disable Intel's igfxpers.exe application and LOGO's calibration loader. Program igfxpers can sometimes take precedence over your calibrated results and there's no need for LOGO's calibration loader as Windows is now managing this task.
To run msconfig choose the Windows Start button and type msconfig. Choose the Startup tab, sort by Manufacturer, and disable the items shown.
I also discovered that merely examining the RGB values in the OSD for my monitor caused the gamma of the display to shift. To undo the shift required a power down/power up—simply restarting was not sufficient. In other words, if I had examined these values it was necessary to power down/power up before calibration.