Next: Ввод информации о видеоадаптере
Up: Система X Window
Previous: Автоматическое создание файла XF86Config
В этом разделе описывается, как создавать и редактировать
файл XF86Config, конфигурирующий сервер XFree86.
В большинстве случаев лучше всего будет начать с конфигурации,
в которой используется низкое разрешение, например, 640x480.
Такое разрешение поддерживается почти всеми видеоадаптерами
и мониторами. После того, как программу XFree86 удастся заставить
работать со стандартным (низким) разрешением, можно попробовать,
изменяя конфигурацию, более полно использовать возможности имеющегося
аппаратного обеспечения.
Такой подход позволит убедиться, что система XFree86 в принципе работает
на данном компьютере; это полезно сделать до того, как
перед системой XFree86 будут поставлены
отчасти сложные задачи для работы с высоким разрешением.
В дополнение к данной здесь информации, следует ознакомиться со
следующими документами.
- Документация к XFree86 в каталоге /usr/X11R6/lib/X11/doc
(из пакета XFree86-3.1-doc). Особенное внимание следует уделить
файлу README.Config, который является учебником по конфигурированию
XFree86.
- К некоторым типам микросхем, применяемым в видеоадаптерах, имеются
свои README-файлы в указанном выше каталоге
(например, README.Cirrus и README.S3).
Надо прочесть соответствующий файл.
- Экранная документация к XFree86.
- Экранная документация к XF86Config.
- Экранная документация к используемому серверу,
например, XF86_SVGA или XF86_S3.
Основным конфигурационным файлом системы XFree86 является
файл /usr/X11R6/lib/X11/XF86Config. Этот файл содержит информацию об
используемой мыши, параметры видеоадаптера и т.п. В качестве образца
в дистрибутиве приводится файл XF86Config.eg.
Для начала можно содержимое этого файла можно скопировать
в файл XF86Config и отредактировать.
Формат файла XF86Config изложен в экранной документации к нему.
С ней нужно ознакомиться (если это еще не сделано).
Далее здесь будет описываться некоторый образец файла XF86Config --
раздел за разделом. Этот файл может не быть в точности тем
образцом, который включен в дистрибутив XFree86 и о котором
упоминалось выше, однако структура его будет та же.
Следует иметь в виду, что формат файла
XF86Config может меняться с каждой новой версией XFree86.
Информацию о внесенных изменениях можно найти в документации,
сопровождающей данную версию.
Не следует копировать себе приведенный здесь файл
и пытаться использовать его.
Конфигурационный файл, который не соответствует характеристикам
аппаратного обеспечения, может выдать на монитор слишком
высокую для него частоту. Имеются сообщения о случаях повреждения
мониторов, особенно имеющих постоянную частоту развертки,
при неправильной конфигурации файла XF86Config.
Перед тем, как пытаться использовать файл XF86Config,
следует абсолютно твердо убедиться, что он соответствует
имеющемуся аппаратному обеспечению.
Каждый раздел файла XF86Config окружен парой строк
со следующим синтаксисом:
Section "название_раздела"...EndSection.
Первый раздел в файле XF86Config -- раздел 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 указывает путь к базе данных цветов X11R6 RGB.
Каждая строка FontPath указывает путь к каталогу, который
содержит шрифты X11. Эти строки не надо изменять. Надо просто убедиться,
что для каждого типа шрифтов, которые установлены в системе
(т.е. для каждого подкаталога в каталоге /usr/X11R6/lib/X11/fonts),
имеется своя строка FontPath.
Следующий раздел называется ServerFlags (флаги сервера).
Он задает положение некоторых глобальных флагов
(т.е. переменных со значениями типа "да" и "нет"). Как правило, этот раздел пуст.
Section "ServerFlags"
# Эту строку следует раскомментировать, если надо вызывать дамп
# ядра (core dump) в момент получения сигнала. Это может
# привести консоль в неработоспособное состояние, однако дает
# возможность лучше отследить состояние стека в дампе ядра, что
# облегчает поиск ошибок.
#
# NoTrapSignals
# Эту строку надо раскомментировать, чтобы отменить действие
# комбинации клавиш <Crtl><Alt><BS>, которые прерывают работу
# сервера
# DontZap
EndSection
В этом примере все строки в разделе ServerFlags закомментированы.
Следующий раздел -- Keyboard (клавиатура).
Приведенный ниже пример является
минимальной конфигурацией, которая должна работать на большинстве
компьютеров.
В файле XF86Config описывается, как производить модификацию этой конфигурации.
Section "Keyboard"
Protocol "Standard"
AutoRepeat 500 5
ServerNumLock
EndSection
Следующий раздел -- Pointer (координатное устройство).
В нем указываются параметры мыши.
Section "Pointer"
Protocol "MouseSystems"
Device "/dev/mouse"
# Скорость обмена (Baudrate) и частота опроса (SampleRate)
# указаны для некоторых мышей фирмы Logitech
# BaudRate 9600
# SampleRate 150
# Опция Emulate3Buttons применяется для двухкнопочных
# мышей Microsoft
# Emulate3Buttons
# Опция ChordMiddle применяется для некоторых трехкнопочных
# мышей фирмы Logitech
# ChordMiddle
EndSection
На данный момент опции, которые, может быть, придется менять,
это только опции Protocol и Device.
Опция Protocol обозначает используемый протокол,
имя которого не обязательно совпадает с названием фирмы-производителя.
Система XFree86, работающая в системе Linux, распознает следующие
протоколы интерфейса мыши:
- BusMouse
- Logitech
- Microsoft
- MMSeries
- Mouseman
- MouseSystems
- PS/2
- MMHitTab
Для мышей Logitech, подключаемых к шине (bus mouse),
должен использоваться протокол BusMouse. Более старые
мыши фирмы Logitech используют протокол Logitech,
а новые мыши этой фирмы с последовательным интерфейсом
используют либо протокол Microsoft, либо Mouseman.
Опция Device указывает файл устройства (device file),
через которое осуществляется доступ к мыши. В большинстве систем Linux
это файл /dev/mouse, который обычно является ссылкой на
соответствующий последовательный порт, например, /dev/cua0
для мышей с последовательным интерфейсом, и порт шины для
мышей, подключаемых к шине. Во всяком случае, надо убедиться,
что данное устройство
(файл) существует.
Следующий раздел -- Monitor (монитор).
В нем указываются характеристики монитора.
Подобно другим разделам файла XF86Config, разделов Monitor
может быть несколько.
Это полезно, если к компьютеру подключено несколько мониторов, или
если один и тот же файл XF86Config используется для нескольких
конфигураций аппаратного обеспечения.
Section "Monitor"
Identifier "CTX 5468 NI"
# Приведены величины только для монитора CTX 5468NI!
# Не пытайтесь применять их в своей конфигурации,
# если у вас не та же самая модель!
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 указывается любая строка, в которой будет
указано название монитора. Эта строка будет потом использоваться
при обращении к разделу Monitor
файла XF86Config.
Опция HorizSync указывает частоту горизонтальной синхронизации
монитора в килогерцах. Для многочастотных мониторов эта величина
может принимать значения из некоторого диапазона, или несколько
значений, разделенных запятой. Мониторы с фиксированной частотой
требуют указания списка дискретных значений, например:
HorizSync 31.5, 35.2, 37.9, 35.5, 48.95
Эти величины должны быть перечислены в руководстве к монитору
в разделе технических спецификаций. Если там их нет, можно связаться
с производителем или продавцом монитора и получить эти данные от них.
Опция VertRefresh указывает частоту вертикальной развертки
(или частоту вертикальной синхронизации) монитора в килогерцах.
Подобно опции HorizSync, здесь может быть как диапазон, так и список
дискретных значений. Этот список также должен быть в документации
к монитору.
Параметры HorizSync и VertRefresh
используются лишь для того, чтобы еще раз убедиться, что параметры
разрешения монитора находятся в допустимых границах. Это уменьшает
шансы, что монитор будет поврежден в результате выхода
частоты сигнала за дозволенные границы.
Директива ModeLine используется для того, чтобы указать режимы
разрешения монитора. Формат этих строк такой:
ModeLine \cparam{name} \cparam{clock} \cparam{horiz-values} \cparam{vert-values}
где name -- произвольная строка, которая будет использоваться
в дальнейшем (в этом же файле) при указании режима разрешения;
dot-clock -- частота
управляющего тактового генератора,
которая ассоциируется с режимом разрешения -- т.е. та частота,
с которой видеоадаптер должен
посылать пикселы на экран при данном разрешении
(обычно указывается в мегагерцах);
horiz-values и vert-values -- группы по четыре числа
каждая, которые указывают,
когда должна стрелять электронная пушка монитора,
и когда во время развертки подаются импульсы вертикальной и горизонтальной
синхронизации.
Файл VideoModes.doc, включенный в дистрибутив XFree86,
подробно описывает, как определять величины в строках
ModeLine для каждого режима разрешения, поддерживаемого
конкретным монитором. Значение clock
должно соответствовать одному из значений частоты
тактового генератора, которая поддерживается данным видеоадаптером.
Эти значения будут далее указаны в файле XF86Config.
Информация о том, что нужно писать в строку ModeLine,
может находиться еще в двух файлах:
modeDB.txt и Monitors. Эти файлы расположены в каталоге
/usr/X11R6/lib/X11/doc.
Начинать следует с тех значений в строке ModeLine,
которые являются
стандартными временными параметрами монитора для шины VESA. Файл ModeDB.txt содержит временные характеристики для
стандартного разрешения монитора для шин VESA. Например,
для видеорежима 640x480 эти стандартные значения таковы:
# 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
Управляющая частота для этого режима равна
Next: Ввод информации о видеоадаптере
Up: Система X Window
Previous: Автоматическое создание файла XF86Config
root
Sun Aug 29 12:01:30 MSD 1999