9.3. Установка XFree86

Самый легкий способ установки XFree86 заключается в использовании программы sysinstall либо при установке системы, либо позже, запустив /stand/sysinstall. Оставшуюся часть главы мы посвятим рассмотрению того, что представляет собой дистрибутив, а также рассмотрим, как делается ручная установка X11.

9.3.1. Дистрибутив XFree86

XFree86 распространяется в виде сбивающего с толку набора архивных файлов. В следующем разделе мы рассмотрим, что Вы должны установить. Однако сильно об этом не беспокойтесь; если Вы не можете решить, что же нужно выбрать и у вас всего есть 200 МБ свободного дискового пространства, то этого хватит для распаковки всего набора.

Минимально вам нужно распаковать архивы, перечисленные в следующей таблице, а также по крайней мере один сервер, соответствующий вашему адаптеру VGA. Вам потребуется 10 МБ для минимально необходимых для работы бинарных файлов и от 1.7 до 3 МБ для сервера.

Далее помещена таблица требуемых компонентов.

АрхивОписание
Xbin.tgzВсе выполнимые клиентские X-приложения и совместно используемые библиотеки.
Xfnts.tgzШрифты misc и 75 dpi.
Xlib.tgzФайлы данных и библиотеки, необходимые во время работы.

9.3.2. X-сервер

Кроме вышеперечисленных архивов, вам требуется по крайней мере один сервер, занимающий порядка 3 МБ дискового пространства. Его выбор в основном зависит от типа имеющегося графического адаптера. Именем сервера по умолчанию является /usr/X11R6/bin/X, и это ссылка на конкретный выполнимый файл сервера /usr/X11R6/bin/XF86_xxxx. Архивы с серверами для стандартной архитектуры PC находятся в /cdrom/XF86336/Servers, а серверы для архитектуры PC98, используемой в Японии, помещены в /cdrom/XF86336/PC98-Servers, если Вы работаете с дистрибутивом на компакт-дисках. Кроме того, они доступны на нашем FTP-сервере по адресу ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/4.2-RELEASE/XF86336/Servers/ или ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/4.2-RELEASE/XF86336/PC98-Servers/

Имеющиеся X-серверы для стандартной архитектуры PC:

АрхивОписание
X8514.tgz8-битный цвет для IBM 8514 и полностью совместимых адаптеров.
XAGX.tgz8 и 16-битный цвет для адаптеров AGX и XGA.
XI128.tgz8 и 16-битный цвет для адаптеров I128.
XMa32.tgz8 и 16-битный цвет для адаптеров ATI Mach32.
XMa64.tgz8, 16 и 32-битный цвет для адаптеров ATI Mach64.
XMa8.tgz8-битный цвет для адаптеров ATI Mach8.
XMono.tgz1-битный монохром для VGA, Super-VGA, Hercules и других адаптеров.
XP9K.tgz8, 16 и 32-битный цвет для адаптеров Weitek P9000 (Diamond Viper).
XS3.tgz8, 16 и 32-битный цвет для адаптеров S3.
XS3V.tgz8 и 16-битный цвет для адаптеров S3 ViRGE.
XSVGA.tgz>=8-битный цвет для адаптеров Super-VGA.
XVG16.tgz4-битный цвет для адаптеров VGA и Super-VGA.
XW32.tgz8-битный цвет для адаптеров ET4000/W32, /W32i, /W32p и ET6000.

Имеющиеся X-серверы для архитектуры PC98 (Япония):

АрхивОписание
X9GAN.tgz8-битный цвет для адаптеров PC98 GA-98NB/WAP.
X9GA9.tgz8, 16 и 32-битный цвет для адаптеров PC98 S3 GA-968.
X9480.tgz8-битный цвет для PC98 PEGC
X9NKV.tgz8-битный цвет для адаптеров PC98 NEC-CIRRUS/EPSON NKV/NKV2.
X9WBS.tgz8-битный цвет для адаптеров PC98 WAB-S.
X9WEP.tgz8-битный цвет для адаптеров PC98 WAB-EP.
X9WSN.tgz8-битный цвет для адаптеров PC98 WSN-A2F.
X9EGC.tgz4-битный цвет для PC98 EGC.
X9TGU.tgz8 и 16-битный цвет для адаптеров PC98 Trident Cyber9320/9680.
X9NS3.tgz8 и 16-битный цвет для адаптеров PC98 NEC S3.
X9SPW.tgz8 и 16-битный цвет для адаптеров PC98 S3 PW/PCSKB.
X9LPW.tgz8 и 16-битный цвет для адаптеров PC98 S3 PW/LB.

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

Имеется также несколько архивов, предназначенных разработчикам приложений для X:

