Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #46, СЕНТЯБРЬ 2004 г.

Тюнинг в стиле X

Alexander S. Salieff

Спецвыпуск Xakep, номер #046, стр. 046-014-1


(salieff@mail.ru)

Ускорим и улучшим X11-сервер

Если ты решил построить свой десктоп на Linux, то графический сервер X11 будет играть в этом не последнюю роль. Правда, в большинстве случаев вариант "из коробки" оставляет желать лучшего. Совместными усилиями мы доведем его до ума.

Существует расхожее мнение, что Windows, поставленный с нуля, "с пивом пойдет", но сильно модифицировать в лучшую сторону его уже вряд ли удастся. С Linux ситуация обратная - десктоп, построенный на типовом дистрибутиве, обычно выглядит страшновато, но его можно привести в такой вид, в какой тебе захочется. Рядового пользователя волнуют, как минимум, три вещи - аппаратное ускорение 2D- и 3D-графики, комфортная поддержка родного языка и шрифты, радующие глаз. Все передовые технологии здесь присутствуют в требуемом спектре, только нужно разобраться, как их использовать.

Ускоряйся

В системе X11 графический драйвер можно условно разбить на три подсистемы: общая часть, отвечающая за прорисовку базовых элементов GUI, система XV (X11-Video), отвечающая за видеооверлей, спецалгоритмы вывода видеоизображения и другие вещи, характерные для показа фильмов, и система GLX (OpenGL+X11). Существуют и другие модульные блоки, но в рамках этой статьи они не представляют для нас особого интереса. Сейчас в средней ценовой категории на рынке доминируют видеокарты от ATI и NVIDIA, их мы и будем рассматривать как аппаратную основу нашего X11-сервера. Драйвера этих видеокарт будут коммерческими, частично содержащими закрытый бинарный код, но скачивать их дают безвозмездно.

X11 + NVIDIA

Обладатели карточек от NVIDIA идут на сайт www.nvidia.com в секцию "Download Drivers" и там переходят по ссылке "Linux and FreeBSD Drivers", отчего-то вынесенной в сторону от всех остальных. Дальше можно будет узреть список платформ и архитектур, выбрать ту, что сердцу дороже, принять лицензионное соглашение и, наконец, скачать драйвер. Чтобы скачанное установилось, требуется наличие в системе компилятора (желательно, того же, каким было собрано ядро), поддержки LKM (Loadable Kernel Modules) и заголовочных файлов ядра (опционально вместе с исходниками). Сама установка унифицирована и особых трудностей не вызывает. Если ты сидишь под X'ами, придется оттуда выйти (если стоит runlevel графической загрузки, то придется залезть в /etc/inittab, временно исправить там runlevel по умолчанию на консольную загрузку и отправиться в reboot). После чего скачанный файл элементарно запускается (нечто вроде sh NVIDIA-Linux-x86-1.0-5336-pkg1.run под root'ом). Далее мы будем наблюдать ncurses'овские псевдографические окошки, даже не думая жать "next" и "ok", как это принято в MS Windows. После установки мы обретаем подгружаемый ядерный модуль по имени nvidia и алиас для него, заботливо прописанный в /etc/modules.conf. Со стороны X-сервера мы поимеем промежуточный драйвер с аналогичным именем nvidia и набор библиотек для OpenGL (библиотеки эти перепишут собой существующие, не спрашивая почему; если по каким-то причинам тебе особенно дороги твои libGL.so, libGLU.so и иже с ними, рекомендуется забэкапить их перед установкой).

Содержание  Вперед на стр. 046-014-2