Настройка XFree86 для правильного использования мыши, клавиатуры,
монитора и видеокарты является чем-то вроде черной магии, требующей долгого
ручного исправления сложного файла настройки. Выпуск версий 3.2/3.3 сделал
этот процесс более простым. Все что вам нужно---это запустить программу
XF86Setup
.
Эта программа зависит от того факта, что все новые персональные компьютеры гаших дней оборудованы мониторами умеющими работать в режиме EGA/VGA. Программа запускает VGA16-сервер использует его для запуска X в режиме наименьшего разрешения 640x480. Затем запускается интерактивная программа, которая проводит вас через набор панелей настройки---мышь, клавиатура, видеокарта, монитор и `другое' (разные настройки сервера). Весь процесс достаточно безболезненый.
(Если вы используете Red Hat Linux, то вы можете найти другую программу,
названную xf86config
. Она работает почти как XF86Setup
, но не
использует X-интерфейс и VGA16-сервер).
Одну небоьшую особенность необходимо вам помнить, если вы подобно большинтству людей используете персональный компьютер, то ваша клавиатура в XF86Setup называется `Generic 102-key PC (intl)', вместо клавиатуры по умолчанию`Generic 101-key PC'. Если вы выберете клавиатуру по умолчанию (101), то клавиши справа на клавиатуре (цифровые и другие) могут прекратить работать.
Если вы не уверены в том какой тип монитора вы используете, то вы модете попробовать перечисленные типы по очереди. Попробуйте их начиная с верха и опускаясь вниз (перечисленные вверху работают на меньшей частоте (dot-clock speeds) и менее требовательны к оборудованию). Вернитесь назад если вы получиили мусор или сильно искаженную картинку). Небольшие искажения (картинка немного больше, немного меньше или расположена не в центре) не являются проблемой; у вас есть шанс откорректировать их с помощью точной настройки режима.
И когда программа запустит xvidtune
для того, чтобы попробовать
имеющиеся видеорежимы, не пугайтесь первоначального сообщения. Современные
многочастотные мониторы (в отличии от их предшественников с фиксированной
частотой) не так подвержены поломкам данным способом.
XF86Config может предполагать, что устройством мыши является
/dev/mouse. Если вы обнаружили, что мышь не работает, то вам
может быть необходимо создать ссылку /dev/mouse на то
устройство /dev/ca[01] к которому подключена мышь. Если вы
обнаружили, что XFree86 выдает вам сообщение об ошибке "mouse busy (мышь
занята)" при запущенной программе gpm
, то вам нужно будет создать
ссылку на устройство /dev/ttyS[01], а не на то, которое было
указано выше.
Процесс настройки производится путем выбора сервера, соответствующего
общему типу вашей видеокарты (такому как XF86_VGA16
, XF86_Mach64
,
или XF86_S3
) и настройке XF86Config
, который сервер будет
считывать при запуске для получения специфических параметров для вашей
установки. Расположение файла XF86Config
может быть разным, в
зависимости от вашей операционной системы, но одним из мест где вы его
можете найти является каталог /etc/X11
.
В более старых версиях, XF86Setup
делает команду `X' ссылкой прямо на
выбранный сервер. В недавних версиях, вместо этого, `X' является ссылкой на
программу с установленным set-user-id, которая называется Xwrapper.
Основная идея заключается в том, что вещи для которых необходим
установленный setuid пользователя root содержатся в Xwrapper, так что
сервер не запускается с установленным setuid root.
Иногда что-нибудь может быть не совсем правильно, когда вы первый раз
запускаете X-сервер. Почти всегда это вызывается проблемой в вашем файле
настройки. Обычно значения частоты (timing) монитора не заданы, или частота
(dot clock) видеокарты установлены неправильно. Небольшие проблемы могут
быть исправлены с помощью программы xvidtune
; экран заполненный
мусором означает, что вам необходимо вернуться к XF86Setup и выбрать
монитор с меньшими возможностями.
Если дисплей мелькает, или края расплывчаты, то это точный показатель того,
что значения частоты (timing) монитора или значение часттоты (dot clock)
неправильны. Также убедитесь, что вы точно указали набор микросхем вашей
видеокарты, также как и остальные опции для раздела Device
файла
XF86Config
. Будьте абсолютно уверены, что вы используете
правильный X-сервер и что файл /usr/X11R6/bin/X
является
символьной ссылкой на этот сервер.
Если все это сбивается, попробуйте запустить X в ``голом'' виде; для этого используйте такую команду:
X > /tmp/x.out 2>&1
Затем вы можете завершить выполнение X-сервера (используя комбинацию клавиш
ctrl-alt-backspace
) и просмотреть содержимое файла
/tmp/x.out
.X-сервер выдаст вам любые предупреждения---например,
если ваша видеокарта не имеет часитоты (dot clock) соответствующей режиму,
поддерживаемому монитором.
Помните, что вы можете использовать комбинации клавиш ctrl-alt-numeric
+
и ctrl-alt-numeric -
для переключения между видеорежимами,
перечисленными в строке Modes
раздела Screen
в файле
XF86Config
. Если более высокое разрешение выглядит неправильно, то
попробуйте переключиться в режим с меньшим разрешением. Это позволит вам
понять, что по крайней мере эта часть настройки X работает правильно.
Также проверьте ручки вертикального и горизонтального размера/положения на вашем мониторе. Во многих случаях необходимо регулировать их при запуске X. Например, если изображение выглядит немного сдвинутым на одну сторону, то обычно вы сможете исправить это используя управление монитором.
Группа новостей USENET comp.windows.x.i386unix
предназначена для
обсуждения XFree86, также как и comp.os.linux.x
. Хорошей идеей
будет посмотреть статьи посылаемые в эти группы и относящиеся к настройке
вашего видео---вы можете найти кого-нибудь у кого такие же проблемы.
Вам будет необходимо вручную исправить настройку X для того, чтобы добиться оптимальной производительности, если ваш монитор поддерживает разрешение 1600x1200--самое высокое разрешение, поддерживаемое программой XF86Setup равно 1280x1024.
Если вы хотите вручную править вашу конфигурацию видеосистемы по этой или другой причине, то смотрите XFree86 Video Timings HOWTO, http://metalab.unc.edu/LDP/HOWTO/XFree86-Video-Timings-HOWTO.html. (Это HTML-версия поставляемого с XFree86 файла `Videomodes.doc').
По умолчанию X использует 8-битную глубину цвета, дающую 256 цветов. Для того, чтобы обойти это ограничение много приложений выделяют свои собственные таблицы цветов (colormaps), приводящие в результате в внезапным сменам цветов при перемещении курсора между двумя окнами, в каждом из которых имеется своя таблица цветов. Таким способом работает WWW-броузер Arena.
Если вы хотите использовать мощные графические приложения, то 256 цветов может быть недостаточно. Вам может быть необходимо использовать 16-битную цветовую глубину (65536 цветов). Но будьте осторожны---не все приложения поддерживают 16-битные цвета.
Вы можете использовать 16-битные цвета с 65K разных цветов просто запуская X с помощью команды
startx -- -bpp 16
или поместив
exec X :0 -bpp 16
в ваш файл .xserverrc. Однако для того, чтобы это работало вам необходимо иметь раздел
screen
DefaultColorDepth 16
Если вы используете xdm, то вам может быть необходимо изменить файл Xservers, которые вероятно расположен в каталоге /etc/X11/xdm/. Типичная конфигурация имеет только одну незакомментированую строку, выглядящую примерно так
:0 local /usr/X11R6/bin/X
Добавьте
-bpp 16
:0 local /usr/X11R6/bin/X -bpp 16
Вам также надо будет добавить к разделу 'screen' вашей конфигурации X часть Display с параметром Depth равным 16. В общем вы можете просто скопировать раздел 8-bit Display и изменить поле Depth.
Большее количество цветов заставляет вашу карту передавать больше данных за то же самое время. Если ваша карта не справляется, то либо разрешение, либо частота обновления должна быть уменьшена. По умолчанию XFree уменьшает разрешение. Если вы хотите сохранить разрешение и уменьшить частоту обновления, то вы должны вставить новую строку Modeline в ваш файл XF86Config, которая определяет разрешение с более низкой частотой обновления. Например измените старое значение
Modeline "1024x768" 75 1024 1048 1184 1328 768 771 777 806 -hsync -vsync
на
Modeline "1024x768" 65 1024 1032 1176 1344 768 771 777 806 -hsync -vsync.
Магические числа 75 и 65---это соответствующие частоты часов, которые вам выдаст X в вашем файле .X.err. Посмотрите файл 'monitors' в документации по XFree86 для строки Modelines подходящей для максимальной частоты часов вашей видеокарты, которая может работать с 16-битным цветом.