АрхивОписание
Xprog.tgzФайлы config, lib*.a и *.h, необходимые для компиляции программ-клиентов.
Xctrb.tgzИсходные тексты.
Xlk98.tgz"Пакет компоновки" для построения серверов, версия для PC98 (Япония).
Xlkit.tgz"Пакет компоновки" для построения серверов, обычная архитектура PC.
Xsrc-1.tgzЧасть 1 полных исходных текстов.
Xsrc-2.tgzЧасть 2 полных исходных текстов.
Xsrc-3.tgzЧасть 3 полных исходных текстов.

Note: Если Вы собираетесь устанавливать приложения для X из портов, то вам нужен архив Xprog.tgz.

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

АрхивОписание
Xdoc.tgzФайлы README
Xjdoc.tgzФайлы README на японском языке.
Xps.tgzФайлы README в формате PostScript.
Xhtml.tgzФайлы README в формате HTML.
Xman.tgzСтраницы Справочника.
Xcfg.tgzКонфигурационные файлы программ xinit и xdm.
Xset.tgzУтилита X86Setup; графическая версия программы xf86config.
Xjset.tgzУтилита XF86Setup, японоязычная версия, для обычной архитектуры PC.

XF86Setup является программой настройки для XFree86, и Вы можете выбрать ее, а не стандартную программу настройки xf86config. Для получения xf86config вам не нужно никаких дополнительных архивов; эта утилита включена в Xbin.tgz.

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

Вместе с XFree86 поставляются дополнительные шрифты:

АрхивОписание
Xf100.tgzШрифты 100 dpi.
Xfscl.tgzШрифты типа Speedo и Type1.
Xfnon.tgzЯпонские, китайские и другие неанглийские шрифты.
Xfcyr.tgzШрифты с кириллицей.

В отличие от X-серверов, указанных выше, архивы для следующих серверов все находятся в основном каталоге.

АрхивОписание
Xfsrv.tgzСервер шрифтов.
Xnest.tgzСервер, запускаемый как окно приложения-клиента на другом дисплее.
Xprt.tgzСервер печати.
Xvfb.tgzСервер Virtual Framebuffer, отображающийся в память или mmap-файл.

9.3.3. Ручная установка XFree86

Если для установки X Вы не использовали программу sysinstall, то вам нужно выполнить несколько шагов:

  1. Создать каталоги и распаковать нужные архивы.

  2. Выбрать и установить X-сервер.

  3. Настроить рабочее окружение для работы с X.

  4. Найти виртуальный терминал для запуска X.

  5. Настроить X под ваше оборудование.

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

9.3.3.1. Распаковка архивов

Вы должны распаковывать архивы, работая как пользователь root, потому что некоторые выполнимые файлы имеют установленный атрибут set-user-id (они будут иметь привилегии пользователя root при запуске другими пользователями). Если Вы распакуете архивы, работая в качестве рядового пользователя, у вас может не получиться их запустить. Также Вы должны установить значение маски прав umask в 022 (права rwxr-xr-x), так как X-серверу требуются особые права.

    % su
    Password:
    # umask 022
          

Если в файловой системе /usr недостаточно дискового пространства, создайте каталог в другом разделе и сделайте на него символическую ссылку из /usr. Например, если файловая система /home имеет достаточно места, Вы можете сделать следующее:

    # cd /home
    # mkdir X11R6
    # ln -s /home/X11R6 /usr/X11R6
          

Затем определитесь, какие архивы Вы хотите установить. Для минимальной установки выберите Xbin.tgz, Xfnts.tgz, Xlib.tgz и Xcfg.tgz. Если X уже сконфигурированы под ваше оборудование, то Вы можете опустить Xcfg.tgz.

Если Вы используете sh, выполните распаковку вот так:

    # mkdir -p /usr/X11R6
    # cd /usr/X11R6
    # for i in bin fnts lib cfg; do
    #   tar xzf X$i.tgz
    # done
          

Если Вы используете csh, то выполните:

    # mkdir -p /usr/X11R6
    # cd /usr/X11R6
    # foreach i (bin fnts lib cfg)
    ? 	tar xzf X$i.tgz
    ? end
          

9.3.3.2. Установка сервера

Выберите архивный файл с сервером, соответствующим вашему адаптеру VGA. Если таблица, приведенная в предыдущем разделе, не дала вам достаточно подробную информацию, посмотрите страницы Справочника по серверу, /usr/X11R6/man/man1/XF86_*, в которых приведены списки чипсетов VGA, поддерживаемых каждым сервером. Например, если у вас адаптер на основе чипсета ET4000, то Вы будете использовать сервер XF86_SVGA. В таком случае Вы должны выполнить такие команды:

    # cd /usr/X11R6
    # tar xzf XSVGA.tgz [укажите здесь имя вашего сервера]
          

