The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Автоконфигурация X-Window. (xfree86 x config xorg)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: xfree86, x, config, xorg,  (найти похожие документы)
From: Владимир Попов <vn_popov at linux-online.ru> Newsgroups: http://linuxshop.ru/unix4all/ Date: Mon, 28 Aug 2004 14:31:37 +0000 (UTC) Subject: Автоконфигурация X-Window. Оригинал: http://linuxshop.ru/unix4all/?cid=&id=401 Автоконфигурация X-Window. Владимир Попов <vn_popov at linux-online.ru> Возможно, не всем известно, что X-Window имеет средства автоконфигурирования. Средства эти с каждой версией совершенствуются и, на мой взгляд, в настоящее время уже вполне могли бы конкурировать со специальными программами настройки, такими как xf86config или xf86cfg. Об этих самых средствах и речь. Все описываемые ниже операции проводятся под root-ом в каталоге, опять же, /root. В консольном режиме, разумеется, поскольку настройка X-сервера сразу в графическом режиме напоминает ремонт автомобиля в движении: возможно, но - зачем? Так же, само собой разумеющимся, я полагаю отсутствие автоматической загрузки графической среды. То есть: загружаемся в консольном режиме, X-Window запускаем командой startx. Заранее прошу прощения у специалистов за намеренно упрощённое описание вывода на экран: хотелось как можно проще, но достаточно для понимания конфигурационных параметров. Запуск. ------- Предельно просто: $>X -configure Результат: /root/XF86Config.new Обычно, этот файл имеет размер менее 3-х килобайт: со времён третьей версии X-Window XF86Config заметно "похудел" и вряд ли его анализ окажется затруднительным. К чему и приступим. Секции, не нуждающиеся в редактировании, просто не упоминаются. Section "Files" --------------- Что касается RgbPath и ModulePath, то их редактировать не придётся, а вот опции FontPath требуют внимания. Если сервер фонтов xfs не используется (а X-Window так и предполагает), то нужно добавить строки, указывающие путь к фонтам с кириллицей: ну не догадывается конфигуратор о нашей привязанности к этому алфавиту. Если же xfs используется: удаляем все строки с FontPath, и вставляем вместо них только одну: FontPath "unix/:7100" Рекомендации по поводу кириллицы в этом случае аналогичны, только модифицировать нужно будет файл конфигурации xfs-сервера (/etc/X11/fs/config) Section "Module" ---------------- Список загружаемых модулей, обеспечивающих различные аспекты работы X-Window, можно не трогать: конфигуратор составляет его с учётом особенностей видеокарты и используемого драйвера и, как правило, не ошибается. А вот со списком модулей, обеспечивающих растеризацию шрифтов, можно поспорить: в него включены только type1 и speedo. На мой взгляд, отказываться от фонтов true-type нынче вряд ли стоит. А для этого потребуется включить строки Load "freetype" Load "xtt" Section "InputDevice" --------------------- В секции, описывающей мышь, вполне можно согласиться с опцией Option "Protocol" "auto" А, если симлинк /dev/mouse указывает на реально имеющуюся мышь, то и на следующую за ней Option "Device" "/dev/mouse" Для 3-х кнопочной мыши не лишним будет добавить Option "ZAxisMapping" "4 5" А вот в одноимённой секции для клавиатуры изменений будет побольше: опять придётся отдать должное нашей привязанности к кириллице. Вставляем: Option "XkbRules" "xfree86" Option "XkbModel" "pc104" Option "XkbLayout" "us,ru" Option "XkbVariant" "winkeys" Option "XkbOptions" "grp:caps_toggle,grp_led:scroll" Разумеется, количество клавиш на клавиатуре, желание использовать winkeys, CapsLock в качестве переключателя, а scroll - в качестве индикатора - дело вкуса. Section "Monitor" ----------------- Зона "особого внимания". Буквально два слова теории: * видимое на экране - кадры, сменяющие друг друга с частотой, скажем, 25..150 Гц; * кадры состоят из строк (480 .. 1200 для стандартных нынче разрешений по вертикали), которые, как нетрудно догадаться, могут следовать с частотой 25х480 .. 1200х150, или: 12 .. 180 кГц; * строки состоят из точек, количество которых определяется разрешением по горизонтали (для приведённых выше значений разрешения по вертикали это, соответственно: 640 .. 1600). То есть точки будут следовать друг за другом с частотой 12х640 .. 180х1600, или: 7.68 .. 288 МГц; * реальная картина несколько сложнее, уже хотя бы потому, что электронному лучу кроме полезного "рисования" приходится совершать ещё и так называемый невидимый "обратный ход", но в первом приближении именно приведённые цифры характеризуют работу монитора и именно они определяют его способность обеспечивать нужное разрешение с желаемой кадровой развёрткой; * справедливости ради, нужно заметить, что видеокарта также имеет ограничение по частоте "рисования" точки (так называемая dot-clock) и, по идее, реальным ограничением будет меньшая из двух величин: dot-clock видеокарты или полоса пропускания (bandwidth) монитора. Но, практически, первая всегда превышает вторую, так, что "слабое звено" всё же - монитор. Секция "Monitor" как раз и содержит информацию о максимально возможных частотах горизонтальной синхронизации (HorizSync) и вертикальной развёртки (VertRefresh). Точнее: должна содержать, поскольку опирается при этом на данные, получаемые от монитора. Так называемый EDID. А EDID этот самый принят в качестве стандарта только в 1996-м, да и сейчас не все мониторы выдают корректные данные о себе. Именно это и "удлиняет несчастьям нашим жизнь", как выразился когда-то Гамлет, принц датский. Не получен EDID - не будет автоконфигурации. Что не мешает, разумеется, поправить дело вручную. Если опции HorizSync и VertRefresh в XF86Config.new отсутствуют, их нужно просто вставить, почерпнув нужные цифры из документации монитора. Если же документации нет, то рекомендации следующие: HorizSync 28.0 - 96.0 VertRefresh 50.0 - 70.0 Если монитор старенький, то с верхней границей частоты горизонтальной синхронизации мы, возможно, и "погорячились", но страшного в этом нет, пока не задана слишком большая частота развёртки кадровой. Что бы не "погорячиться" и с ней, нужно помнить, что для разных разрешений она различна. Примерно так: 800х600 - 75 1024х768 - 70 1280x1024 - 65 1600x1200 - 60 dot-clock видеокарты Х-сервер проверяет сам, bandwidth монитора при отсутствии данных EDID - рассчитывает. Так что больше ничего не требуется. Section "Device" ---------------- В этой секции находятся опции драйвера, предлагаемого Х-сервером для использования с данной видеокартой. Все они "закомментированы" и могут быть востребованы исключительно по инициативе пользователя. Пара примеров: Option "LcdCenter" # автоматическое "центрирование" изображения # для драйвера neomagic Option "CursorShadow" # для драйвера nvidia Section "Screen" ---------------- Задаёт используемые видеорежимы. По моему глубокому убеждению, эксперименты с видеорежимами оправданы только при смене видеокарты или монитора. В обычной же жизни, в этой секции кроме опций, идентифицирующих видеосистему, требуется только: DefaultDepth 24 и всего одна SubSection "Display": Depth 24 Modes "1024x768" Разумеется, глубина цветопередачи и разрешение - дело вкуса. Resume ------ Очевидно, всё описанное не очень изменило размер XF86Config.new, скорее - наоборот. Осталось переименовать его в XF86Config, перенести, при желании, в /etc/X11 или куда-то ещё (в зависимости от дистрибутива), проверить и обеспечить графический вход в систему, если уж такая привычка имеет место. Bonus ----- * три с лишним десятка драйверов, входящих в версию 4.3 покрывают очень широкий спектр оборудования. Но "нельзя объять необъятное" и не исключено, что как раз нужного-то драйвера и нет. В этом случае рекомендуется пробовать универсальные драйвера: fbdev, vesa и vga, подставляя их в опцию Driver секции Device; * если геометрические характеристики изображения неудовлетворительны, используйте xvidtune, входящую в комплект X-Window. С её помощью (предварительно нажав Auto), можно изменить размеры изображения и сместить его в требуемом направлении. Кнопка Show заставит xvidtune выдать в stdout (куда он попадёт конкретно - определяется способом запуска xvidtune и Х-сервера) значения, которые можно подставить в опцию ModeLine. Саму же опцию нужно поместить в секцию Monitor; * Х-сервер всегда старается задать максимально возможную для монитора кадровую развёртку. Для того, чтобы ограничить это стремление, нужно уменьшить максимальное значение VertRefresh. Чаще, однако, требуется обратное: монитор поддерживает более высокую частоту кадровой, а Х-сервер её не выдаёт. Объяснение просто: Х-сервер "перебирает" только стандартные значения развёртки, "освящённые", так сказать, VESA. Что не мешает нам навязать ему любой видеорежим с помощью всё той же опции ModeLine. Осталось выяснить, где взять желаемые значения для ModeLine. Лучшее из известных мне средство videogen (http://www.dynaweb.hu/opensource/videogen/). Сочетание videogen и xvidtune позволяет "выжать" из монитора максимум.

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

Ваш комментарий
Имя:         
E-Mail:      
Заголовок:
Текст:





  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor