Приступаем

Предположим, что у вас имеется любимый видеорежим XFree86, и вы хотите перенести его в Xinside: для этого следуйте приведенным ниже инструкциям, у вас все должно получиться; в примере я использую мой любимый режим и объясню, как преобразовал его для XInside.

Строка Xfree86 выглядит примерно так:

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

Каждое из чисел A-D и a-d имеет конкретное значение: если хотите, можете взглянуть в 'Руководство по настройке видеорежимов X386/XFree86' (/usr/lib/X11/doc/VideoModes.doc), но для преобразования одного формата в другой эта теория вам абсолютно не нужна...

Моя строка видеорежима в /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)

!    Где-то в файле. Поместите здесь необходимое название режима

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

!
!    Эти четыре значения очевидны
!
    HorPixel          = 1168;         // точек
    VerPixel          = 876;          // строк
    PixelWidthRatio   = 4;
    PixelHeightRatio  = 3;

!
!   hsync: DOT_CLK / D * 1000 [кГц]
!
!   hsync = 105 / 1640 * 1000 = 64.024 кГц
!
!   vsync: ( 1 / (( D / DOT_CLK ) * d) ) * 1,000,000 [Гц]
!
!   vsync: ( 1 / (( 1640 / 105 ) * 900) ) * 1,000,000
!           ( 1 / 14057.1428571 ) * 1,000,000 = 71.138 Гц
!

    HorFrequency      = 64.180;        // кГц
    VerFrequency      = 71.138;        // Гц

!   Очевидное значение

    ScanType          = NONINTERLACED;

!
!   Здесь проставьте значения соответственно параметрам +/-hsync и +/-vsync из настроек XFree86
!
    HorSyncPolarity   = POSITIVE;
    VerSyncPolarity   = POSITIVE;

!   Не изменяйте

    CharacterWidth    = 8;             // pixels

!   Здесь укажите значение DOT_CLK

    PixelClock        = 105.000;       // MHz
!
!
!   интервалы горизонтальной развертки: [мкс]
!
    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;

 !
 !  интервалы вертикальной развертки: [мс]
 !

    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

 ! И все!

Этот вновь созданный видеорежим необходимо поместить в соответствующее место в файлах, которые я перечислю ниже.