9.3.3.3. Настройка рабочего окружения

Теперь вам может понадобиться создать символическую ссылку /usr/X11/bin/X, которая указывает на сервер, соответствующий вашему графическому адаптеру. В этом примере это сервер XF86_SVGA:

    # cd /usr/X11R6/bin
    # rm X
    # ln -s XF86_SVGA X
          

Символическая ссылка нужна системе X для того, чтобы она работала нормально, и у вас есть возможность ее создать после запуска xf86config - смотрите ниже.

Затем убедитесь, что каталог /usr/X11R6/bin включен в маршрут поиска по умолчанию в файле /etc/profile в случае командного процессора sh или в файле /etc/csh.login при использовании оболочки csh, и добавьте туда этот маршрут, если его там нет. Лучше всего сделать это в редакторе, но если вам нужен немедленный результат, Вы можете ввести:

    # echo 'PATH=$PATH:/usr/X11R6/bin' >>/etc/profile
          

или:

    # echo 'set path = ($path /usr/X11R6/bin)' >>/etc/csh.login
          

Другой способ заключается в помещении всеми, кто работает с X, пути /usr/X11R6/bin в переменные окружения PATH своего командного процессора.

Теперь вызовите программу ldconfig для помещения совместно используемых библиотек в кэш для ld.so:

    # ldconfig -m /usr/X11R6/lib
          

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

Вам не нужно распаковывать файлы шрифтов, но если Вы это сделаете, то должны будете запустить команду mkfontdir в соответствующем каталоге со шрифтами, иначе ваш сервер аварийно завершит работу, выдав сообщение "could not open default font `fixed'".

9.3.3.4. Назначение для X виртуального терминала

Теперь убедитесь, что у вас есть неиспользуемая виртуальная консоль с запущенной на ней программой getty. Сначала определите, сколько у вас всего имеется виртуальных консолей:

    # dmesg | grep virtual
    sc0: VGA color <16 virtual consoles, flags=0x0>
          

Затем загляните в файл /etc/ttys для того, чтобы убедиться в наличии по крайней мере одного виртуального терминала (устройства ttyvxx), на котором не запущена getty. Поищите ключевое слово off:

    # grep ttyv /etc/ttys
    ttyv0  "/usr/libexec/getty Pc" cons25  on secure
    ttyv1  "/usr/libexec/getty Pc" cons25  on secure
    ttyv2  "/usr/libexec/getty Pc" cons25  on secure
    ttyv3  "/usr/libexec/getty Pc" cons25  off secure
          

В нашем случае, если в ядре отконфигурировано по крайней мере 4 VT, то доступен терминал /dev/ttyv3. Если это не так, то либо запретите запуск getty в файле /etc/ttys, сменив ключевое слово с on на off, либо построив ядро с большим количеством виртуальных терминалов.

9.3.3.5. Настройка X под ваше оборудование

После установки программного обеспечения для работы с X вам нужно настроить файл XF86Config, который используется X-сервером для определения параметров вашего оборудования и способа запуска.

Чтобы настроить файл XF86Config, вам потребуется следующая информация об оборудовании:

  • Тип вашей мыши, скорость обмена в случае мыши, подключенной к последовательном порту, и имя устройства, к которому она подключена. Как правило, это будет устройство /dev/ttyd0 или /dev/ttyd1 в случае мыши, подключенной к последовательному порту, /dev/psm0 в случае мыши PS/2 и /dev/mse0, если это мышь типа bus mouse.

  • Тип графического адаптера и объем видеопамяти. Если это безымянный адаптер, выясните, какой чипсет VGA он использует.

  • Параметры вашего монитора; частоты вертикальной и горизонтальной развертки.

9.3.3.6. Идентификация оборудования

Как Вы определяете, какое оборудование используется? Производитель должен сообщить об этом, но зачастую информация, которая сообщается о вашем графическом адаптере и мониторе является ничтожной; "Super VGA board with 76 Hz refresh rate and 16,777,216 colors". Это говорит вам о максимально возможной глубине цвета (24 бита - - число цветов равно 2 в степени, равной глубине цвета), но ничего больше о графическом адаптере.

Как мы увидим позже, реально необходимыми параметрами являются максимальная частота горизонтальной развертки, dot clock range, чипсет и объем памяти адаптера.

Вам может не повезти в попытках выяснить эту информацию полностью, но Вы можете получить ее часть с помощью программы SuperProbe. Она всегда должна суметь определить чипсет и объем памяти адаптера.

