Następna strona Poprzednia strona Spis treści

3. No to start.

Załóżmy, że masz jakiś tryb w XFree86 i chcesz z niego zrobiæ wersjê dla Xinside z tymi samymi warunkami: postêpuj zgodnie z opisanymi poniżej krokami, a powinno ci siê udaæ. Użyjemy moich domyślnych trybów video jako przykładów z życia wziêtych i wyjaśniê co musisz zrobiæ, żeby je zamieniæ.

Pozycja w XFree86 wygląda tak:

Modeline "blahblah" DOTCLK  A B C D  a b c d

Każdy z numerów A-D i 1-4 ma swoje znaczenie: jeśli chcesz, możesz ich poszukaæ w "The Hitchhiker's Guide to X386/XFree86 Video Timing" (/usr/lib/X11/doc/VideoModes.doc), ale nie musisz znaæ teorii, żeby je zamieniæ...

Moje tryby w /usr/lib/X11/XF86Config to:

Modeline "1168x876" 105  1168 1256 1544 1640  876 877 891 900
                     |     |    |    |    |    |   |   |   |
                  DOT_CLK  A    B    C    D    a   b   c   d

W Xinside, musisz dodaæ pozycjê w pliku Xtimings, który powinien siê znajdowaæ w etc/ (od teraz zakładam, że jesteś w głównym katalogu Xaccel, którym powinien byæ /usr/X11/lib/X11/AcceleratedX).

!    Gdzieś w tym pliku, umieśæ nazwy które chcesz

[PREADJUSTED_TIMING]
    PreadjustedTimingName = "1168x876 @ 72Hz";

!
!    Te cztery są oczywiste
!
    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

!   Oczywiste

    ScanType          = NONINTERLACED;

!
!   Umieśæ tutaj opcje +/-hsync +/-vsync z XFree86
!
    HorSyncPolarity   = POSITIVE;
    VerSyncPolarity   = POSITIVE;

!   Nie powinno siê zmieniaæ

    CharacterWidth    = 8;             // pixels

!   Tutaj jest DOT_CLK

    PixelClock        = 105.000;       // MHz
!
!
!   Sekcja czêstotliwości poziomych: [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;

 !
 !  Sekcja czêstotliwości pionowych: [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

 ! Koniec!

Teraz tak nowo stworzone tryby musisz umieściæ w plikach pokazanych poniżej w odpowiednich miejscach.


Następna strona Poprzednia strona Spis treści