Недотопия-2010. ION и драйвера Nvidia: вводные замечания

Алексей Федорчук

Установка драйверов Nvidia описывалась бессчётное число раз. Тем не менее у тех, кто их не использует постоянно, этот процесс иногда вызывает определённые затруднения — в том числе и у автора этих строк, привыкшего за последние годы к беспроблемным драйверам для встроенного видео от Intel. Столкнувшись с такими затруднениями на платформе ION и дистрибутиве Fedora 12, я решил наконец разобраться с этой проблемой раз и навсегда, а заодно задокументировать последовательность действий. Результаты чего составят предмет настоящей заметки.

Для начала — пара слов о графическом ядре платформы ION, поскольку в прошлой заметке я эту тему не затрагивал. Это — ни что иное, как GeForce 9400M, поддерживающий, кроме развитых 3D-функций, аппаратное декодирование видео в различных форматах, включая HDTV, а также технологию CUDA, открывающую возможность использования мощи GPU в мирных, то есть не игровых, целях, например, для обработки графики. Разумеется, для задействования этих возможностей необходима драйверная поддержка.

Теоретически GF 9400M поддерживается обоими свободными драйверами Иксов — и традиционным nv, и новомодным nouveau. Однако практически оба они обеспечивают только базовую 2D-функциональность — в nv о трёхмерности речи не идёт вообще, а nouveau обещает её в светлом будущем, в отдалённой перспективе. А о CUDA в обоих случаях как-то и заикаться страшно. Не говоря уже о том, что в не последних версиях X-сервера чип может вообще не подхватиться ни тем, ни другим драйвером. И тогда остаётся только VESA — а это медленно и печально. Да и тоже не гарантировано, как будет показано в одной из последующих заметок. Всё это делает установку фирменных драйверов Nvidia необходимостью не только для любителей игр. И потому вынуждает снова и снова обращаться к настоящей теме.

Драйвера Nvidia можно задействовать двумя способами:

  1. скачать последнюю (или последнюю стабильную) их версию с официального сайта и руководствуясь описанием там же, установить их;
  2. использовать для установки штатные средства пакетного менеджмента наличного дистрибутива.

Мы пойдём вторым путём. Тем более, что процесс это в текущей версии Fedora, 12-й, имеет свою специфику, которая, вероятно, будет унаследована и в грядущей, 13-й, версии. Однако прежде необходимо выяснить — что же такое драйвер Nvidia?

Он разделяется на две части — Иксовую (собственно драйвер и набор необходимых для его поддержки библиотек) и «ядерную» (kmod — модуль ядра, обеспечивающий доступ к функциям последнего). Кроме того, в состав драйвера включаются утилиты по его настройке и тюнингу.

С Иксовой частью всё более или менее ясно — она привязана к X-серверу и обычно поддерживается в достаточно широком диапазоне версий последнего. А вот модуль жёстко привязан к определённой версии ядра, и апгрейд последнего приводит к неработоспособности драйвера. Это не составляет большой проблемы в таких дистрибутивах, как Debian или Ubuntu, в которых версия ядра сохраняется неизменной в течение всего жизненного цикла релиза.

А вот в Fedora до недавнего времени обновление версий ядра (как и многих других базовых компонентов) в пределах текущего релиза было отнюдь не редкостью — собственно, за то она и была любима народом, что всегда шагала ног в ногу со временем. Однако это и создавало ряд проблем — в частности, применительно к нашей теме, с драйверами Nvidia: не было никаких гарантий, что после очередного тотального обновления системы, например, через yum update или PackageKit, пользователь не окажется перед чёрным экраном.

Отступление: Возможно, это послужило одной из причин того, что, начиная с версии 13, в стабильной сборке Fedora вроде бы отказываются от системы перманентных обновлений между релизами. Однако я подозреваю, что на смену ей придёт трёхступенчатая система: в промежутке между стабильной веткой и очень уж экспериментальной Rawhide появится нечто подобное Dedian’овскому testing, каковой и будут пользовать истинные федоровцы. Где указанная проблема будет по прежнему иметь место.

Благо, проблема эта решается через систему akmods, обеспечивающей регенерацию модулей (в том числе и из состава проприетарных драйверов к разного рода фирменному «железу») в соответствие с изменившейся версией ядра после его апгрейда. Значение её далеко выходит за рамки темы — в частности, её никто не запрещает применять и после ручной пересборки ядра. Однако мы ограничимся только приложением к драйверам Nvidia.

Ещё одно предварительное замечание, касающееся пользователей оригинальной Fedora: перед тем, как приступить к дальнейшим действиям, необходимо подключить репозиторий rpmfusion-nonfree — ведь драйвера Nvidia ни коим боком не являются свободными (хотя и бесплатны). Обычно это происходит в полуавтоматическом режиме: при скачивании пакета, описывающего репозиторий, тут же предлагается его установить, а активизация выполняется сама собой..

Пользователям Russian Fedora Remix этим можно не заморачиваться: все необходимые репозитории подключены у них «искаропки». Разумеется, эти же репозитории можно использовать и в оригинальной Fedora.

Вот теперь можно приступать к установке, чем мы и займёмся в следующей заметке.

Недотопия-2010. ION и драйвера Nvidia: вводные замечания: 8 комментариев

  1. В Ubuntu, живущей на моём неттопе, понадобилось только Nvidia Vdpau Team PPA подключить для красивой жизни и регулярных обновлений драйвера. За 4 месяца к напильнику прибегать не пришлось, чему я несказанно рад.

  2. > Это не составляет большой проблемы в таких дистрибутивах, как Debian или Ubuntu, в которых версия ядра сохраняется неизменной в течение всего жизненного цикла релиза.

    По личному опыту отмечаю что проблема хоть и не большая, но есть. Например в Kubuntu 9.04 с мая 2009 по февраль 2010 ядро обновилось по апдейту (с моего согласия понятно) 7 раз: с 2.6.28-11 по 2.6.28-18. Да, это минорные коректирующие релизы, но тем не менее каждый раз перезагружался в чёрный экран, драйвер требовал пересборки под обновленное ядро. Не знаю, может так только для моей серии видеокарты (GeForce 8400 GS). В 9.10 точно так же.

  3. @Buy
    В Karmic ядра обновляются в линейке 2.6.31. Проблем с пересборкой не возникало. Что-то не так у вас.

  4. Да, коректирующие патчи не должны влиять по идее. Кстати, поставил версию Karmic x86_64 (Jaunty был i386), но все так же… Может действительно просто особенность драйвера для 8 серии. Ну, да ладно, переустановить не проблема: kdm вырубил, запустил скрипт и готово :)

  5. Так лучше не скриптом устанавливать, а через репозитории и module assistant, тогда и переставлять не придется. Да и в репозитории более оттестированная версия.
    Что-то мы нафлудили тут, тема то про Fedora :)

  6. 2 blackdevil
    Номрмально, тема в первую очередь про нвидиевые дрова на IONе.

  7. > Это — ни что иное, как GeForce 9400M, поддерживающий, кроме развитых 3D-функций, аппаратное декодирование видео в различных форматах, включая HDTV.

    HDTV? HDTV — набор стандартов телевизионного вещания высокого качества..
    Наверное хотели сказать — включая MPEG-4/AVC, который применяется в HDTV

  8. 2 Семен
    Вы правы — спасибо за коррекцию.

Обсуждение закрыто.