Работа программы SuperProbe может вызвать аварийный сбой в работе вашей системы. Не делайте ничего важного при запуске этой программы. Запуск SuperProbe выглядит примерно так:

    # SuperProbe
    (предупреждения и сообщения опущены)
    First video: Super-VGA
    	Chipset: Tseng ET4000 (Port Probed)
    	Memory:  1024 Kbytes
    	RAMDAC:  Generic 8-bit pseudo-color DAC
    		 (with 6-bit wide lookup tables (or in 6-bit mode))
          

Программа SuperProbe сама по себе весьма придирчива, и Вы будете часто получать сообщения, похожие на такое:

    SuperProbe: Cannot be run while an X server is running
    SuperProbe: If an X server is not running, unset $DISPLAY and try again
    SuperProbe: Cannot open video
          

Другими словами, даже если X-сервер не запущен, SuperProbe не будет работать, если у вас определена переменная окружения DISPLAY. Как от нее избавиться? В случае использования командного процессора в стиле Bourne, выполните:

    # unset DISPLAY
          

Если у вас C shell, то выполните:

    # unsetenv DISPLAY
          

9.3.3.7. Запуск xf86config

Создать ваш конфигурационный файл можно просто, воспользовавшись одной из утилит xf86config (отметьте регистр букв) или XF86Setup. Обе программы проведут вас через процедуру настройки шаг за шагом. Программа xf86config работает в текстовом режиме, когда как XF86Setup - в графическом. С утилитой XF86Setup могут быть проблемы с необычным оборудованием, так что я предпочитаю xf86config.

Вы можете также использовать sysinstall, однако это практически ничего не изменит; sysinstall просто запускает xf86config, так что проще запустить его непосредственно. В этом разделе в примерах мы будем иллюстрировать процесс настройки через xf86config. Мы устанавливаем X для древнего адаптера Diamond SpeedStar с 1 МБ видеопамяти, мышь Logitech MouseMan и монитор ADI MicroScan 5AP. Мышь подключена к системе через первый последовательный порт, /dev/ttyd0.

Для запуска xf86config введите его имя. Если каталог /usr/X11R6/bin включен в переменную вашего окружения PATH, вам достаточно набрать xf86config. Если это н так, вам придется набрать полный путь к xf86config, например, так:

    # /usr/X11R6/bin/xf86config
          

Эта программа создаст первоначальный файл XF86Config на основании того, что Вы выберите с помощью системы меню.

Файл XF86Config обычно находится в каталоге /usr/X11R6/lib/X11 или /etc. Пример файла XF86Config поставляется вместе с XFree86; он настроен на стандартный адаптер VGA и монитор с разрешением 640x480. Эта утилита запросит путь, когда будут готова к записи файла.

Вы можете взять в качестве основы образцовый файл XF86Config и отредактировать его согласно вашим настройкам, либо позволить этой программе сгенерировать файл XF86Config для вашей конфигурации и тонко подстроить его. Подробное описание процесса настройки дано в файле /usr/X11R6/lib/X11/doc/README.Config.

Для серверов с ускорителями (включая драйверы с ускорителями в сервере SVGA) имеется множество зависимых от чипсета и адаптера опций и настроек. Эта программа не знает об этих настройках. В некоторых конфигурациях часть этих настроек должна быть указана. Обратитесь к страницам Справочника по серверу и файлам README, описывающим конкретный чипсет.

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

    Press enter to continue, or ctrl-c to abort. ENTER

    First specify a mouse protocol type. Choose one from the following list:

     1.  Microsoft compatible (2-button protocol)
     2.  Mouse Systems (3-button protocol)
     3.  Bus Mouse
     4.  PS/2 Mouse
     5.  Logitech Mouse (serial, old type, Logitech protocol)
     6.  Logitech MouseMan (Microsoft compatible)
     7.  MM Series
     8.  MM HitTablet
     9.  Microsoft IntelliMouse
          

Если у вас мышь с двумя кнопками, то вероятно, она имеет тип 1, если же кнопок три, то она, скорее всего, поддерживает оба типа протоколов, как 1, так и 2. Если две основных разновидности последнего случая; мышка с переключателем для выбора протокола, и мышка с выставленным по умолчанию протоколом 1, которой требуется удержание кнопки при загрузке для выбора протокола 2. Некоторые мышки можно заставить выбрать протокол 2 посылкой особой последовательности в порт мыши (смотрите опции ClearDTR/ClearRTS).

    Enter a protocol number: 6		Logitech MouseMan

    You have selected a Logitech MouseMan type mouse. You might want to enable
    ChordMiddle which could cause the third button to work.

    Please answer the following question with either 'y' or 'n'.
    Do you want to enable ChordMiddle? n
          

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

Продолжаем настройку:

    If your mouse has only two buttons, it is recommended that you enable Emulate3Buttons.

    Please answer the following question with either 'y' or 'n'.
    Do you want to enable Emulate3Buttons? n

    Now give the full device name that the mouse is connected to, for example
    /dev/tty00. Just pressing enter will use the default, /dev/mouse.

    Mouse device: /dev/ttyd1
          

