With a simple input like this:

cvt 1920 1080 60


cvt -r 1920 1080 60

it gives two modes with pixelclocks of 173 MHz and 138.5 MHz, respectively.

However, CEA-861 states that 1920x1080@60Hz mode should have a pixelclock of 148.5 MHz. My fullhd monitor happens to have been receiving exactly this frequency, as it shows in its on-screen menus.

Why is there such discrepancy and can the output of cvt be trusted at all, for any other modes such as 1920x1200@60 or 2560x1600@120 ?


CEA-861 is the newer standard, published in 2006. I would certainly trust that more than cvt.

According to its man page, cvt is based on the Excel spreadsheet published by vesa.org, which can still be found at https://web.archive.org/web/20090509063155/http://www.vesa.org/Public/CVT/CVTd6r1.xls and is dated April 9, 2003.

The spreadsheet has various values you can tweak: margin size, horizontal granularity of a character cell, how much time to allocate for horizontal and vertical sync...

The values produced by cvt without the -r option are calculated as suitable for a CRT display. With the -r option, the blanking intervals required by a CRT are reduced as much as possible, resulting in something that only a flat panel display might achieve. Of course you could be less than completely zealous in reducing the blanking intervals, and get pixel clock values anywhere in between those two extremes.

I would guess that the CEA-861 working group took another look at some of these values, and came up with fixed standard timing values that fit within the range produced by the various options of the VESA calculations.

Anyway, modern monitors with their digital interfaces will in the overwhelming majority of cases have their EDID data readable by the GPU. That EDID data can include the exact set of display timings for the optimal native resolution of the display, if necessary. (Often it isn't needed, and instead the EDID just references the CEA-861 standard timings by short ID numbers.) The DDC2 signaling that provides access to the EDID data is even implementable on analog VGA.

On laptops with integrated display panels, the EDID information might be embedded in the system firmware instead. But even on MacOS, it is pretty easily retrievable.

So you got me curious. Are you in the business of overclocking old CRT displays, or what are you needing the cvt for?

| improve this answer | |
  • I'm just trying to figure the typical pixel clocks for resolutions like 1920x1200@60 or 2560x1600@120. Of course, not aiming at CRT, but at current HDMI or DSI panels – lvd Aug 10 at 19:12

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.