4.1.2 Настройка XFree86

В большинстве случаев установка XFree не представляет проблем. Однако, если вы желаете использовать видеокарту для которой драйвер находится в процессе разработки или добиться лучших разрешения или производительности от карты с графическим акселератором, то вам потребуется определенное время для настройки XFree.

В этой главе мы опишем как создать и отредактировать XF86Config файл, который настраивает XFree86 сервер.

В большинстве случаев лучше всего начать с ``основной'' XFree86 конфигурации, которая использует низкое разрешение , например 640x480, поддерживаемого всеми видеокартами и мониторами. Однажды настроив XFree на стандартное разрешение, вы можете затем подстроить файл конфигурации для для того, чтобы использовать все возможности, предоставляемые вашей аппаратурой.

В дополнение к информации приведенной здесь, вам следует ознакомиться со следующей документацией:

Основным файлом настройки XFree86 является файл /usr/X11R6/lib/X11/XF86Config. Этот файл содержит информацию о вашей мыши, параметрах видеокарты и т п. В качестве примера дистрибутив XFree86 содержит файл XF86Config.eg. Скопируйте его в файл XF86Config и отредактируйте.

XF86Config man page подробно объясняет формат этого файла. Прочитайте данный документ , если вы еще это не сделали. Далее мы собираемся просмотреть файл XF86Config участок за участком. Этот файл может выглядеть не совсем так, как файл в вашем дистрибутиве XFree86, но структура их совпадает.


!Заметьте, что формат файла XF86Config может изменяться с каждой версией XFree86; эта информация может быть верной только для XFree86 версии 3.1.


!Имейте также в виду, что не следует просто копировать конфигурационный файл, приведенный здесь и пытаться использовать его. Попытка использовать конфигурационный файл, не соответствующий вашему оборудованию, может заставить ваш монитор работать со слишком высокой для него частотой; были сообщения о выходе из строя мониторов (особенно мониторов с фиксированной частотой) при использовании неверных XF86Config файлов.

Каждая секция файла XF86Config определяется парой строк Section "<section-name>" ... EndSection. Первая секция файла называется Files, и выглядит следующим образом:


       Section "Files"
             RgbPath     "/usr/X11R6/lib/X11/rgb"
             FontPath    "/usr/X11R6/lib/X11/fonts/misc/"
             FontPath    "/usr/X11R6/lib/X11/fonts/75dpi/"
       EndSection

Строка RgbPath указывает местоположение базы данных цветов, а каждая строка FontPath определяет каталог, содержащий фонты. Как правило, вам не следует изменять эти строки, вам следует только убедиться, что все каталоги фонтов присутствуют.

Следующая секция имеет имя ServerFlags и определяет несколько глобальных параметров для сервера. Как правило эта секция пуста.


  Section "ServerFlags"
  # Uncomment this to cause a core dump at the spot where a signal is
  # received. This may leave the console in an unusable state, but may
  # provide a better stack trace in the core dump to aid in debugging
  #    NoTrapSignals
  # ncomment this to disable the <Crtl><Alt><BS> server abort sequence
  #    DontZap
  EndSection

Все строки данной секции закомментированы.

Следуюшая секция Keyboard. Она определяет работу клавиатуры.


    Section "Keyboard"
          Protocol    "Standard"
          AutoRepeat  500 5
          ServerNumLock
    EndSection
Доступны также и другие режимы. Описанные выше опции работают на большинстве клавиатур.

Следующая секция - Pointer определяет параметры мыши.


    Section "Pointer"
          Protocol    "MouseSystems"
          Device      "/dev/mouse"
    # Baudrate and SampleRate are only for some Logitech mice
    #    BaudRate   9600
    #    SampleRate 150
    # Emulate3Buttons is an option for 2-button Microsoft mice
    #    Emulate3Buttons
    # ChordMiddle is an option for some 3-button Logitech mice
    #    ChordMiddle
    EndSection

Единственными опциями, на которые стоит обратить внимание являются Protocol и Device. Protocol определяет протокол, который использует ваша мышь. Возможными типами (для Linux - есть другие опции, доступными для других ОС) являются:

Для Logitech busmouse следует использовать протокол BusMouse. Заметьте, что для старых мышей Logitech необходимо использовать протокол Logitech, а для новых или Microsoft, или Mouseman протокол.

Строка Device определяет устройство к которому подключена мышь. На большинстве систем Linux это /dev/mouse. /dev/mouse обычно связано с соответствующим серийным портом (например /dev/cua0 - COM1 или /dev/cua1 - COM2) или с портом busmouse. В любом случае убедитесь, что указанное устройство есть в каталоге /dev и работоспособно.

Следующая секция - Monitor, определяет характеристики вашего монитора. Файл XF86Config может содержать не одну, а несколько секций Monitor (это справедливо и для других секций). Это полезно в том случае, когда вы подключили к системе несколько мониторов или используете один и тот же XF86Config файл для различных конфигураций.


 Section "Monitor"
   Identifier  "CTX 5468 NI"
   # These values are for a CTX 5468NI only! Don't attempt to use
   # them with your monitor (unless you have this model)
   Bandwidth    60
   HorizSync    30-38,47-50
   VertRefresh  50-90
   # Modes:  Name   dotclock    horiz                vert
   ModeLine "640x480"  25       640 664 760 800      480 491 493 525
   ModeLine "800x600"  36       800 824 896 1024     600 601 603 625
   ModeLine "1024x768" 65       1024 1088 1200 1328  768 783 789 818
 EndSection

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

HorizSync определяет возможные скорости горизонтальной развертки для вашего монитора в Килогерцах. Если у вас многочастотный (multisync) монитор, вы можете указать интервал значений (или несколько интервалов, разделенных запятой), как показано выше. Если у вас монитор с фиксированной частотой, то вам надо указать список фиксированных значений. Например:


          HorizSync    31.5, 35.2, 37.9, 35.5, 48.95

В руководстве на ваш монитор эти значения должны быть описаны. Если вы не имеете этой информации, вам следует связаться с производителем или продавцом вашего монитора.

Строка VertRefresh описывает возможные значения частоты вертикальной развертки для вашего монитора в герцах. Как и для HorizSync вы можете указать интервал или список дискретных значений. Ваше руководство на монитор должно содержать эту информацию.

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

Строка ModeLine определяет один из режимов разрешения вашего монитора. Ее формат:


    ModeLine <name> <clock> <horiz-values> <vert-values>

<name> - строка, которую вы можете использовать в этом файле в дальнейшем для указания разрешения. <dot-clock> определяет частоту задающего генератора адаптера для этого разрешения. Обычно частота указывается в мегагерцах. Она определяет скорость с которой видеокарта должна посылать значения точек экрана на монитор при указанном разрешении. <horiz-values> и <vert-values> состоят из 4-х цифр каждая. Эти значения определяют, когда электронная пушка монитора во время развертки должна включиться и когда должны проходить импульсы горизонтальной и вертикальной синхронизации во время развертки луча.

Как описать строку ModeLine для вашего монитора? Файл VideoModes.doc, включенный в дистрибутив XFree86, детально описывает как определить эти значения для каждого разрешения, которое поддерживает ваш монитор. Значение clock должно соответствовать частотам, которые поддерживает ваша видеокарта. Далее в файле XF86Config вы определите эти значения.

Существует два файла modeDB.txt и Monitors в дистрибутиве XFree, которые могут содержать данные ModeLine для вашего монитора. Эти файлы располагаются в каталоге /usr/X11R6/lib/X11/doc.

Вы можете начать со значений ModeLine для мониторов стандарта VESA. Этот режим поддерживается большинством мониторов. Файл modeDB.txt включает описания синхронизации для стандартного разрешения VESA. В этом файле вы найдете такие строки:


    # 640x480@60Hz Non-Interlaced mode
    # Horizontal Sync = 31.5kHz
    # Timing: H=(0.95us, 3.81us, 1.59us), V=(0.35ms, 0.064ms, 1.02ms)
    #
    # name      clock   horizontal timing     vertical timing    flags
    "640x480"   25.175  640  664  760  800    480  491  493  525

Это стандартная строка синхронизации для разрешения 640x480 точек. Она устанавливает частоту 25.175 Mhz, которая должна поддерживаться большинством мониторов (более подробно об этом позже). В вашем файле эта строка должна выглядеть так:


    ModeLine "640x480" 25.175  640 664 760 800  480 491 493 525