Будьте очень аккуратны при вводе этого параметра. Вы должны указать правильное имя устройства, к которому подключена мышь. Команда xf86config не является командой только для FreeBSD, и предлагаемый вариант абсолютно не подходит для FreeBSD. Используйте имена от /dev/ttyd0 до /dev/ttyd3 для мышей на последовательном порту, /dev/psm0 для мыши PS/2 и /dev/mse0 для мыши типа bus mouse.

Продолжив, мы увидим:

    Beginning with XFree86 3.1.2D, you can use the new X11R6.1
    XKEYBOARD extension to manage the keyboard layout. If you answer 'n' to the
    following question, the server will use the old method, and you have to
    adjust your keyboard layout with xmodmap.

    Please answer the following question with either 'y' or 'n'.
    Do you want to use XKB? y

    The following dialogue will allow you to select from a list of already
    preconfigured keymaps. If you don't find a suitable keymap in the list,
    the program will try to combine a keymap from additional information you
    are asked then. Such a keymap is by default untested and may require
    manual tuning. Please report success or required changes for such a
    keymap to [email protected] for addition to the list of preconfigured
    keymaps in the future.

    Press enter to continue, or ctrl-c to abort.

    List of preconfigured keymaps:

      1  Standard 101-key, US encoding
      2  Microsoft Natural, US encoding
      3  KeyTronic FlexPro, US encoding
      4  Standard 101-key, US encoding with ISO9995-3 extensions
      5  Standard 101-key, German encoding
      6  Standard 101-key, French encoding
      7  Standard 101-key, Thai encoding
      8  Standard 101-key, Swiss/German encoding
      9  Standard 101-key, Swiss/French encoding
     10  None of the above

    Enter a number to choose the keymap.

    1					Choose the standard US keyboard
          

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

Рабочие пределы для частот вертикальной и горизонтальной развертки должны быть указаны в руководстве по вашему монитору. Если у вас возникли с этим проблемы, обратитесь к базе данных по мониторам в файле /usr/X11R6/lib/X11/doc/Monitors и попробуйте найти ваш монитор здесь.

    Press enter to continue, or ctrl-c to abort. ENTER

    You must indicate the horizontal sync range of your monitor. You can either
    select one of the predefined ranges below that correspond to industry-
    standard monitor types, or give a specific range.

    It is VERY IMPORTANT that you do not specify a monitor type with a horizontal
    sync range that is beyond the capabilities of your monitor. If in doubt,
    choose a conservative setting.

        hsync in kHz; monitor type with characteristic modes
     1  31.5; Standard VGA, 640x480 @@ 60 Hz
     2  31.5 - 35.1; Super VGA, 800x600 @@ 56 Hz
     3  31.5, 35.5; 8514 Compatible, 1024x768 @@ 87 Hz interlaced (no 800x600)
     4  31.5, 35.15, 35.5; Super VGA, 1024x768 @@ 87 Hz interlaced, 800x600 @@ 56 Hz
     5  31.5 - 37.9; Extended Super VGA, 800x600 @@ 60 Hz, 640x480 @@ 72 Hz
     6  31.5 - 48.5; Non-Interlaced SVGA, 1024x768 @@ 60 Hz, 800x600 @@ 72 Hz
     7  31.5 - 57.0; High Frequency SVGA, 1024x768 @@ 70 Hz
     8  31.5 - 64.3; Monitor that can do 1280x1024 @@ 60 Hz
     9  31.5 - 79.0; Monitor that can do 1280x1024 @@ 74 Hz
    10  31.5 - 82.0; Monitor that can do 1280x1024 @@ 76 Hz
    11  Enter your own horizontal sync range

    Enter your choice (1-11):
          

К несчастью, наш монитор не упоминается в файле /usr/X11R6/lib/X11/doc/Monitors, но, на наше счастье, в руководстве по монитору в разделе технических параметров приведены диапазоны частот. Частота горизонтальной развертки находится в пределах от 30 до 64 кГц, а вертикальной - в пределах от 50 до 100 Гц. Диапазон частот горизонтальной развертки чуть ли не во всех случаях покрывается выбором 8, но эта настройка грозит быть на 0.3 кГц выше по частоте, чем указано в технических параметрах. Хотите ли Вы рискнуть? В большинстве случаев проблем это не вызовет, потому что вряд ли монитор сгорит при столь незначительном отклонении от стандартных режимов работы, и вряд ли в ваш файл XF86Config будет сгенерирована частота горизонтальной развертки от 64.0 до 64.3 kHz. Однако нет причин идти даже на такой незначительный риск. Просто укажите реальные значения:

    Enter your choice (1-11): 11

    Please enter the horizontal sync range of your monitor, in the format used
    in the table of monitor types above. You can either specify one or more
    continuous ranges (e.g. 15-25, 30-50), or one or more fixed sync
    frequencies.

    Horizontal sync range: 30-64
          

