Перед настройкой XFree86 4.X необходима следующая информация о конфигурируемой системе:
Характеристики монитора
Набор микросхем, используемый в видеоадаптере
Объём видеопамяти
Характеристики монитора используются в XFree86 для определения рабочего разрешения и частоты. Эти характеристики обычно могут быть получены из документации, которая прилагается к монитору или с сайта производителя. Тут нужны два диапазона значений, для частоты горизонтальной развёртки и для частоты вертикальной синхронизации.
Набор микросхем графического адаптера определяет, модуль какого драйвера использует XFree86 для работы с графическим оборудованием. Для большинства типов микросхем это может быть определено автоматически, но все же его полезно знать на тот случай, когда автоматическое определение не работает правильно.
Объём видеопамяти графического адаптера определяет разрешение и глубину цвета, с которым может работать система. Это важно, чтобы пользователь знал ограничения системы.
Процесс настройки XFree86 4.X является многошаговым процессом. Первый шаг заключается в построении начального конфигурационного файла посредством запуска XFree86 с параметром -configure. Работая с правами суперпользователя, просто запустите:
# XFree86 -configure
При этом в каталоге /root будет создан скелет конфигурационного файла XFree86 под именем XF86Config.new (на самом деле в качестве каталога используется тот, что задан в переменной окружения $HOME, а она зависит от способа получения прав суперпользователя). Программа XFree86 сделает попытку распознать графическое оборудование системы и запишет конфигурационный файл, загружающий правильные драйверы для обнаруженного оборудования в системе.
Следующим шагом является тестирование существующей конфигурации для проверки того, что XFree86 может работать с графическим оборудованием в настраиваемой системе. Для выполнения этой задачи пользователю нужно выполнить:
# XFree86 -xf86config XF86Config.new
Если появилась чёрно-белая сетка и курсор мыши в виде X, то настройка была выполнена успешно. Для завершения тестирования просто нажмите одновременно Ctrl+Alt+Backspace.
Note: Если мышь не работает, удостоверьтесь, что соответствующее устройство было отконфигурировано. Обратитесь к в главе об установке FreeBSD.
Теперь выполните тонкую настройку в файле XF86Config.new по своему вкусу. Откройте файл в текстовом редакторе, таком, как emacs(1) или ee(1). Сначала задайте частоты для монитора. Они обычно обозначаются как частоты горизонатльной и вертикальной синхронизации. Эти значения добавляются в файл XF86Config.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"
Пока файл конфигурации XF86Config.new открыт в редакторе, выберите желаемые разрешение и глубину цвета, которые будут использоваться по умолчанию. Они задаются в секции "Screen":
Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1024x768" EndSubSection EndSection
Ключевое слово DefaultDepth описывает глубину цвета, с которой будет работа по умолчанию. Это значение может быть переопределено при помощи параметра командной строки -bpp для XFree86(1). Ключевое слово Modes описывает разрешение, с которым нужно работать при данной глубине цвета. Заметьте, что поддерживаются только те стандарные режимы VESA, что определены графическим оборудованием настраиваемой системы. В примере выше глубина цвета по умолчанию равна двадцати четырём битам на пиксел. При такой глубине цвета принимается разрешение в одну тысячу двадцать четыре на семьсот шестьдесят восемь точек.
Наконец, запишите конфигурационный файл и протестируйте его при помощи тестового режима, описанного выше. Если все в порядке, то конфигурационный файл нужно установить в общедоступное место, где его сможет найти XFree86(1). Обычно это /etc/X11/XF86Config или /usr/X11R6/etc/X11/XF86Config.
# cp XF86Config.new /etc/X11/XF86Config
После того, как конфигурационный файл будет помешён в общедоступное место, настройка завершена. Для запуска XFree86 посредством startx(1) установите порт x11/wrapper. XFree86 4.X можно также запустить через xdm(1).
Конфигурирование при работе с интегрированными наборами микросхем Intel i810 требует наличия agpgart, программного интерфейса AGP, посредством которого XFree86 будет управлять адаптером. Драйвер agp(4) присутствует в ядре GENERIC с момента выпуска 4.8-RELEASE и 5.0-RELEASE. Для предшествующих релизов вам нужно добавлять такую строку:
device agp
в конфигурационный файл вашего ядра и перестраивать новое ядро. Однако вместо этого вы можете подгружать модуль ядра agp.ko автоматически во время загрузки системы при помощи loader(8). Для этого просто добавьте следующую строку в файл /boot/loader.conf:
agp_load="YES"
Затем, в сдучае использования FreeBSD 4.X или более ранних её версий, для программного интерфейса должен быть создан файл устройств. Для создания файла устройств для AGP запустите MAKEDEV(8) в каталоге /dev:
# cd /dev # sh MAKEDEV agpgart
Note: Во FreeBSD 5.X и более поздних версиях будет использоваться devfs(5) для выделения файлов устройств в прозрачном режиме, поэтому шаг с MAKEDEV(8) не нужен.
Это позволит конфигурировать графическое оборудование точно так же, как и любой другой графический адаптер. Заметьте, что для систем, у которых драйвер agp(4) в ядро не вкомпилирован, попытка погрузить модуль с помощью kldload(8) окончится неудачно. Этот драйвер должен оказаться в ядре во время загрузки, либо вкомпилированным, либо подгруженным посредством /boot/loader.conf.
Если вы используете XFree86 4.1.0 (или более позднюю версию), и выдаются сообщения о неразрешённых ссылках типа fbPictureInit, попробуйте добавить такую строчку после Driver "i810" в конфигурационном файле XFree86:
Option "NoDDC"