[Intel-gfx] A question about Sync the default modes for LVDS output device
yakui.zhao at intel.com
Thu Apr 23 01:58:40 PDT 2009
A. Hi, Eric
It is not very good to add the giant tables of modelines. It will be
perfect if the modeline is generated by using CVT/GTF algorithm.
Then I use the CVT/GTF to get the mode and find that the mode
generated by CVT/GTF is different with the default mode in Xserver.
For example: the mode for 800*600 at 85HZ
GTF: "800x600_85.00" 56.55MHz 800 840 928 1056 600 601 604 630
CVT: "800x600_85.00" 56.75MHz 800 848 928 1056 600 603 607 633
default mode in xserver: 56.3MHz, 800 832 896 1048 600 601 604 631
At the same time there exists another issue. The GTF algorithm used
in userspace is realized by using float calculation. If we expect to add
it in kernel space, we will have to write it by using fix-point integer
calculation(32bit). I do such a test and find that there exists the
error about the mode parameter between userspace and kernel space.
For example: For the 1024*768 at 75HZ
GTF fix-point integer:
hsync_start =1084, hsync_end=1192, htotal=1365,
vsync_start =769, vsync_end=772, vtotal=803
Pixel_clock = 82210KHz
GTF user space:
hsync_start =1080, hsync_end=1192, htotal=1360
vsync_start=769, vsync_end=772, vtotal=802
Pixel_clock = 81180KHz
> These giant tables of modes are insane. Especially having a bunch of
> different refresh rates when the LVDS actually has a fixed refresh rate.
> Just generate a mode at each appropriate size using GTF or CVT.
> I'm not really sold on the whole idea of the kernel generating these
> fake modes for LVDS, given that we can support any size and that the
> refresh rate is a lie since we're always using the fixed mode. Any
> other opinions on this?
More information about the Intel-gfx