Заметим, что аргумент name в строке ModeLine (в нашем случае "640x480") может быть любой строкой, которая описывает для вас разрешение монитора.

Для каждой строки ModeLine сервер проверяет, попадают ли указанные значения в интервал указанных значений Bandwidth, HorizSync и VertRefresh. Если нет, то сервер выдаст предупреждение при начале работы.

Если стандартные значения синхронизации VESA не работают у вас, то просмотрите другие значения в файлах modeDB.txt и Monitors для других типов мониторов. Заметим, что многие 14 и 15 дюймовые мониторы не могут поддерживать разрешений 1024x768 точек из-за низкого значения Bandwidth. То есть, если вы не нашли описание режима высокого разрешения для вашего монитора, то не исключено, что ваш монитор не поддерживает такое разрешение.

Если вы потерпели неудачу с подбором строки ModeLine, изучите инструкцию описанную в файле VideoModes.doc вашего дистрибутива. По этой инструкции вы сможете описать строку ModeLine по спецификациям, описанным в вашем руководстве на монитор.

В конце концов, если вы не можете подобрать правильные значения строки ModeLine, то вы можете просто слегка изменить эти значения для достижения требуемого результата. Например, если изображение на экране слегка уходит влево или вверх, вы можете по инструкции из файла VideoModes.doc настроить значения синхронизации. Проверьте также наличие управляющих клавиш на вашем мониторе! Частенько бывает достаточным изменить горизонтальный и вертикальный размер изображения во время работы XFree чтобы добиться желаемой центровки и размера изображения. Наличие этих клавиш на монитора значительно упрощает жизнь.

Следующая секция Device описывает параметры вашей видеокарты. Например:


       Section "Device"
                 Identifier "#9 GXE 64"
                 # Nothing yet; we fill in these values later.
       EndSection

Эта секция описывает возможности вашей карты. Identifier определяет имя этого описания для ссылки на него в дальнейшем.

Первоначально вам не стоит заполнять эту секцию, за исключением поля Identifier. X-сервер можно использовать в режиме определения параметров установленной видеокарты. После определения этих параметров вы занесете их в эту секцию. X-сервер способен определить тип микросхемы видеокарты, поддерживаемый интервал частот, наличие RAMDAC и размер установленной памяти на видеоадаптере.

Прежде чем мы это сделаем, нам следует закончить описание файла XF86Config.

Следующая секция - Screen описывает возможные режимы работы X-сервера с видеокартой и монитором.


          Section "Screen"
              Driver     "Accel"
              Device     "#9 GXE 64"
              Monitor    "CTX 5468 NI"
              Subsection "Display"
                    Depth      16
                    Modes      "1024x768" "800x600" "640x480"
               ViewPort   0 0
               Virtual    1024 768
           EndSubsection
     EndSection

Строка Driver определяет тип сервера, который вы будете использовать. Вы можете использовать следующие сервера:

Accel:

Для XF86_S3, XF86_Mach32, XF86_Mach8, XF86_8514, XF86_P9000, XF86_AGX, and XF86_W32 серверов;

SVGA:

Для XF86_SVGA сервера;

VGA16

: Для XF86_VGA16 сервера;

VGA2

: Для XF86_Mono сервера;

Mono

: Для non-VGA монохромного драйвера в XF86_Mono и XF86_VGA16 серверах.

Убедитесь, что файл /usr/X11R6/bin/X является символьной ссылкой на используемый вами сервер.

Строка Device определяет идентификатор секции Device, описывающей установленную видеокарту. Выше мы описали секцию Device с идентификатором:


    Identifier "#9 GXE 64"

Следовательно, здесь мы используем "#9 GXE 64" в строке Device.

Точно так же строка Monitor определяет имя секции Monitor для данного сервера, в данном примере "CTX 5468 NI".

Подсекция Display определяет режим работы сервера при выводе информации на экран. Файл XF86Config детально описывает эти режимы. Режимы, которые вам необходимо знать:

Существуют и другие опции для данной секции (см. руководство для файла XF86Config). На практике же другие опции не обязательны для начальной установки сервера.
Сайт создан в системе uCoz