6.4. Конфигурация X11

Текст предоставил Christopher Shumway.

6.4.1. Перед тем, как начать

Перед настройкой X11 необходима следующая информация о конфигурируемой системе:

Характеристики монитора используются в X11 для определения рабочего разрешения и частоты. Эти характеристики обычно могут быть получены из документации, которая прилагается к монитору или с сайта производителя. Тут нужны два диапазона значений, для частоты горизонтальной развёртки и для частоты вертикальной синхронизации.

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

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

6.4.2. Конфигурирование X11

Начиная с версии 7.3, Xorg зачастую может работать без какого-либо файла настройки, для его запуска достаточно просто набрать:

% startx

Начиная с версии 7.4, Xorg может использовать HAL для автоматического поиска клавиатуры и мыши. Порты sysutils/hal и devel/dbus будут инсталлированы как зависимости x11/xorg, но для их включения необходимо иметь следующие записи в /etc/rc.conf file:

hald_enable="YES"
dbus_enable="YES"

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

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

Замечание: Такие оконные менеджеры, как GNOME, KDE или Xfce имеют собственные утилиты, позволяющие пользователю легко устанавливать такие параметры, как разрешение экрана. Поэтому, если конфигурация по-умолчанию не подходящая и вы планируете инсталлировать эти оконные менеджеры, просто можете продолжить настройку рабочей среды, используя их собственные утилиты для установок параметров экрана.

Процесс настройки X11 является многошаговым. Первый шаг заключается в построении начального конфигурационного файла. Работая с правами суперпользователя, просто запустите:

# Xorg -configure

При этом в каталоге /root будет создан скелет конфигурационного файла X11 под именем xorg.conf.new (там, куда после su(1) или непосредственного входа будет указывать переменная $HOME). Программа X11 сделает попытку распознать графическое оборудование системы и запишет конфигурационный файл, загружающий правильные драйверы для обнаруженного оборудования в системе.

Следующим шагом является тестирование существующей конфигурации для проверки того, что Xorg может работать с графическим оборудованием в настраиваемой системе. Для этого выполните:

# Xorg -config xorg.conf.new

Начиная с Xorg 7.4 и выше, это тестирование покажет лишь черный экран, что делает диагностику не совсем полноценным. Старое поведение будет доступно при использовании опции retro

# Xorg -config xorg.conf.new -retro

Если появилась чёрно-белая сетка и курсор мыши в виде X, то настройка была выполнена успешно. Для завершения тестирования просто нажмите одновременно Ctrl+Alt+Backspace.

Замечание: Данная комбинация включена по-умолчанию до Xorg версии 7.3. Для включения этого в версии 7.4 и выше, вы должны ввести следующую команду в любом эмуляторе X терминала:

% setxkbmap -option terminate:ctrl_alt_bksp

или создать конфигурационный файл клавиатуры для hald называемый x11-input.fdi и сохранить его в /usr/local/etc/hal/fdi/policy директории. Данный файл должен содержать следующие строчки:

<?xml version="1.0" encoding="iso-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keyboard">
	  <merge key="input.x11_options.XkbOptions" type="string">terminate:ctrl_alt_bksp</merge>
    </match>
  </device>
</deviceinfo>

Вам может потребоваться перезагрузка системы для вступления параметров hald в силу.

Если мышь не работает, ее необходимо настроить. Обратитесь к Разд. 2.10.10 в главе об установке FreeBSD. Дополнительно, начиная с версии 7.4, секция InputDevice в xorg.conf игнорируется в пользу автоматического поиска устройств. Для возвращения старого поведения, добавьте следующие строчки в секции ServerLayout или ServerFlags:

Option "AutoAddDevices" "false"

Устройства ввода могут конфигурированы затем как в предыдущих версиях, вместе с другими необходимыми опциями (такими, как переключение раскладок клавиатуры например).

Замечание: Как ранее уже сообщалось, начиная с версии 7.4, по-умолчанию, hald демон будет пытаться распознать вашу клавиатуру автоматически. Есть возможность, что раскладка вашей клавиатуры или ее модель будут определены некорректно. Такие оконные менеджеры как GNOME, KDE или Xfce содержат свои инструменты для конфигурирования клавиатур. Тем не менее, можно установить параметры клавиатуры непосредственно с помощью утилиты setxkbmap(1) или через haldконфигурационные правила.

Например, если вы хотите использовать клавиши PC 102 клавиатуры, идущая с французской раскладкой, мы должны создать конфигурационный файл клавиатуры для hald называемый x11-input.fdi и сохранить в /usr/local/etc/hal/fdi/policy директории. Этот файл должен содержать следующие строчки:

<?xml version="1.0" encoding="iso-8859-1"?>
<deviceinfo version="0.2">
  <device>
    <match key="info.capabilities" contains="input.keyboard">
	  <merge key="input.x11_options.XkbModel" type="string">pc102</merge>
	  <merge key="input.x11_options.XkbLayout" type="string">fr</merge>
    </match>
  </device>
</deviceinfo>

Если этот файл уже существует, просто скопируйте и добавьте эти строчки в файл данный файл.

Вы должны будете перезагрузить систему, чтобы заставить hald применить настройки.

Есть возможность проделать ту же конфигурацию из X терминала или скрипт следующей командой:

% setxkbmap -model pc102 -layout fr

Файл /usr/local/share/X11/xkb/rules/base.lst содержит список различных клавиатур, доступные опции и раскладки.

