Тюнинг в стиле 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
Выпуски журнала "СПЕЦ Xakep"
Cпец Хакер #01Cпец Хакер #02Cпец Хакер #03Cпец Хакер #04Cпец Хакер #05Cпец Хакер #06Cпец Хакер #07Cпец Хакер #08Cпец Хакер #09Cпец Хакер #10Cпец Хакер #11Cпец Хакер #12Cпец Хакер #13Cпец Хакер #14Cпец Хакер #15Cпец Хакер #16Cпец Хакер #17Cпец Хакер #18Cпец Хакер #19Cпец Хакер #20Cпец Хакер #21Cпец Хакер #22Cпец Хакер #23Cпец Хакер #24Cпец Хакер #25Cпец Хакер #26Cпец Хакер #27Cпец Хакер #28Cпец Хакер #29Cпец Хакер #30Cпец Хакер #31Cпец Хакер #32Cпец Хакер #33Cпец Хакер #34Cпец Хакер #35Cпец Хакер #36Cпец Хакер #37Cпец Хакер #38Cпец Хакер #39Cпец Хакер #40Cпец Хакер #41Cпец Хакер #42Cпец Хакер #43Cпец Хакер #44Cпец Хакер #45Cпец Хакер #46Cпец Хакер #47Cпец Хакер #48Cпец Хакер #49Cпец Хакер #50Cпец Хакер #51Cпец Хакер #52Cпец Хакер #53Cпец Хакер #54Cпец Хакер #55Cпец Хакер #56Cпец Хакер #57Cпец Хакер #58Cпец Хакер #59Cпец Хакер #60Cпец Хакер #61Cпец Хакер #62Cпец Хакер #63Cпец Хакер #64Cпец Хакер #65Cпец Хакер #66Cпец Хакер #67Cпец Хакер #68Cпец Хакер #69Cпец Хакер #70Cпец Хакер #71Cпец Хакер #72Cпец Хакер #73Cпец Хакер #74Cпец Хакер #75