Теперь выбираем диапазон частот вертикальной развертки:

    You must indicate the vertical sync range of your monitor.
    You can either select one of the predefined ranges below that correspond
    to industry-standard monitor types, or give a specific range.  For
    interlaced modes, the number that counts is the high one (e.g., 87 Hz
    rather than 43 Hz).

     1  50-70
     2  50-90
     3  50-100
     4  40-150
     5  Enter your own vertical sync range

    Enter your choice: 3			     exactly the range of the monitor
          

На следующем шаге нужно указать идентификационные строки. Названия Вы можете придумать сами, если хотите, однако если Вы не специализируетесь на работе с разным оборудованием, то можете позволить программе xf86config сделать это за вас:

    You must now enter a few identification/description strings,
    namely an identifier, a vendor name, and a model name. Just pressing enter
    will fill in default names.

    The strings are free-form, spaces are allowed.
    Enter an identifier for your monitor definition: ENTER
    Enter the vendor name of your monitor:	ENTER
    Enter the model name of your monitor:  ENTER
          

Теперь следует шаг выбора графического адаптера. У нас имеется старенький Diamond SpeedStar Plus с микросхемой ET4000 и неизвестные микросхемы для Ramdac и тактового генератора. Давайте посмотрим, что у нас получится:

    Now we must configure video card specific settings.  At
    this point you can choose to make a selection out of a database of video
    card definitions.  Because there can be variation in Ramdacs and clock
    generators even between cards of the same model, it is not sensible to
    blindly copy the settings (e.g., a Device section).  For this reason,
    after you make a selection, you will still be asked about the components
    of the card, with the settings from the chosen database entry presented as
    a strong hint.

    The database entries include information about the chipset, what server to
    run, the Ramdac and ClockChip, and comments that will be included in the
    Device section. However, a lot of definitions only hint about what server
    to run (based on the chipset the card uses) and are untested.

    If you can't find your card in the database, there's nothing to worry about.
    You should only choose a database entry that is exactly the same model as
    your card; choosing one that looks similar is just a bad idea (e.g. a
    GemStone Snail 64 may be as different from a GemStone Snail 64+ in terms of
    hardware as can be).

    Do you want to look at the card database? y
      0  2 the Max MAXColor S3 Trio64V+		       S3 Trio64V+
      1  928Movie					       S3 928
      2  AGX (generic)				       AGX-014/15/16
      3  ALG-5434(E)				       CL-GD5434
      4  ASUS 3Dexplorer				       RIVA128
      5  ASUS PCI-AV264CT				       ATI-Mach64
      6  ASUS PCI-V264CT				       ATI-Mach64
      7  ASUS Video Magic PCI V864			       S3 864
      8  ASUS Video Magic PCI VT64			       S3 Trio64
      9  AT25					       Alliance AT3D
     10  AT3D					       Alliance AT3D
     11  ATI 3D Pro Turbo				       ATI-Mach64
     12  ATI 3D Xpression				       ATI-Mach64
     13  ATI 3D Xpression+ PC2TV			       ATI-Mach64
     14  ATI 8514 Ultra (no VGA)			       ATI-Mach8
     15  ATI All-in-Wonder				       ATI-Mach64
     16  ATI Graphics Pro Turbo			       ATI-Mach64
     17  ATI Graphics Pro Turbo 1600		       ATI-Mach64

    Enter a number to choose the corresponding card definition.
    Press enter for the next page, q to continue configuration.
    ENTER
          

