Блогосайт Алисы и Alv’а

Март 21, 2010

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

Рубрика: Драйверы, Fedora, NetPC — alv @ 11:38 дп

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

Установка драйверов 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.

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


Теги:

8 Комментариев »

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

    Комментарий от Dr.AKULAvich — Март 21, 2010 @ 5:57 пп

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

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

    Комментарий от Buy — Март 21, 2010 @ 9:28 пп

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

    Комментарий от Dr.AKULAvich — Март 21, 2010 @ 10:56 пп

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

    Комментарий от Buy — Март 22, 2010 @ 3:17 дп

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

    Комментарий от blackdevil — Март 23, 2010 @ 9:30 дп

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

    Комментарий от alv — Март 23, 2010 @ 9:57 дп

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

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

    Комментарий от Семен — Март 24, 2010 @ 10:59 дп

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

    Комментарий от alv — Март 24, 2010 @ 11:28 дп

RSS лента комментариев этой записи.

Оставить комментарий

Я не робот.

Сайт работает на WordPress

воздушный компрессор в Москве и Московской области . | Опытные юристы - налоговые споры. Услуги для животных. www.mv-audit.com.ua