Установка драйверов NVIDIA под Mandrake 8.0

09.07.2001



Предисловие

И так, у вас установлен Mandrake 8.0, и вы считаете, что это отличная операционная система, но вам не хватает hi-end игр вроде Quake III и Unreal Tournament. Что ж, вам повезло, эта статья доходчиво разъяснит, как загружать и настраивать NVIDIA Linux драйвер для видеокард TNT, TNT2, GeForce, GeForce2 и GeForce3 под Mandrake 8.0. Статья снабжена картинками, которые иллюстрируют весь процесс шаг за шагом. Я также расскажу о некоторых трудностях, с которыми столкнулся при загрузке и настройке драйверов, и о том, что я сделал чтобы преодолеть их. Если у вас есть графическая карта NVIDIA, и вы хотите использовать аппаратные драйвера OpenGL под Mandrake 8.0, начинайте чтение.

Предварительные действия

Как и в любом важном предприятии, которое вы готовитесь совершить, существуют некоторые вещи, которые следует сделать заранее, перед тем как приступить к самой процедуре. Первое и самое главное, вам нужна установленная и работающая версия Mandrake 8.0. Если вам нужна помощь по данному вопросу, пожалуйста прочтите эту статью, где рассказано как установить Mandrake 8.0. Также вам необходимо скачать драйверы ядра и библиотеки OpenGL с вебсайта NVIDIA или со следующих ссылок:

Может быть кто-нибудь спросит, «Почему не использовался RPM?». Ну, мы просто не знаем, какая версия ядра использовалась для создания RPM, и во время установки я выяснил, что RPM для Mandrake 8.0 были скомпилированы на ядре 2.2.x, а не на 2.4.3, которое используется по умолчанию в Mandrake 8.0. Поэтому необходимо самостоятельно создать драйверы и OpenGL библиотеки из файлов tarball (вида *.tar.gz или *.tgz). Если вы используете SMP ядро, то они тоже были созданы на версии ядра 2.2.x. Кроме того, создание драйверов и библиотек – занимательный процесс, и по ходу вы можете узнать что-нибудь новое. Ещё много раз в вашей жизни как пользователю Linux вам потребуется компилировать что-то из tarball-файла, поэтому такой опыт пригодится.

Важным требованием является то, чтобы версия драйверов/библиотек NVIDIA была не ниже XFree86 4.0. Во время установки Mandrake вы должны были ответить на вопрос, какую версию загружать – XFree86-3.3.6 или XFree86-4.0.3. Я надеюсь что вы выбрали второй вариант, но если нет, я объясню вкратце в следующем разделе как установить XFree86-4.0.3. Одно из отличий, с которым мы столкнёмся, заключается в файле конфигурации для XFree86-4.0.x: XF86Config-4. Этот файл не совпадает с используемым в XFree86-3.3.x (XF86Config) и может вызвать небольшие затруднения, но об этом я тоже расскажу.

увеличить

И последнее, что нужно сделать перед тем как идти дальше – убедиться в том, что загружены исходные файлы ядра. Когда я установил Mandrake 8.0 на свой тестовый PC, я обнаружил отсутствие исходных файлов, программы make и нескольких других необходимых программ. К счастью, в Mandrake имеется прекрасное средство поиска/установки программ, показанное на иллюстрации выше, которое позволит нам загрузить необходимые модули. Об установке исходных файлов ядра я расскажу в инструкции по установке XFree86. А сейчас перейдите в директорию “/usr/src”, воспользовавшись командной строкой, либо графическим менеджером файлов, где вы увидите symlink (ярлык для пользователей Windows) с именем “linux” и директорию “kernel 2.4.3”. Если вы не нашли их, или там есть какие-то отличия, скорее всего исходные файлы ядра не установлены. Имейте ввиду, что это руководство для Mandrake 8.0, в других комплектах поставки и в иных версиях Mandrake исходные файлы ядра системы могут находиться в другой директории. Если во время установки Mandrake 8.0 вы выбрали пункт “Development”, то у вас должны быть исходные файлы ядра и все другие программы, необходимые для создания комплекта драйверов. Внимание: Исходные файлы ядра очень большие, поэтому убедитесь в наличие достаточного места на диске для них и для других программ.

