Настройка Fedora. Установка драйверов Nvidia

Где-то одновременно с проведёнными мероприятиями, описанными на прошлой странице, может быть, чуть раньше или чуть позже, надо установить фирменные драйвера для видеокарты. Разумеется, в том случае, если у вас не встроенное видео от Intel -- оно нив каких "левых дровах" не нуждается. А вот с картами ATI/AMD или Nvidia установка проприетарных драйверов -- нынче не роскошь, а средство передвижения воспроизведения.

Касаемо драйверов ATI/AMD ничего не скажу -- дела иметь почти не приходилось. Встроенное видео от Intel, вследствие полной открытости спецификаций, никаких драйверов, кроме штатно входящих в состав Xorg, не требует. Прочие видеочипы, типа SiS или Matrox, можно считать почти вымершими. Так что на этой странице речь пойдёт об установке проприетарных драйверов для видеочипов Nvidia.

Для начала ознакомимся, что же нам в этом плане предлагают репозитории. Сделать это можно с помощью команды типа

$ yum search nvidia

или с помощью поиска по тому же ключевому слову в графической утилите PackageKit, подробнее описанной здесь.

В обоих случаях мы увидим длинный список пакетов kmod-nvidia* -- это модули для различных серий чипов и разных версий и сборок ядра, к которым они жестко привязаны. И любой апгрейд ядра приводит к неработоспособности драйвера.

Так что разбираться с этим изобилием мы не будем, а прибегнем к akmods -- системе автоматической регенерациив модулей в соответствие с изменившейся версией ядра после его обновления.

Пакеты для akmods представлены в репозитории rpmfusion-nonfree вида akmod-nvidia* -- их всего три, соответствующие чипам разных серий:

  1. для GeForce 4 и ниже -- akmod-nvidia-96xx.x86_64;
  2. для GeForce FX -- akmod-nvidia-173xx.x86_64;
  3. для GeForce 6, 7, 8, 9, 200 (то есть практически всех актуальных) -- akmod-nvidia-1:19x.xx (в выводе команды yum он зовётся просто akmod-nvidia).

Следует отметить, что современными проприетарными драйверами Nvidia не поддерживается такая архаика, как Riva и Vanta всех видов, а также старые GeForce и GeForce2.

Ниже установка драйвера рассмотрена на примере чипсета ION -- однако всё сказанное применимо и к видеокартам на чипах GeForce 6, 7, 8, 9, 200. А с поправкой на версии -- и ко всем остальным из числа поддерживаемых.

Поскольку GPU ION'на принадлежит к 9-й серии, для него нужны пакеты из группы 19x.xx. Помечаем так что помечаем akmod-nvidia-1:19x.xx в PackageKit'е (или кидаем в командную строку yum install) и ищем собственно драйвер. Каковой и находим среди пакетов вида xorg-x11-drv-nvidia* -- очевидно, что нужный нам пакет будет носить имя xorg-x11-drv-nvidia-1:19x.xx (в выводе yum'а -- просто xorg-x11-drv-nvidia).

Всё -- можно нажимать Enter в командной строке с yum install (предварительно получив права root'а -- они потребуются и для всех последующих действий), или давить на кнопку Применить в PackageKit.

Как уже говорилось, кроме модуля и драйвера требуются также библиотека его поддержки -- xorg-x11-drv-nvidia-libs, и утилита настройки -- nvidia-settings. Однако их поиском заморачиваться не надо -- они, вместе с рядом других пакетов, будут установлены как зависимости. А вот утилиту для разгона видеочипа (эвфеминистические именуемого также тюнингом) -- nvclock, если в таковой ощущается потребность, надо установить явным образом. Впрочем, я этого не делал, и ничего про неё сказать не могу.

Теперь мы имеем полный комплект софта, необходимого для функционирования драйвера Nvidia. Однако если немедленно перезагрузиться, работать он, тем не менее, не будет. Как уже говорилось ранее, по умолчанию в Fedora задействуется свободный Иксовый драйвер nouveau, а он так просто своих позиций не сдаёт -- его надо принудительно деактивировать. Для чего сначала редактируется файл /boot/grub/grub.conf -- путём добавления параметра загрузки ядра rdblacklist=nouveau, после чего соответствующая строка должна приобрести такой вид:

kernel /boot/vmlinuz-2.6.32.9-70.fc12.x86_64 ro root=UUID=[что есть] noiswmd [параметры локализации] rhgb quiet rdblacklist=nouveau

Можно сделать это и командой sed:

# sed -i '/root=/s|$| rdblacklist=nouveau|' /boot/grub/grub.conf

Теперь переименовывается образ ram-диска

# mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img

и с помощью система dracut генерируется новый, в котором загрузка модуля nouveau запрещена:

# dracut /boot/initramfs-$(uname -r).img $(uname -r)

Обращаю внимание, что мы не удалили ни "родной" свободный драйвер (он находится в пакете xorg-x11-drv-nouveau), ни исходный ram-диск. Так что если с проприетарным драйвером что-то не срастётся, легко будет восстановить status quo.

Если SELinux отключён (точнее, переведён в состояние permission, о чём будет речь на одной из ближайших страниц), можно перезагружаться. Если нет, то требуется ещё включить параметр allow_execstack:

# setsebool -P allow_execstack on

Вот теперь уже точно можно перегружаться. В случае успешной установки драйверов во-первых, сплэш-картинка при загрузке сменится синим прогресс-баром на чёрном фоне, во-вторых, в момент старта Иксов возникнет характерный зелёный логотоип Nvidia, в-третьих... ну а в-третьих, понятное дело, благополучно загрузится сначала панель авторизации Gdm, а во-вторых -- и собственно рабочая среда.

При этом в меню Приложения -> Системные появится новый пункт -- nVidia Display Setting:

17.png

Скорее всего, правильный видеорежим будет подобран автоматически, в чём легко убедиться, зайдя в пункт X Server Display Configuration и нажав кнопку кнопку Advanced:

18.png

Если это не так (правда, у меня всё было как надо) -- щелкнуть на кнопке Auto и из выпадающего меню выбрать нужное значение разрешения:

19.png

Более подробную информацию о видеорежиме можно получить через пункт X Screen 0:

20.png

К остальным параметрам настройки видеорежимов для карт Nvidia я вернусь со временем.


Теги: , ,
Все подробности компьютерный мастер метро павелецкая у нас.