• ServerLayout - общие установки;
• InputDevice - описания устройств ввода;
• Screen - конфигурация экрана;
• Device - описания графических карт;
• Monitor - описания монитора;
• Modes - описания видеорежимов;
• Files - пути к файлам;
• ServerFlags - опции сервера;
• VideoAdaptor - описание адаптера Xv (как сказано в интерактивном руководстве man, никто не говорит, что это такое, даже если знает!);
• Module - динамически загружаемые модули;
• DRI - конфигурация DRI;
• Vendor - установки для оборудования конкретных поставщиков (Vendor-specific configuration).
причем наличие всех секций не обязательно, но могут существовать несколько разных секций одного типа (только они должны иметь уникальные идентификаторы).
Секция ServerLayout имеет наивысший приоритет, т. е. именно с нее начинается анализ файла XF86Config при загрузке X-сервера. Эта секция определяет, какие устройства ввода/вывода будут использоваться в X-сессии. Устройства ввода - это клавиатура и мышь, которые задаются в секциях InputDevice (такие секции создаются отдельно для каждого устройства). Устройства вывода обычно состоят из нескольких независимых компонентов (графический адаптер и монитор), которые связываются воедино в секции Screen, на которую указывает ссылка в секции ServerLayout. Таким образом, секция ServerLayout должна содержать, как минимум, следующие строки:
Section "ServerLayout"
Identifier "MainSection"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Секция Screen определяет используемые монитор и видеоадаптер и задает режимы работы экрана. Она может иметь примерно такой вид:
Section " Screen"
Identifier "Screen0"
Device "Trident 3DImage985 (generic)"
Monitor "ViewSonic|ViewSonic G771"
DefaultColorDepth 24
Subsection "Display"
Depth 8
Modes "1024x768" "800x600" "640x400"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 32
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
EndSection
Как видите, она содержит указания на используемый графический адаптер (задается в секции Device с идентификатором "Matrox Millenium G200") и монитор (задается в секции Monitor с идентификатором "Monitor0").
Cекция Screen может содержать несколько подсекций (Subsection) Display, по одной такой подсекции на каждую глубину цвета. В каждой такой подсекции вы должны прописать те режимы монитора, которые будете использовать. Режимы задаются в строке Modes. Они указываются путем перечисления их наименований, взятых из секции Monitor (в точности в том виде, как эти названия указаны после слова Modeline). В одной строке можно перечислить любое число таких имен режимов. Первый из указанных режимов будет запускаться по умолчанию, в остальные можно будет переключаться (циклически), нажимая комбинацию клавиш ‹Ctrl›+‹Alt›+‹+› или ‹Ctrl›+‹Alt›+‹-› (используются клавиши ‹+› и ‹-› на цифровой клавиатуре).
В этой подсекции указывается также размер виртуального экрана, который будет использоваться сервером. Соответствующая строка имеет вид "Virtual xdim ydim", где xdim и ydim - размерности виртуального экрана. Например, вы можете иметь дисплей с разрешением 800* 600, а размер виртуального экрана задать равным 1024* 768. Тогда в каждый момент времени вы будете видеть на дисплее только часть полного изображения. Надо, однако, учитывать, что видеопамять должна хранить изображение, равное по размеру виртуальному экрану, а также то, что нежелательно занимать всю память хранением виртуального экрана, поскольку в этом случае не остается резерва на кэширование, что может повлечь потерю 30-40% производительности сервера.
Секция Monitor обычно начинается тремя строками, в которых указывается производитель монитора и его модель, однако если у вас только одна секция Monitor, то эти строки вполне могут иметь вид:
Identifier "Unknown"
VendorName "Unknown"
ModelName "Unknown"
Далее идут две очень важные строки, определяющие допустимые значения частот вертикальной и горизонтальной синхронизации. Для современных мульти-частотных мониторов эти строки могут иметь примерно такой вид:
HorizSync 30-70
VertRefresh 50-180
Для мульти-частотных мониторов с фиксированными частотами:
HorizSync 31.5, 35.2
VertRefresh 60, 65
Для мульти-частотных мониторов с несколькими интервалами допустимых частот:
Читать дальше