Эта глава познакомит вас с некоторыми из наиболее интересных возможностей Linux. Это предполагает, что вы имеете как минимум начальные знания UNIX и поняли информацию, содержащуюся в предыдущих разделах.
Наиболее важным аспектом Linux, который отличает его от других реализаций UNIX является его открытая концепция разработки.
Linux не разрабатывался небольшой группой программистов, возглавляемой коммерческой структурой с целью получения прибыли.
Он разрабатывался постоянно растущей группой хакеров, вносящих то что им нравится в домашнее варево UNIX.
Linux включает в себя огромное количество разнообразного как по типу так и по способам разработки программного обеспечения. Некоторым не нравится недостаток единобразия, некоторые считают его основным преимуществом Linux.
X-Window является большой, мощной (и отчасти сложной) графической средой для UNIX систем. Система X-Window была разработана в Массачусетстком технологическом институте (MIT), которая стала затем стандартом для всех UNIX систем. Практически каждая рабочая станция UNIX в мире работает на одном из вариантов X-Window.
Группа программистов, возглавляемая Дэвидом Вексельблатом
(David Wexelblat ),
Полная настройка и использование X Window выходит за пределы этой книги. Вам следует обратиться к книге : The X Window System: A User's Guide (см. Приложение A) В этой главе мы опишем шаг за шагом установку и настройку XFree86 для Linux. Для более детального ознакомления вы можете обратиться к документации, поставляемой вместе с XFree86 (она обсуждается ниже). Другим полезным источником информации является THE LINUX XFree86 HOWTO.
XFree86 версии 3.1, вышедшая в сентябре 1994, года поддерживает следующие микросхемы видеоадаптеров. (Прежде чем устанавливать XFree86 вам надо выяснить тип микросхемы вашего видеоадаптера.)
Документация, поставляемая вместе с видеоадаптером, как правило указывает тип используемых микросхем. Если вы приобрели новую видеокарту или новый компьютер, попросите поставщика уточнить изготовителя, модель и тип микросхем видеокарты. Как правило поставщики охотно дадут вам эту информацию. Большинство из них сообщит, что видеокарта является стандартной SVGA картой и будет работать в вашей операционной системе. Об'ясните им, что ваше программное обеспечение (Linux и XFree86) не поддерживает всех видеокарт и вам требуется дополнительная информация.
Вы можете также определить тип микросхемы, вызвав команду
SuperProbe
, входящую в состав XFree86. Это будет описано ниже.
XFree86 версии 3.1, вышедшая в сентябре 1994 года поддерживает следующие типы микросхем:
Поддерживаются также следующие адаптеры с графическими ускорителями:
Видеокарты с этими микросхемами поддерживаются для всех системных шин, включая VLB и PCI.
Все вышеперечисленные карты поддерживаются как в режиме 256 цветов, так и в монохромном режиме, за исключением Avance Logic, MX and Video 7 микросхем, которые поддерживаются только в режиме 256 цветов. Если на вашей видеокарте установлено достаточно видеопамяти, многие из микросхем поддерживются в режиме 16 и 32 бита на точку (65 тысяч и 4 млн цветов) (некоторые из Msch32, P9000, S3 и Cirrus видеокарт). Обычно видеокарты используются в режиме 8 бит на точку (256 цветов).
Монохромный сервер поддерживает основные карты VGA, монохромные карты Hercules, Hyundai HGC1280, Sigma LaserView иу Apoll. На карте Compaq AVGA в монохромном режиме поддерживается только 64Кб видеопамяти и работа карты GVGA с памятью более 64Кб не проверена в настоящее время.
Этот список несомненно расширится со временем. Полный список поддерживаемых карт вы найдете в замечаниях к текущей версии XFree86.
Одной из проблем, с которой столкнулись разработчики, являлся нестандартный механизм определения частоты, используемый для управления картой. Некоторые производители либо не описывали способ программирования карты, либо требовали подписания дополнительного соглашения о нераспространении полученной информации. Это очевидно ограничило бы свободное распространение XFree86, чего естественно не могли допустить разработчики. Долгое время данная проблема была с видеокартами, производимыми фирмой Diamond, но начиная с версии 3.1 XFree86, Diamond начала сотрудничество с разработчиками с целью выпуска драйвера для этой карты.
Предполагаемая конфигурация компьютера для установки XFree86 под Linux включает в себя как минимум 8 мегабайт оперативной памяти и видеокарту с одной из вышеперечисленных микросхем. Для оптимальной работы мы советуем использовать видеокарту с графическим ускорителем, например S3.
Перед покупкой дорогостоящей видеокарты вам следует
просмотреть документацию по XFree и убедиться, что выбранная вами
карта поддерживается.
Сравнительные тесты Benchmark для различных видеокарт под XFree86
периодически выставляются в конференции
comp.windows.x.i386unix
и comp.os.linux.misc
.
Замечу, что мой персональный компьютер с Linux содержит 486DX2-66, 20 мегабайт RAM, и имеет VLB S3-864 видеоадаптер с 2 мегабайтами оперативной памяти. Я протестировал X benchmarks на этой машине и на рабочей станции Sun Sparc IPX. Linux где-то раз в 7 быстрее, чем Sparc IPX (для любопытных, XFree86-3.1 под Linux обеспечил скорость 171,000 xstones; Sparc IPX - около 24000). Обычно, XFree86 под Linux с графическим ускорителем показывает существенно большую производительность чем коммерческие рабочие станции (которые обычно используют неэффективные алгоритмы обработки графической информации).
Для вашей машины требуется как минимум 4 мегабайта оперативной памяти и 16 мегабайт виртуальной (например, 8 мегабайт оперативной памяти и 8 мегабайт своппинга). Имейте в виду, что чем больше физической оперативной памяти вы имеете, тем меньше операционная система использует своппинг. Так как операция своппинга исходно медленная (доступ к диску намного медленнее, чем к памяти), для комфортабельной работы вам следует иметь 8 или более мегабайт. Система с 4-мя мегабайтами работает намного (в десятки раз) медленнее чем с 8-ю мегабайтами.
Дистрибутив Xfree86 в выполняемых кодах можно найти на целом ряде
FTP-серверов. На sunsite.unc.edu
он находится в каталоге
/pub/Linux/X11
. (На момент написания текущая версия была 3.1;
периодически появляются новые версии).
Вполне возможно, что вы имеете XFree86 как часть дистрибутива Linux, в этом случае в перекачке XFree86 нет необходимости.
Если же вы собираетесь скачать XFree с FTP-сервера, следующая таблица содержит список файлов в дистрибутиве XFree86-3.1.
Вам потребуется один из серверов:
Файл Описание
XF86-3.1-8514.tar.gz Сервер для 8514 видеокарт.
XF86-3.1-AGX.tar.gz Сервер для AGX видеокарт.
XF86-3.1-Mach32.tar.gz Сервер для Mach32 видеокарт.
XF86-3.1-Mach8.tar.gz Сервер для Mach8 видеокарт.
XF86-3.1-Mono.tar.gz Сервер для монохромного режима.
XF86-3.1-P9000.tar.gz Сервер для P9000 видеокарт.
XF86-3.1-S3.tar.gz Сервер для S3 видеокарт.
XF86-3.1-SVGA.tar.gz Сервер для Super VGA видеокарт.
XF86-3.1-VGA16.tar.gz Сервер для VGA/EGA видеокарт.
XF86-3.1-W32.tar.gz Сервер для ET4000/W32 видеокарт.
все нижеперечисленные файлы:
Файл Описание
XF86-3.1-bin.tar.gz Остальные программы X11R6.
XF86-3.1-cfg.tar.gz Конфигурационные файлы для xdm, xinit и fs.
XF86-3.1-doc.tar.gz Документация и руководства.
XF86-3.1-inc.tar.gz Include файлы. (?)
XF86-3.1-lib.tar.gz Разделяемые библиотеки.
XF86-3.1-fnt.tar.gz Основные фонты.
следующие файлы не являются обязательными:
Файл Описание
XF86-3.1-ctrb.tar.gz Выбранные дополнительные программы (?).
XF86-3.1-extra.tar.gz Дополнительные сервера для XFree86.
XF86-3.1-lkit.tar.gz Инструментарий для компиляции серверов.
XF86-3.1-fnt75.tar.gz Фонты 75-dpi.
XF86-3.1-fnt100.tar.gz Фонты 100-dpi.
XF86-3.1-fntbig.tar.gz Large Kanji и другие фонты.
XF86-3.1-fntscl.tar.gz Масштабируемые фонты (Speedo, Type1).
XF86-3.1-man.tar.gz Руководства.
XF86-3.1-pex.tar.gz Выполняемые файлы, include-файлы, библиотеки для PEX.
XF86-3.1-slib.tar.gz Статические библиотеки.
XF86-3.1-usrbin.tar.gz Программы-демоны, размещающиеся в /usr/bin.
XF86-3.1-xdmshdw.tar.gz Версия программы xdm с поддержкой теневых паролей.
Каталог XFree должен содержать файлы README
и замечания
по инсталляции текущей версии.
Все что вам требуется для инсталляции XFree86, это получить
указанные файлы, создать каталог /usr/X11R6
(пользователем root
),
перейти в этот каталог и распаковать файлы.
Например:
# gzip -dc XF86-3.1-bin.tar.gz | tar xfB -
Имейте в виду, что эти файлы упакованы относительно каталога
/usr/X11R6
, так что необходимо распаковывать их
находясь в этом каталоге.
После распаковки файлов, вам необходимо связать файл /usr/X11R6/bin/X
с тем сервером, который вы намереваетесь использовать.
Например, если вы желаете работать с SVGA сервером,
файл /usr/bin/X11/X
необходимо связать с файлом
/usr/X11R6/bin/XF86_SVGA
.
Если же вы собираетесь использовать монохромный сервер,
переустановите связь командой:
# ln -sf /usr/X11R6/bin/XF86_MONO /usr/X11R6/bin/X
Это же справедливо и для серверов других видеокарт.
Если вы не уверены какой сервер использовать, или не знаете
какую микросхему содержит ваша видеокарта, вы можете
запустить команду SuperProbe
(включенную в XF86-3.1-bin).
Эта программа попытается определить тип микросхемы вашей видеокарты
и другую полезную информацию.
Вам следует убедиться, что каталог /usr/bin/X11R6
находится в переменной среды PATH.
Это может быть сделано редактированием файлов /etc/profile или
/etc/csh.login
(в зависимости от оболочек (shell) которые
вы или другие пользователи используют).
Вы также можете просто добавить этот каталог с вашей переменной PATH
,
корректируя в вашем домашнем каталоге файлы .bashrc
или .cshrc
,
в зависимости от типа вашей оболочки.
Вам также необходимо обеспечить загрузку динамических библиотек. Для этого добавьте строку:
/usr/X11R6/lib
в файл /etc/ld.so.conf
и запустите команду
/sbin/ldconfig
как суперпользователь.
В большинстве случаев установка XFree не представляет проблем. Однако, если вы желаете использовать видеокарту для которой драйвер находится в процессе разработки или добиться лучших разрешения или производительности от карты с графическим акселератором, то вам потребуется определенное время для настройки XFree.
В этой главе мы опишем как создать и отредактировать
XF86Config
файл, который настраивает XFree86 сервер.
В большинстве случаев лучше всего начать с ``основной'' XFree86 конфигурации, которая использует низкое разрешение , например 640x480, поддерживаемого всеми видеокартами и мониторами. Однажды настроив XFree на стандартное разрешение, вы можете затем подстроить файл конфигурации для для того, чтобы использовать все возможности, предоставляемые вашей аппаратурой.
В дополнение к информации приведенной здесь, вам следует ознакомиться со следующей документацией:
/usr/X11R6/lib/X11/doc
(включенного в пакет XFree86-3.1-doc).
Вам следует особенно обратить внимане на файл
README.Config
.README
(например README.Cirrus
, README.S3
).
Прочитайте их, если вы имеете такую видеокарту.XF86Config
.XF86_SVGA
или XF86_S3
).Основным файлом настройки XFree86 является файл
/usr/X11R6/lib/X11/XF86Config
.
Этот файл содержит информацию о вашей мыши, параметрах видеокарты
и т п. В качестве примера дистрибутив XFree86 содержит файл
XF86Config.eg
. Скопируйте его в файл XF86Config
и отредактируйте.
XF86Config
man page подробно об'ясняет формат этого файла.
Прочитайте данный документ , если вы еще это не сделали.
Далее мы собираемся просмотреть файл XF86Config
участок за участком.
Этот файл может выглядеть не совсем так, как файл в вашем дистрибутиве
XFree86, но структура их совпадает.
!Заметьте, что формат файла XF86Config
может изменяться
с каждой версией XFree86; эта информация может быть верной только для
XFree86 версии 3.1.
!Имейте также в виду,
что не следует просто копировать конфигурационный файл,
приведенный здесь и пытаться использовать его.
Попытка использовать конфигурационный файл, не соответствующий вашему
оборудованию, может заставить ваш монитор работать со слишком высокой
для него частотой; были сообщения о выходе из строя мониторов
(особенно мониторов с фиксированной частотой) при использовании
неверных XF86Config
файлов.
Каждая секция файла XF86Config
определяется парой строк
Section "<section-name>" ... EndSection
.
Первая секция файла называется Files
, и выглядит следующим образом:
Section "Files"
RgbPath "/usr/X11R6/lib/X11/rgb"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
EndSection
Строка RgbPath
указывает местоположение базы данных цветов,
а каждая строка FontPath
определяет каталог, содержащий
фонты.
Как правило, вам не следует изменять эти строки,
вам следует только убедиться, что все каталоги фонтов
присутствуют.
Следующая секция имеет имя ServerFlags
и определяет несколько
глобальных параметров для сервера.
Как правило эта секция пуста.
Section "ServerFlags"
# Uncomment this to cause a core dump at the spot where a signal is
# received. This may leave the console in an unusable state, but may
# provide a better stack trace in the core dump to aid in debugging
# NoTrapSignals
# ncomment this to disable the <Crtl><Alt><BS> server abort sequence
# DontZap
EndSection
Все строки данной секции закомментированы.
Следуюшая секция Keyboard
.
Она определяет работу клавиатуры.
Section "Keyboard"
Protocol "Standard"
AutoRepeat 500 5
ServerNumLock
EndSection
Доступны также и другие режимы. Описанные выше опции работают на
большинстве клавиатур.
Следующая секция - Pointer
определяет параметры мыши.
Section "Pointer"
Protocol "MouseSystems"
Device "/dev/mouse"
# Baudrate and SampleRate are only for some Logitech mice
# BaudRate 9600
# SampleRate 150
# Emulate3Buttons is an option for 2-button Microsoft mice
# Emulate3Buttons
# ChordMiddle is an option for some 3-button Logitech mice
# ChordMiddle
EndSection
Единственными опциями, на которые стоит обратить внимание
являются Protocol
и Device
. Protocol
определяет протокол,
который использует ваша мышь.
Возможными типами (для Linux - есть другие опции,
доступными для других ОС) являются:
Для Logitech busmouse следует использовать протокол BusMouse.
Заметьте, что для старых мышей Logitech необходимо использовать протокол
Logitech
, а для новых или Microsoft
, или Mouseman
протокол.
Строка Device
определяет устройство к которому подключена мышь.
На большинстве систем Linux это /dev/mouse
.
/dev/mouse
обычно
связано с соответствующим серийным портом (например /dev/cua0
- COM1
или /dev/cua1
- COM2) или с портом busmouse
.
В любом случае убедитесь, что указанное устройство есть
в каталоге /dev
и работоспособно.
Следующая секция - Monitor
, определяет характеристики вашего монитора.
Файл XF86Config
может содержать не одну, а несколько секций Monitor
(это справедливо и для других секций).
Это полезно в том случае, когда вы подключили к системе
несколько мониторов или используете один и тот же
XF86Config
файл для различных конфигураций.
Section "Monitor"
Identifier "CTX 5468 NI"
# These values are for a CTX 5468NI only! Don't attempt to use
# them with your monitor (unless you have this model)
Bandwidth 60
HorizSync 30-38,47-50
VertRefresh 50-90
# Modes: Name dotclock horiz vert
ModeLine "640x480" 25 640 664 760 800 480 491 493 525
ModeLine "800x600" 36 800 824 896 1024 600 601 603 625
ModeLine "1024x768" 65 1024 1088 1200 1328 768 783 789 818
EndSection
Строка Identifier
используется для именования текущего описания
монитора. Это может быть любая строка, на которую вы в дальнейшем
ссылаться в файле XF86Config
.
HorizSync
определяет возможные скорости горизонтальной развертки
для вашего монитора в Килогерцах.
Если у вас многочастотный (multisync) монитор, вы можете указать
интервал значений (или несколько интервалов, разделенных запятой),
как показано выше.
Если у вас монитор с фиксированной частотой, то вам надо указать
список фиксированных значений. Например:
HorizSync 31.5, 35.2, 37.9, 35.5, 48.95
В руководстве на ваш монитор эти значения должны быть описаны. Если вы не имеете этой информации, вам следует связаться с производителем или продавцом вашего монитора.
Строка VertRefresh
описывает возможные значения частоты вертикальной
развертки для вашего монитора в герцах.
Как и для HorizSync
вы можете указать интервал или список
дискретных значений. Ваше руководство на монитор должно содержать эту
информацию.
Сервер использует значения HorizSync
и VertRefresh
только для того,
чтобы убедиться что вы верно определили разрешение монитора.
Это исключает возможность разрушения монитора
при попытке работы с ним на частоте превышающей максимально
допустимую.
Строка ModeLine
определяет один из режимов разрешения вашего монитора.
Ее формат:
ModeLine <name> <clock> <horiz-values> <vert-values>
<name>
- строка, которую вы можете использовать в этом файле в
дальнейшем для указания разрешения.
<dot-clock>
определяет частоту задающего генератора адаптера
для этого разрешения.
Обычно частота указывается в мегагерцах.
Она определяет скорость с которой видеокарта должна посылать
значения точек экрана на монитор при указанном разрешении.
<horiz-values>
и <vert-values>
состоят из 4-х цифр каждая.
Эти значения определяют, когда электронная пушка монитора
во время развертки должна включиться и когда должны проходить
импульсы горизонтальной и вертикальной синхронизации
во время развертки луча.
Как описать строку ModeLine
для вашего монитора?
Файл VideoModes.doc
, включенный в дистрибутив XFree86,
детально описывает как определить эти значения для
каждого разрешения, которое поддерживает ваш монитор.
Значение clock
должно соответствовать частотам, которые
поддерживает ваша видеокарта.
Далее в файле XF86Config
вы определите эти значения.
Существует два файла modeDB.txt
и Monitors
в дистрибутиве XFree, которые могут содержать
данные ModeLine
для вашего монитора.
Эти файлы располагаются в каталоге /usr/X11R6/lib/X11/doc
.
Вы можете начать со значений ModeLine
для мониторов стандарта VESA.
Этот режим поддерживается большинством мониторов.
Файл modeDB.txt
включает описания синхронизации
для стандартного разрешения VESA.
В этом файле вы найдете такие строки:
# 640x480@60Hz Non-Interlaced mode
# Horizontal Sync = 31.5kHz
# Timing: H=(0.95us, 3.81us, 1.59us), V=(0.35ms, 0.064ms, 1.02ms)
#
# name clock horizontal timing vertical timing flags
"640x480" 25.175 640 664 760 800 480 491 493 525
Это стандартная строка синхронизации для разрешения 640x480 точек. Она устанавливает частоту 25.175 Mhz, которая должна поддерживаться большинством мониторов (более подробно об этом позже). В вашем файле эта строка должна выглядеть так:
ModeLine "640x480" 25.175 640 664 760 800 480 491 493 525
Заметим, что аргумент name в строке ModeLine
(в нашем случае "640x480") может быть любой строкой,
которая описывает для вас разрешение монитора.
Для каждой строки ModeLine
сервер проверяет, попадают ли указанные
значения в интервал указанных значений Bandwidth
, HorizSync
и
VertRefresh
.
Если нет, то сервер выдаст предупреждение при начале работы.
Если стандартные значения синхронизации VESA не работают у вас,
то просмотрите другие значения в файлах modeDB.txt
и Monitors
для других типов мониторов.
Заметим, что многие 14 и 15 дюймовые мониторы не могут поддерживать
разрешений 1024x768 точек из-за низкого значения Bandwidth
.
То есть, если вы не нашли описание режима высокого разрешения
для вашего монитора, то не исключено, что ваш монитор не
поддерживает такое разрешение.
Если вы потерпели неудачу с подбором строки ModeLine,
изучите инструкцию описанную в файле VideoModes.doc
вашего дистрибутива.
По этой инструкции вы сможете описать
строку ModeLine
по спецификациям, описанным в вашем руководстве
на монитор.
В конце концов, если вы не можете подобрать правильные значения строки ModeLine
,
то вы можете просто слегка изменить
эти значения для достижения требуемого результата.
Например, если изображение на экране слегка
уходит влево или вверх, вы можете по инструкции из файла
VideoModes.doc
настроить значения синхронизации.
Проверьте также наличие управляющих клавиш на вашем мониторе!
Частенько бывает достаточным изменить горизонтальный и вертикальный
размер изображения во время работы XFree чтобы добиться
желаемой центровки и размера изображения.
Наличие этих клавиш на монитора значительно упрощает жизнь.
Следующая секция Device
описывает параметры вашей видеокарты.
Например:
Section "Device"
Identifier "#9 GXE 64"
# Nothing yet; we fill in these values later.
EndSection
Эта секция описывает возможности вашей карты.
Identifier
определяет имя этого описания для ссылки на него в
дальнейшем.
Первоначально вам не стоит заполнять эту секцию, за исключением
поля Identifier
.
X-сервер можно использовать в режиме определения параметров
установленной видеокарты.
После определения этих параметров вы занесете их в эту секцию.
X-сервер способен определить тип микросхемы
видеокарты, поддерживаемый интервал частот,
наличие RAMDAC и размер установленной памяти на видеоадаптере.
Прежде чем мы это сделаем, нам следует закончить описание
файла XF86Config
.
Следующая секция - Screen
описывает возможные
режимы работы X-сервера с видеокартой и монитором.
Section "Screen"
Driver "Accel"
Device "#9 GXE 64"
Monitor "CTX 5468 NI"
Subsection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
Virtual 1024 768
EndSubsection
EndSection
Строка Driver
определяет тип сервера, который вы будете использовать.
Вы можете использовать следующие сервера:
Для XF86_S3, XF86_Mach32, XF86_Mach8, XF86_8514, XF86_P9000, XF86_AGX, and XF86_W32 серверов;
Для XF86_SVGA сервера;
: Для XF86_VGA16 сервера;
: Для XF86_Mono сервера;
: Для non-VGA монохромного драйвера в XF86_Mono и XF86_VGA16 серверах.
Убедитесь, что файл /usr/X11R6/bin/X
является символьной ссылкой на используемый вами сервер.
Строка Device определяет идентификатор секции Device
,
описывающей установленную видеокарту.
Выше мы описали секцию Device
с идентификатором:
Identifier "#9 GXE 64"
Следовательно, здесь мы используем "#9 GXE 64
" в строке Device
.
Точно так же строка Monitor
определяет имя секции Monitor
для данного сервера, в данном примере "CTX 5468 NI
".
Подсекция Display определяет режим работы сервера при выводе информации
на экран. Файл XF86Config
детально описывает эти режимы.
Режимы, которые вам необходимо знать:
Depth
. Опеделяет число битов на точку. Обычно Depth
принимает значение 8 (256 цветов). Для сервера VGA16 вам следует
установить значение Depth
4 и для монохромного сервера - 1.
Если вы используете видеокарту с ускорителем и имеете достаточно
памяти для поддержки большего числа бит на точку, Вы можете
установить Depth
16 , 24 или 32.
Если с этими значения появились проблемы
вернитесь к значению 8 и попытайтесь решить проблему позже.
Modes
. Указывает список видеорежимов, описанных
в секции ModeLines.
Выше мы описали режимы Modelines названные
"1024x768
", "800x600
" и "640x480
".
Следовательно строка Modes будет выглядеть:
Modes "1024x768" "800x600" "640x480"
Первый режим, перечисленный в этой строке устанавливается по умолчанию
после начала работы сервера.
Далее вы можете переключать режимы разрешения изображения,
использую клавиши
Лучше всего при начальном конфигурации XFree86
использовать минимальное разрешение, например 640x480,
которое работает на большинстве систем.
И после настройки этого режима настроить XF86Config
на работу с большими разрешениями.
Virtual
. Устанавливает виртуальный размер экрана.
XFree86 имеет возможность использовать дополнительнуб память на
вашей видеокарте для расширения вашего рабочего поля.
Когда указатель мыши доходит до края экрана, ваше рабочее поле сдвигается
показывая новые части вашего рабочего поля.
Следовательно, даже если вы работаете на мониторе
с низким разрешением (например 800x600 точек),
вы можете установить размер виртуального экрана насколько
вам позволяет память видеоплаты (1 Мегабайтная плата
может хранить рабочее поле 1024x768 с 256 цветами,
2-х Мегабайтная плата - 1280x1024 с 256 цветами или
1024x768 с 16384 цветами и т д).
Конечно, вы не сможете увидеть сразу все поле на вашем мониторе,
но вы можете легко просмотреть любую его часть.
Virtual
предоставляет вам прекрасную возможность
использовать всю память вашего адаптера, но
она довольно ограничена.
Если вы желаете еще расширить возможности работы
с экраном, вам следует использовать fvwm
, openwin
или другой подобный менеджер окон.
fvwm
и openwin
позволяет вам иметь намного больший
виртуальный экран (используя механизм спрятанных окон,
вместо сохранения всего экрана в видеопамяти).
Ваше виртуальное рабочее поле может состоять из
16x16 реальных экранов и более.
Обратитесь к руководству по указанным командам.
Большинство дистрибутивов XFree используют по
умолчанию менеджер окон fvwm
.
ViewPort
.
Если вы использовали опцию Virtual
, описанную выше,
ViewPort устанавливает координаты левого верхнего угла
виртуального экрана после начала работы сервера.
Часто используют значение Virtual 0 0
.
Если вы не установили этого значения сервер центрирует
виртуальный экран на мониторе (что может быть не всегда желательно).XF86Config
). На практике же другие опции
не обязательны для начальной установки сервера.
Теперь ваш файл XF86Config
готов к использованию.
Единственное, что мы не сделали - не заполнили информацию о видеокарте.
Сейчас нам следует запустить X сервер
в режиме определения видеокарты и дооформить XF86Config
файл.
Эту информацию вы можете найти и в файлах
modeDB.txt
, AccelCards
и Devices
(все эти файлы находятся
в каталоге /usr/X11R6/lib/X11/doc
).
Кроме этого существуют различные файлы README
для
конкретных микросхем.
Вам следует просмотреть эти файлы и используя эту информацию
(частоты, тип микросхем и другие режимы) доопределить
файл XF86Config
.
Если какой то информации не хватает, вы можете определить ее
путем описанным ниже.
В этом примере мы опишем настройку видеокарты #9 GXE 64
,
используюшую микросхему S3.
Эта карта одна из тех, с которыми работает автор,
но все описанное ниже справедливо и для другой видеокарты.
Перво-наперво вам надо определить тип микросхемы,
используемой видеокартой.
Команда SuperProbe
(располагающаяся в каталоге
/usr/X11R6/bin) сообщит вам эту информацию,
но вам необходимо знать под каким именем
известна данная микросхема X серверу.
Чтобы определить это запустите команду:
X -showconfig
Сервер сообщит вам имена микросхем, с которыми он работает (руководство на X сервер также содержит эту информацию). Например, сервер XF86_S3 сообщит:
XFree86 Version 3.1 / X Window System
(protocol Version 11, revision 0, vendor release 6000)
Operating System: Linux
Configured drivers:
S3: accelerated server for S3 graphics adaptors (Patchlevel 0)
mmio_928, s3_generic
То есть сервер работает с микросхемами mmio_928
и s3_generic
.
Руководство на сервер XF86_S3 описывает эти микросхемы
и видеокарты, использующие их.
В нашем случае видеокарта #9 GXE 64
использует микросхему mmio_928
.
Если вы не знаете какая микросхема стоит на видеокарте, X сервер может это определить. Запустите:
X -probeonly > /tmp/x.out 2>&1
если вы работаете в оболочке shell. Если вы используете csh запустите:
X -probeonly &> /tmp/x.out
Эту команду следует запускать при низкой загрузке компьютера. Эта команда определяет также частоту видеоадаптера и большая загрузка системы может исказить эти данные.
Выходная информация в файле /tmp/x.out
будет содержать
следующие строки:
XFree86 Version 3.1 / X Window System
(protocol Version 11, revision 0, vendor release 6000)
Operating System: Linux
Configured drivers:
S3: accelerated server for S3 graphics adaptors (Patch level 0)
mmio_928, s3_generic
Several lines deleted...
(--) S3: card type: 386/486 localbus
(--) S3: chipset: 864 rev. 0
(--) S3: chipset driver: mmio_928
Мы видим, что сервер (XF86_S3) может работать с микросхемами
mmio_928
и s3_generic
. Сервер протестировал видеокарту и
опознал микросхему mmio_928
.
Следовательно, в секцию Device вам следует добавить строку,
содержащую имя микросхемы, найденное сервером.
Section "Device"
# We already had Identifier here...
Identifier "#9 GXE 64"
# Add this line:
Chipset "mmio_928"
EndSection
Теперь нам требуется определить частоты, поддерживаемые видеокартой. Как мы уже видели, каждый режим разрешения на мониторе требует определенной передачи точек от видеокарты. Нам необходимо определить какие частоты может обеспечить видеокарта.
Сначала следует просмотреть справочные файлы (modeDB.txt
, и т п)
описанные выше и определить, нет ли там описания частот вашей карты.
Частоты, как правило представлены списком из 8 или 16-ти значений
частот в Мегагерцах.
Например в файле modeDB.txt
можно найти строку описания видеокарты
Cardinal ET4000:
chip ram virtual clocks default-mode flags
ET4000 1024 1024 768 25 28 38 36 40 45 32 0 "1024x768"
Как вы видите, данная карта поддерживает частоты: 25, 28, 38, 36, 40, 45, 32, and 0 MHz.
В секции Device
файла XF86Config
, вам следует добавить
строку Clocks
со списком частот. В нашем случае мы добавляем строку:
Clocks 25 28 38 36 40 45 32 0
к секции Device
, после описания Chipset
.
Заметьте, что порядок частот важен! Вам не следует дублировать или
изменять порядок частот.
Если вы не можете найти список частот для вашей карты, X сервер может
также определить и эти значения.
После вызова команды X -probeonly
, описанного выше,
вы увидите строку :
(--
) S3: clocks: 25.18 28.32 38.02 36.15 40.33 45.32 32.00 00.00
Теперь вам осталось лишь добавить строку Clocks
,
перечислив указанные значения.
Так как часто список содержит 8 и более значений
и не помещается в одной строке, вы можете продолжить
список в следующих строках, только не
забывайте сохранять порядок указанных сначений.
Перед запуском X -probeonly
, уделитесь что в секции Devices
нет строк описания Clocks
или они закомментированы.
Если эти значения уже есть, X сервер не будет
проверять поддерживаемые платой частоты, а возьмет указанные
в строке Clocks
.
Заметьте, что некоторые видеокарты с акселератором используют микросхему с программируемой частотой (Смотрите руководство XF86_Accel; это в основном относится к к