Теперь выполните тонкую настройку в файле xorg.conf.new по своему вкусу. Откройте файл в текстовом редакторе, таком, как emacs(1) или ee(1). Сначала задайте частоты для монитора. Они обычно обозначаются как частоты горизонтальной и вертикальной синхронизации. Эти значения добавляются в файл xorg.conf.new в раздел "Monitor":

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
        HorizSync    30-107
        VertRefresh  48-120
EndSection

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

X позволяет использовать возможности технологии DPMS (Energy Star) с поддерживающими её мониторами. Программа xset(1) управляет временными задержками и может явно задавать режимы ожидания, останова и выключения. Если вы хотите включить использование возможностей DPMS вашего монитора, вы должны добавить следующую строку в раздел, описывающий монитор:

Option       "DPMS"

Пока файл конфигурации xorg.conf.new открыт в редакторе, выберите желаемые разрешение и глубину цвета, которые будут использоваться по умолчанию. Они задаются в разделе "Screen":

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultDepth 24
        SubSection "Display"
                Viewport  0 0
                Depth     24
                Modes     "1024x768"
        EndSubSection
EndSection

Ключевое слово DefaultDepth описывает глубину цвета, с которой будет работа по умолчанию. Это значение может быть переопределено при помощи параметра командной строки -depth для Xorg(1). Ключевое слово Modes описывает разрешение, с которым нужно работать при данной глубине цвета. Заметьте, что поддерживаются только те стандартные режимы VESA, что определены графическим оборудованием настраиваемой системы. В примере выше глубина цвета по умолчанию равна двадцати четырём битам на пиксел. При такой глубине цвета принимается разрешение в 1024 на 768 точек.

Наконец, запишите конфигурационный файл и протестируйте его при помощи тестового режима, описанного выше.

Замечание: При решении проблем могут помочь лог файлы X11, в которых находится информация по каждому устройству, к которому подключен сервер X11. Лог файлам Xorg названия даются в формате /var/log/Xorg.0.log. Имена лог файлам могут даваться от Xorg.0.log до Xorg.8.log и так далее.

Если все в порядке, то конфигурационный файл нужно установить в общедоступное место, где его сможет найти Xorg(1). Обычно это /etc/X11/xorg.conf или /usr/local/etc/X11/xorg.conf.

# cp xorg.conf.new /etc/X11/xorg.conf

Теперь процесс настройки X11 завершен. Xorg теперь можно запустить с помощью startx(1). X11 можно также запустить через xdm(1).

6.4.3. Тонкие вопросы настройки

6.4.3.1. Конфигурирование при работе с графическими чипсетами Intel® i810

Конфигурирование при работе с интегрированными наборами микросхем Intel® i810 требует наличия agpgart, программного интерфейса AGP, посредством которого X11 будет управлять адаптером. Подробности смотрите на странице справочника agp(4).

Это позволит конфигурировать графическое оборудование точно так же, как и любой другой графический адаптер. Заметьте, что для систем, у которых драйвер agp(4) в ядро не вкомпилирован, попытка погрузить модуль с помощью kldload(8) окончится неудачно. Этот драйвер должен оказаться в ядре во время загрузки, либо вкомпилированным, либо подгруженным посредством /boot/loader.conf.

6.4.3.2. Настройка широкоэкранного режима

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

Существующие широкоэкранные стандарты (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, и т.д.) поддерживают форматы изображения 16:10 и 10:9, которые могут быть проблемными. Для формата 16:10, например, возможны следующие разрешения экрана:

  • 2560x1600

  • 1920x1200

  • 1680x1050

  • 1440x900

  • 1280x800

Иногда достаточно добавить одно из этих разрешений в качестве параметра Mode в раздел Section "Screen" вот так:

Section "Screen"
Identifier "Screen0"
Device     "Card0"
Monitor    "Monitor0"
DefaultDepth 24
SubSection "Display"
	Viewport  0 0
	Depth     24
	Modes     "1680x1050"
EndSubSection
EndSection

Xorg может извлечь информацию о разрешении из монитора посредством I2C/DDC, так что у него есть данные, какие частоты и разрешения может поддерживать монитор.

Если эти ModeLines не определены в драйверах, может потребоваться дополнительная настройка Xorg. Используя /var/log/Xorg.0.log, можно извлечь достаточно информации для создания рабочей строки ModeLine вручную. Просто обратитесь к следующей информации:

(II) MGA(0): Supported additional Video Mode:
(II) MGA(0): clock: 146.2 MHz   Image Size:  433 x 271 mm
(II) MGA(0): h_active: 1680  h_sync: 1784  h_sync_end 1960 h_blank_end 2240 h_border: 0
(II) MGA(0): v_active: 1050  v_sync: 1053  v_sync_end 1059 v_blanking: 1089 v_border: 0
(II) MGA(0): Ranges: V min: 48  V max: 85 Hz, H min: 30  H max: 94 kHz, PixClock max 170 MHz

Эта информация называется EDID. Создание ModeLine из сводится к расположению номеров в правильном порядке:

ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings>

Для нашего примера ModeLine в Section "Monitor" будет выглядеть так:

Section "Monitor"
Identifier      "Monitor1"
VendorName      "Bigname"
ModelName       "BestModel"
ModeLine        "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089
Option          "DPMS"
EndSection

После завершения редактирования конфигурации, X должен запуститься в новом широкоэкранном разрешении.

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.