假设您已经拥有了经过精心调整的 XFree86 模式,并且您想在相同的条件下评估 Xinside:请按照下面描述的步骤操作,您应该能够做到;我们将使用我的默认视频模式作为一个实际例子,并且我将解释您需要做什么来转换它。
一个 Xfree86 条目看起来像这样
Modeline "blahblah" DOTCLK A B C D a b c d
A-D 和 a-d 中的每一个数字都有其含义:如果您想了解,可以在《X386/XFree86 视频时序 Hitchhiker 指南》(/usr/lib/X11/doc/VideoModes.doc)中查找,但是您不需要了解所有这些背后的理论也能执行成功的转换……
我的 Modeline 在 /usr/lib/X11/XF86Config 中是
Modeline "1168x876" 105 1168 1256 1544 1640 876 877 891 900
| | | | | | | | |
DOT_CLK A B C D a b c d
在 Xinside 中,您必须在 Xtimings 文件中添加一个条目,它应该位于 etc/ 目录中(从现在开始,我们假设您在顶级的 Xaccel 目录中,它应该类似于 /usr/X11/lib/X11/AcceleratedX)。
! Somewhere in the file, put here the name you want
[PREADJUSTED_TIMING]
PreadjustedTimingName = "1168x876 @ 72Hz";
!
! These four are obvious
!
HorPixel = 1168; // pixels
VerPixel = 876; // lines
PixelWidthRatio = 4;
PixelHeightRatio = 3;
!
! hsync: DOT_CLK / D * 1000 [KHz]
!
! hsync = 105 / 1640 * 1000 = 64.024 KHz
!
! vsync: ( 1 / (( D / DOT_CLK ) * d) ) * 1,000,000 [Hz]
!
! vsync: ( 1 / (( 1640 / 105 ) * 900) ) * 1,000,000
! ( 1 / 14057.1428571 ) * 1,000,000 = 71.138 Hz
!
HorFrequency = 64.180; // kHz
VerFrequency = 71.138; // Hz
! Obvious
ScanType = NONINTERLACED;
!
! Put here the +/-hsync +/-vsync XFree86 options
!
HorSyncPolarity = POSITIVE;
VerSyncPolarity = POSITIVE;
! Shouldn't change
CharacterWidth = 8; // pixels
! DOT_CLK here
PixelClock = 105.000; // MHz
!
!
! horizontal timings section: [usec]
!
HorTotalTime = D / DOT_CLK = 15.619;
HorAddrTime = A / DOT_CLK = 11.124;
HorBlankStart = A / DOT_CLK = 11.124;
HorBlankTime = HorTotalTime - HorBlankStart = 4.495;
HorSyncStart = B / DOT_CLK = 11.962;
HorSyncTime = C / DOT_CLK - HorSyncStart = 2.743;
!
! vertical timings section: [msec]
!
VerTotalTime = ( HorTotalTime * d ) / 1000 = 14.057;
VerAddrTime = ( HorTotalTime * a ) / 1000 = 13.682;
VerBlankStart = ( HorTotalTime * a ) / 1000 = 13.682;
VerBlankTime = VerTotalTime - VerBlankStart = 0.375;
VerSyncStart = ( HorTotalTime * b ) / 1000 = 13.698;
VerSyncTime = ( HorTotalTime * ( c - b ) ) / 1000
= 0.219
! Finished !
现在您必须将这个新创建的模式放在下面显示的文件中适当的位置。