XFree86 и исходные файлы ядра

Поскольку процесс установки XFree86 4.0.3 весьма схож с процессом установки исходных файлов ядра, я опишу оба в одном разделе. Если вы ещё не заметили, все скриншоты сделаны мною в среде KDE; если вы используете другой графический интерфейс, то некоторые вещи будут выглядеть чуть иначе. Также, я вошёл в KDE как “root”, чтобы не пришлось беспокоиться о достаточных правах для установки системных программ. По правде говоря, я всегда вхожу как “root”, кроме случаев когда я чего-нибудь скачиваю. Обычно вам не требуется вход в систему как “root”, но в данном случае это приемлемо. Вы сможете, если поставить уровень безопасности “Low”, войти в систему как пользователь, после того как Mandrake спросит у вас пароль для “root” и даст доступ. Запустите менеджер программ (Software Manager), его пиктограмма должна быть на столе. Сейчас также будет неплохо найти установочные диски Mandrake, чтобы они лежали под рукой, когда менеджер программ потребует их. Если вы посмотрите на левую сторону появившегося окна, в верхней его части вы обнаружите две закладки: установленное (Installed) и готовое к установке (Installable).

увеличить увеличить

Прямо под этими закладками вы видите выпадающее меню, озаглавленное “All”. Откройте его и выберите пункт “Uninstalled only”, чтобы в списке программ отображались только не установленные модули. Чуть ниже меню имеются ещё две закладки: “Tree view” и “Flat list”. Я предпочитаю использовать список, это видно на скриншотах, поэтому продолжите, нажав “Flat list”. Идите по списку пока не найдёте “kernel-source”, после чего поместите отметку напротив этого пункта. Теперь продолжайте поиск, пока вы не у видите XFree86-4.0.3, и не отметите этот пункт тоже, как показано на рисунках выше. Удобство менеджера программ станет очевидным, после того как вы нажмёте кнопку Install наверху. Mandrake, как и большинство других комплектов поставки, проверит наличие всех других программ, которые нужно установить для полной поддержки изменений, сделанных вами. Для исходных файлов ядра таких программ мало, и менджер программ автоматически установит их. Как только всё будет выполнено, вы можете вернуться в менеджер программ и посмотреть раздел установленных модулей, чтобы проверить что программы появились там. После того как вы успешно завершите установку и у вас будет полностью рабочий NVIDIA OpenGL драйвер, я настоятельно рекомендую ещё раз запустить менеджер программ и посмотреть, не хотите ли вы установить что-нибудь ещё из списка. Если вам повезло и у вас имеется Power pack edition, то в списке будет масса программ, готовых к установке.

Подробности установки XFree86

Чтобы закончить установку XFree86-4.0.3, мы должны настроить Linux на использование новой версии. Выйдите из менеджера программ, и запустите центр управления Mandrake (Mandrake Control Center). В разделе Hardware найдите и откройте опцию Display, а затем нажмите кнопку Expert в нижнем правом углу. Самое первое, что появится на экране, выбор между XFree86-4.0.3 и 3.3.6. Пройдите через все остальные этапы выбора, указав монитор, видеокарту, разрешение и глубину цвета. Обязательно проверьте свою конфигурацию чтобы убедиться, что система будет работать корректно, затем запишите конфигурацию и перезагрузитесь. После перезагрузки вы уже будете использовать XFree86-4.0.3, но для большей уверенности мы удалим старый файл XF86Config. Как “root” откройте менеджер файлов и найдите директорию /etc/X11. В этой директории вы обнаружите XF86Config и XF86Config-4; удалите файл XF86Config и все файлы отката (backup). Файл отката можно узнать по тильде в конце его имени, например, XF86Config~. Перезагрузитесь ещё раз, и если всё пойдёт нормально вы будете знать, что установка XFree86 прошла успешно и система не пытается использовать старый файл XF86Config.

увеличить увеличить


Приступим к распаковке

