下一页 上一页 目录

3. 开始吧

假设您已经拥有了经过精心调整的 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 !

现在您必须将这个新创建的模式放在下面显示的文件中适当的位置。


下一页 上一页 目录