Глава 15. Настройка видео и X Window
15.1. Введение
Проблема
X Window System является основой графического интерфейса Windows. Все оконные менеджеры и графические среды — XFce, Enlightenment, KDE, Gnome и т. д. — работают на базе X.
X Window System — воистину удивительная система. Вы можете работать в графической среде, одновременно открывать текстовые консоли и легко переключаться между ними. Функции X Window System не ограничиваются графическим выводом; система также является сетевым протоколом. Через неё даже можно подключаться к удалённым системам (см. главу 17).
Хотя X Window System всегда считалась стандартом графики Linux, в последнее время растёт число сторонников новой оконной системы X.org. Это ответвление проекта XFree86™, которое внезапно завоевало популярность, когда в XFree86 версии 4.4 были приняты лицензионные изменения, потенциально несовместимые с GPL. Fedora и Mandrake первыми перешли на X.org. Возможно, к моменту, когда вы будете читать эту книгу, все остальные последуют их примеру. А может быть, в этой области будет царить неразбериха, и появится ещё одно различие между дистрибутивами на беду неосведомлённым. Чтобы узнать номер версии XFree86 для вашей системы, введите команду:
$ XFree86 -version
То же самое для X.org:
$ X.org -version
Система X.org в настоящее время очень близка по функциональности к XFree86; различаются в основном имена и местонахождение конфигурационных файлов. Вероятно, со временем появятся и более существенные различия.
С X Window System связано немало запутанных терминов и неудобных сокращений. Приведу несколько определений:
- XFree86 Project, Inc. — организация, выпускающая XFree86, свободно распространяемую реализацию X Window System с открытыми текстами;
- XFree86 4.x — текущая версия XFree86 для Linux;
- X Window System — исходная оконная среда с сетевой поддержкой для Unix;
- XI1 — одиннадцатая версия X Window System;
- XI1 R6 — спецификация X Window System;
- X.Org Foundation — ответвление XFree86 Project.
Чтобы не усложнять себе жизнь, будем просто называть её «X».
Оборудование
Любой видеоадаптер работает в Linux; даже самая экзотическая карта сможет работать в универсальном режиме VGA (640x480, 16 цветов). В большинстве основных дистрибутивов Linux имеются хорошие средства конфигурации видеосистемы, которые идентифицируют оборудование и автоматически находят драйверы. Крайне маловероятно, что вам когда-либо придётся редактировать X86Config (разве что для включения аппаратного ускорения или для настройки многоэкранного вывода).
Многие видеоадаптеры комплектуются драйверами для Linux и обеспечивают хорошую скорость выполнения 2D-операций. Таким образом, для повседневных задач (электронная почта, веб, электронные таблицы, набор текстов и т. д.) подойдёт практически любой адаптер. С аппаратными 3D-ускорителями потребуется чуть больше усилий, но для компьютерных игр, систем автоматизированного проектирования или трёхмерного моделирования аппаратное ускорение абсолютно необходимо.
Современные видеокарты превосходят по мощности компьютеры недавнего прошлого: высокопроизводительная модель имеет 256 Мбайт памяти, 256-разрядную шину, графический процессор с частотой 256 МГц, а нередко и собственный охлаждающий вентилятор.
Производительность видеокарты ограничивается типом слота, в который она вставляется. Карты PCI работают медленнее всего. Разъём AGP работает гораздо быстрее и присутствует на всех современных платах. Существует несколько разновидностей AGP:
- AGP 1.0: 1X = 266 Мбайт/с; 2X = 533 Мбайт/с.
- AGP 2.0: 1X = 266 Мбайт/с; 2X = 533 Мбайт/с; 4X = 1,066 Гбайт/с.
- AGP 3.0: 1X = 266 Мбайт/с; 2X = 533 Мбайт/с; 4X = 1,066 Гбайт/с; 8X = 2 Гбайт/с.
Стандарты AGP обладают прямой и обратной совместимостью; новые карты можно устанавливать на старых материнских платах, и наоборот. Тем не менее установка новой, высокопроизводительной карты на старой плате означает, что вы не получите всего быстродействия, за которое заплатили.
Драйверы
Для обеспечения аппаратного ускорения графики в Linux можно воспользоваться DRI (Direct Rendering Infrastructure) и видеокартой, поддерживаемой в Linux. В XFree86 имеется встроенная поддержка DRI. В настоящее время поддержка XFree86/DRI имеется для следующих чипсетов: 3dfx, Gamma, Intel i8x0, Matrox, ATI Rage, ATI Radeon, Mach64 и Sis300. Обновлённую информацию о поддерживаемых чипсетах можно найти на сайтах http://xfree.org и http://dri.sourceforge.net.
Другой способ основан на использовании драйверов, предоставленных производителем. Например, nVidia поставляет собственные драйверы и модули ядра, распространяемые только в двоичном виде; в настоящее время это единственный способ обеспечения аппаратного ускорения для адаптеров nVidia. Для работы в 2D-режиме без ускорения можно воспользоваться драйвером nv с открытыми текстами.
Некоторые карты ATI и Matrox полностью поддерживаются драйверами с открытыми текстами, в других случаях для полноценной работы карты требуются двоичные драйверы. Как обычно, информацию стоит поискать перед покупкой.