Хорошо, у вас есть полностью рабочая XFree86-4.0.3, исходные файлы ядра установлены и необходимые программы скачаны. Найдите незанятую директорию, до которой будет легко добраться; я сам использую свою домашнюю директорию. Обычно я создаю директорию с именем “tmp”, где я могу временно размещать разные данные. Неважно, что вы выберете, всё будет хорошо, пока имеются драйвер ядра от NVIDIA и библиотеки OpenGL. Как мне верно сказали несколько читателей моей предыдущей статьи, командная строка Linux не плохое приспособление, а мощный инструмент. Поэтому я выполню последние шаги из командной строки, некоторые из окна терминала, и некоторые целиком из графического интерфейса XWindows. Я представлю как можно больше иллюстраций, чтобы вам проще было следовать инструкциям, правда мне не удалось сделать скриншот самого последнего шага, за что прошу прощения. Теперь откройте окно терминала; перед вами появиться командная строка с курсором. Текущей директорией будет домашняя директория того пользователя, которым вы вошли в систему. Поэтому, если вы “root”, вы окажетесь в домашней директории “root”. В данный момент вы можете зайти как простой пользователь, нам пока ещё не нужны “root” привелегии. Перейдите в директорию с файлами NVIDIA при помощи команды “cd”, например “cd /home/rover/tmp”, а затем выполните команду “Is”, чтобы увидеть список содержимого директории. Для этой же цели можно использовать команду “dir” (если вы используете оболочку bash), но “Is” намного лучше, она отмечает файлы разными цветами в зависимости от их функции.

увеличить

Чтобы распаковать tarball-файлы, выполните команду “tar zxvf NVIDIA_kernel-1.0-1251.tar.gz”. Ооо, вы это видели? Все файлы моментально распаковались. Сделайте то же самое с GLX tarball-файлом. А сейчас я дам совет для вас, новички. Когда вам встречаются длинные имена файлов, вроде таких, наберите команду, параметры (здесь это “zxvf”) и часть имени файла (NVIDIA_k). Затем дважды нажмите “ESC” и остальная часть появится сама. На самом деле, она появится лишь до того места, где кончается совпадение. Я объясню. Скажем, у вас были NVIDIA_kernel-1.0-1300.tar.gz и NVIDIA_kernel-1.0-1251.tar.gz, и вы набрали NVIDIA_k, после чего дважды нажали “ESC”. Linux дополнит строку до NVIDIA_kernel-1.0-, потому что начиная с этого места имеются два варианта выбора. Но это всё же удобно для набора длинных имён файлов.

увеличить

увеличить

Выполните команду “Is”, и вы увидите две директории, плюс два исходных tarball-файла. Теперь мы готовы выйти из XWindows и работать только из командной строки. Не пугайтесь, это легко. Чем больше вы используете CLi (Command Line Interface – интерфейс командной строки), тем уверенней вы будете себя чувствовать. У меня такое чувство, что как только вы освоитесь в CLi, вы будете работать в нём всё чаще и чаще. Я люблю его, потому что я изучал Linux из CLi, а графические интерфейсы были всего лишь игрушкой. Запомните, где находятся файлы, и выйдите в консоль.


Установка драйвера ядра

Оказавшись в CLi, войдите в систему как “root”. Выполните команду “Is”, и перейдите в директорию, куда вы распаковали файлы драйвера ядра NVIDIA. В моём случае путь был "cd /home/rover/tmp/NVidia_kernel-1.0-1251". Совет: Если вы нажмёте клавишу F2, держа нажатой Alt, вы откроете другое окно виртуального терминала. Вы снова можете зайти как “root”, и заниматься делами, пока другой терминал выполняет свою задачу. Чтобы вернуться к первому терминалу, удерживая Alt нажмите клавишу F1. Вуаля! Вы вернулись в окно первого терминала. Таким образом вы можете открыть 8 или 9 таких терминалов, заходя в систему как кто угодно.