В алфавитно-цифровом порядке приводится некоторое количество описаний адаптеров. Наконец мы видим:

    108  DSV3325					       S3 ViRGE
    109  DSV3326					       S3 Trio64V+
    110  DataExpert DSV3325 			       S3 ViRGE
    111  DataExpert DSV3365 			       S3 Trio64V+
    112  Dell S3 805				       S3 801/805
    113  Dell onboard ET4000			       ET4000
    114  Diamond Edge 3D				       nv1
    115  Diamond Multimedia Stealth 3D 2000 	       S3 ViRGE
    116  Diamond Multimedia Stealth 3D 2000 PRO	       S3 ViRGE/DX
    117  Diamond SpeedStar (Plus)			       ET4000
    118  Diamond SpeedStar 24			       ET4000
    119  Diamond SpeedStar 24X (not fully supported)       WD90C31
    120  Diamond SpeedStar 64			       CL-GD5434
    121  Diamond SpeedStar HiColor			       ET4000
    122  Diamond SpeedStar Pro (not SE)		       CL-GD5426/28
    123  Diamond SpeedStar Pro 1100 		       CL-GD5420/2/4/6/8/9
    124  Diamond SpeedStar Pro SE (CL-GD5430/5434)	       CL-GD5430/5434
    125  Diamond SpeedStar64 Graphics 2000/2200	       CL-GD5434

    Enter a number to choose the corresponding card definition.
    Press enter for the next page, q to continue configuration.

    117

    Your selected card definition:

    Identifier: Diamond SpeedStar (Plus)
    Chipset:    ET4000
    Server:     XF86_SVGA

    Press enter to continue, or ctrl-c to abort.ENTER

    Now you must determine which server to run.  Refer to the man pages and
    other documentation.  The following servers are available (they may not
    all be installed on your system):

     1  The XF86_Mono server. This a monochrome server that should work on any
        VGA-compatible card, in 640x480 (more on some SVGA chipsets).
     2  The XF86_VGA16 server. This is a 16-color VGA server that should work on
        any VGA-compatible card.
     3  The XF86_SVGA server. This is a 256 color SVGA server that supports
        a number of SVGA chipsets. On some chipsets it is accelerated or
        supports higher color depths.
     4  The accelerated servers. These include XF86_S3, XF86_Mach32, XF86_Mach8,
        XF86_8514, XF86_P9000, XF86_AGX, XF86_W32, XF86_Mach64, XF86_I128 and
        XF86_S3V.

    These four server types correspond to the four different "Screen" sections in
    XF86Config (vga2, vga16, svga, accel).

     5  Choose the server from the card definition, XF86_SVGA.

    Which one of these screen types do you intend to run by default (1-5)?
          

Система уже выбрала за нас XF86_SVGA. Хотим ли мы это изменить? Нам нужен для этого весомую причину. В этом случае особых причин у нас нет, так что оставим сервер, определенный по адаптеру:

    Which one of these screen types do you intend to run by default (1-5)? 5

    The server to run is selected by changing the symbolic link 'X'. For example,
    the SVGA server.

    Please answer the following question with either 'y' or 'n'.
    Do you want me to set the symbolic link? y
          

Все программы, запускающие X (xinit, startx и xdm), на самом деле запускают программу /usr/X11R6/bin/X. Эта символическая ссылка /usr/X11R6/bin/X, указывающая на ваш сервер. Если у вас этой ссылки нет, Вы не сможете запустить X.

    Now you must give information about your video card.  This
    will be used for the "Device" section of your video card in XF86Config.

    You must indicate how much video memory you have. It is probably a good
    idea to use the same approximate amount as that detected by the server you
    intend to use. If you encounter problems that are due to the used server
    not supporting the amount memory you have (e.g. ATI Mach64 is limited to
    1024K with the SVGA server), specify the maximum amount supported by the
    server.

    How much video memory do you have on your video card:

     1  256K
     2  512K
     3  1024K
     4  2048K
     5  4096K
     6  Other

    Enter your choice: 3

    You must now enter a few identification/description strings, namely an
    identifier, a vendor name, and a model name. Just pressing enter will fill
    in default names (possibly from a card definition).

    Your card definition is Diamond SpeedStar (Plus).

    The strings are free-form, spaces are allowed.
    Enter an identifier for your video card definition: ENTER
    You can simply press enter here if you have a generic card, or want to
    describe your card with one string.
    Enter the vendor name of your video card:  ENTER
    Enter the model (board) name of your video card:  ENTER

    Especially for accelerated servers, Ramdac, Dacspeed and ClockChip settings
    or special options may be required in the Device section.

    The RAMDAC setting only applies to the S3, AGX, W32 servers, and some
    drivers in the SVGA servers. Some RAMDAC's are auto-detected by the server.
    The detection of a RAMDAC is forced by using a Ramdac "identifier" line in
    the Device section. The identifiers are shown at the right of the following
    table of RAMDAC types:

      1  AT&T 20C490 (S3 and AGX servers, ARK driver)		     att20c490
      2  AT&T 20C498/21C498/22C498 (S3, autodetected)		     att20c498
      3  AT&T 20C409/20C499 (S3, autodetected)			     att20c409
      4  AT&T 20C505 (S3)					     att20c505
      5  BrookTree BT481 (AGX)					 bt481
      6  BrookTree BT482 (AGX)					 bt482
      7  BrookTree BT485/9485 (S3)					 bt485
      8  Sierra SC15025 (S3, AGX)					 sc15025
      9  S3 GenDAC (86C708) (autodetected)				 s3gendac
     10  S3 SDAC (86C716) (autodetected)				 s3_sdac
     11  STG-1700 (S3, autodetected)				 stg1700
     12  STG-1703 (S3, autodetected)				 stg1703


    Enter a number to choose the corresponding RAMDAC.
    Press enter for the next page, q to quit without selection of a RAMDAC.


    q				   Нам это не нужно


    A Clockchip line in the Device section forces the detection of a
    programmable clock device. With a clockchip enabled, any required
    clock can be programmed without requiring probing of clocks or a
    Clocks line. Most cards don't have a programmable clock chip.
    Choose from the following list:

     1  Chrontel 8391						ch8391
     2  ICD2061A and compatibles (ICS9161A, DCS2824)		icd2061a
     3  ICS2595							ics2595
     4  ICS5342 (similar to SDAC, but not completely compatible)	ics5342
     5  ICS5341							ics5341
     6  S3 GenDAC (86C708) and ICS5300 (autodetected)		s3gendac
     7  S3 SDAC (86C716)						s3_sdac
     8  STG 1703 (autodetected)					stg1703
     9  Sierra SC11412						sc11412
    10  TI 3025 (autodetected)					ti3025
    11  TI 3026 (autodetected)					ti3026
    12  IBM RGB 51x/52x (autodetected)				ibm_rgb5xx

    Just press enter if you don't want a Clockchip setting.
    What Clockchip setting do you want (1-12)? ENTER

    For most configurations, a Clocks line is useful since it prevents the slow
    and nasty sounding clock probing at server start-up. Probed clocks are
    displayed at server startup, along with other server and hardware
    configuration info. You can save this information in a file by running
    imprecise; some clocks may be slightly too high (varies per run).

    At this point I can run X -probeonly, and try to extract the clock information
    from the output. It is recommended that you do this yourself and add a clocks
    line (note that the list of clocks may be split over multiple Clocks lines) to
    your Device section afterwards. Be aware that a clocks line is not
    appropriate for drivers that have a fixed set of clocks and don't probe by
    default (e.g. Cirrus). Also, for the P9000 server you must simply specify
    clocks line that matches the modes you want to use.  For the S3 server with
    a programmable clock chip you need a 'ClockChip' line and no Clocks line.

    You must be root to be able to run X -probeonly now.

    Do you want me to run 'X -probeonly' now?
          

