4K SMPTE Standard Outputs

Ilya Anfimov ilan at tzirechnoy.com
Tue Jul 4 17:08:41 UTC 2017


On Tue, Jul 04, 2017 at 11:00:51AM -0400, Trevor Childs wrote:
>    I've run into a problem setting display modes. I'm attempting to output
>    3840x2160 @ 60Hz to a hardware recorder but the standard modes for 60Hz
>    and 59.94Hz actually come out to 60.02Hz and 59.98Hz. EDID data has
>    1080p at 60 as it's preferred mode, and scaling the numbers up leads to the
>    same rounding error (60.02Hz) as the predefined modes have.
>    Here's the modeline that has the incorrect refresh rate:
>    "3840x2160"   594.18   3840 4016 4104 4400   2160 2168 2178 2250
>    Here's how it's defined in kernel_source/drivers/video/modedb.c:

 And what is the hardware you are trying to setup?
 How pixel clock is defined there? With ~300 kHz steps?
 What modelines got you 60.02 and 59.98 Hz?
 Btw, if they are really close to 60.02 and 59.98, than one step down
should be around 59.94.


>    {.refresh = 60, .xres = 3840, .yres = 2160, .pixclock = 1683,
>    .left_margin = 296, .right_margin = 176,
>    .upper_margin = 72, .lower_margin = 8,
>    .hsync_len = 88, .vsync_len = 10,
>    .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT,
>    .flag = FB_FLAG_RATIO_16_9,
>    .vmode = FB_VMODE_NONINTERLACED},
>    The recorders are expecting SMPTE standard inputs, and reject the current
>    ones. I can use either 3840x2160 or 4096x2160, and the refresh rate can be
>    either 60Hz or 59.94Hz.
>    I have tested the other modes available, and 1080p works fine at 60Hz.
>    Both 4K modes work at 30Hz. It's when trying to set 4K @ 60Hz that the
>    granularity of the pixclock ends up being a problem (it would need to be
>    1683.5 for the math to work out the same as the other modes).
>    I attempted using cvt, cvt12, and gtf to generate modelines, but none of
>    them work either. I also used the source code from those programs to
>    attempt a brute-force method by generating as many modelines as I could
>    that end up within 0.0001% of the correct refresh rates (same accuracy as
>    the EDID's 1080p at 60 mode, which is actually 60.00006Hz). That generated
>    1520 possibilities that followed the math rules for modelines, but none of

 This suggests that it could be not the uneven refresh rate problem.
 It would be a bit strange to create recorder that can synchronize to 60 and 59.94,
but cannot on other +-0.5% errors.



More information about the xorg mailing list