Пока хватит советов, мы сейчас находимся в директории распакованного драйвера ядра и готовы выполнить команду “make”. Помните, вы должны были войти как “root”! Наберите "make SYSINCLUDE=/usr/src/linux/include". Параметр SYSINCLUDE гарантирует, что мы используем файлы построенные на kernel-2.4.3, но на самом деле это необязательно. Если ваша система настроена правильно, параметр SYSINCLUDE можно не добавлять. В любом случае, вы увидите как по экрану пролетит куча непонятных слов от Linux, а затем всё закончится. Вобщем, здесь нечего смотреть, только убедитесь, что вы не видели ни одной строки начинающейся с “error”. Если вы получили сообщение об ошибке, посмотрите на соответствующуб строку, там должна быть указана причина ошибки. Я не могу предсказать каждую ошибку, которая может у вас возникнуть, поэтому можно порекомендовать задать вопрос в специализированном LWD форуме и сообщить там о своей проблеме. Если вы не увидели ошибок, то теперь вы являетесь счастливым обладателем только что созданного драйвера ядра NVIDIA.


Установка библиотек OpenGL

Если вы не получичли сообщений об ошибках при установке драйвера ядра, тогда вы можете просто сменить директорию на ту, где находяться распакованные библиотеки OpenGL. Именно это является главной причиной того, почему мы не в XWindows. Скомпилируем и заменим программные библиотеки OpenGL (известные как Mesa OpenGL) на аппаратно поддерживаемые библиотеки от NVIDIA. Просто выполните команду “make”, находясь в директории с расспакованными GLX, и вуаля – вы закончили установку. Но наша процедура ещё не завершена, поэтому пока ещё рано меня благодарить. Нашим следующим шагом будет модификация файла XF86Congig-4


Модификация XF86Config-4

Поскольку каждый компьютер отличается от другого, скриншоты приведённые в этом разделе будут немножко отличаться от того, что увидите вы. Мы будем работать в двух разделах, “Module” и “Display”. Для изменения файлов из CLi я привык использовать программу которая называется Midnight Commander. Для её запуска выполните команду "mcedit /etc/X11/XF86Config-4". Совет: Linux и Unix различают регистр символов, поэтому удостоверьтесь, что вы набрали всё правильно. MC (Midnight Commander) откроет файл XF86Config-4 в цвете, после чего, при помощи клавиш управления курсором, вы сможете перейти к разделу “Module”.

xf86config

Теперь ниже строки Load "dbe" просто дабавьте строку Load "glx". Это команда сообщает XWindows загружать библиотеки OpenGL NVIDIA при запуске. У вас должно получиться что-нибудь похожее на картинку ниже.

увеличить

Теперь идите по файлу дальше, пока не увидите раздел “Display”. Вы можете найти здесь пару разных конфигураций дисплея, но нас интересует та часть, которая относится к картам от NVIDIA. Смените строку драйвера с “nv” на “nvidia” … ааа чёрт, просто сделайте так, как на картинке ниже. Напомню, каждая строка начинающаяся с символа # считается комментарием и не влияет на работу файла конфигурации.

увеличить


Почти готово

Я уверен, что сейчас вы сгораете от нетерпения посмотреть, как это всё работает, и перезагрузка кажется хорошей идеей. Пока не перезагружайтесь! Если ваш Mandrake 8.0 настроен загружать XWindows при старте, я настоятельно рекомендую изменить эту настройку на загрузку командной строки. Тогда, если вдруг XWindows не заработает и компьютер повиснет при загрузке, у вас будет возможность всё исправить. Вы спросите, как это сделать? Просто, отредактируйте mcedit’ом файл inittab в директории /etc.

увеличить

Когда вы откроете файл, недалеко от его начала вы увидите строку "id:5:initdefault:". Именно она и сообщает Linux загружаться прямо в системе XWindows. Если вы посмотрите, то прямо над ней вы найдёте комментарий программиста, описывающий каждый из 6 доступных уровней запуска. Просто измените "id:5:initdefault:" на "id:3:initdefault:", сохраните файл и перезагрузитесь на досуге. О, вы не знаете как перезагружаться из CLi! Наберите в CLi “reboot -n” и смотрите как ваша система легко пройдёт процесс остановки.

увеличить


Заключение

После перезагрузки выполните команду для запуска XWindows, набрав “startx”. Если всё пойдёт хорошо, то вас будет приветствовать большой белый экран с логотипом NVIDIA прямо по центру, а затем появится рабочий стол. Единственное, что вам осталось сделать, это изменить уровень запуска снова на 5 в файле /etc/inittab, и всё готово.



Оригинальные материалы находятся на Little White Dog

Материал адаптировал ViC



Обсудить/дополнить в конференции