Над последним вопросом стоит подумать. Вы должны в какой-то момент запустить X -probeonly, но для этого нужно что-то сделать. Мы учтем рекомендации и попробуем это попозже.

    Do you want me to run 'X -probeonly' now? n

    For each depth, a list of modes (resolutions) is defined. The default
    resolution that the server will start-up with will be the first listed
    mode that can be supported by the monitor and card.
    Currently it is set to:

    "640x480" "800x600" "1024x768" for 8bpp
    "640x480" "800x600" for 16bpp
    "640x480" for 24bpp
    "640x400" for 32bpp

    Note that 16, 24 and 32bpp are only supported on a few configurations.
    Modes that cannot be supported due to monitor or clock constraints will
    be automatically skipped by the server.

     1  Change the modes for 8pp (256 colors)
     2  Change the modes for 16bpp (32K/64K colors)
     3  Change the modes for 24bpp (24-bit color, packed pixel)
     4  Change the modes for 32bpp (24-bit color)
     5  The modes are OK, continue.

    Enter your choice: 5	 примем значения, предложенные по умолчанию

    You can have a virtual screen (desktop), which is screen area that is larger
    than the physical screen and which is panned by moving the mouse to the edge
    of the screen. If you don't want virtual desktop at a certain resolution,
    you cannot have modes listed that are larger. Each color depth can have a
    differently-sized virtual screen

    Please answer the following question with either 'y' or 'n'.
    Do you want a virtual screen that is larger than the physical screen? n
          

Трудно решить, нужен ли Вам виртуальный экран, превосходящий по размеру экран физический. Я нахожу его весьма неудобным, так что советую ответить n. Он может оказаться для Вас полезным, особенно если максимально допустимое разрешение невелико.

Теперь настройка закончена, и программе sysinstall требуется просто записать конфигурационный файл:

    I am going to write the XF86Config file now.  Make sure
    you don't accidently overwrite a previously configured one.

    Shall I write it to /etc/XF86Config? y

    File has been written. Take a look at it before running 'startx'. Note that
    the XF86Config file must be in one of the directories searched by the server
    (e.g. /usr/X11R6/lib/X11) in order to be used. Within the server press
    ctrl, alt and '+' simultaneously to cycle video resolutions. Pressing ctrl,
    alt and backspace simultaneously immediately exits the server (use if
    the monitor doesn't sync for a particular mode).

    For further configuration, refer to /usr/X11R6/lib/X11/doc/README.Config.
          

После того, как Вы закончите эту настройку, можно начать работу с X.