Установка проприетарного драйвера nvidia в Fedora

Все, утомили меня постоянные вопросы о том, как правильно поставить BLOB (а именно так называют проприетарный софт для GNU/Linux на сленге) nvidia в Fedora.

UPDATE!!! А еще я написал такую инструкцию: Bumblebee в Fedora 25 устанавливаем nvidia с Secure Boot

Кто только как не извращается. Но путь правильно установить nvidia есть только один. Остальное от «лукавого».

Подключим хринилища RPMFusion.

В сети масса руководств, как это сделать, приведу одно, если ты не нашел. Инструкция тут. Причем подключить надо и free и nonfree. Для пользователей RFRemix — этот пункт выполнять не надо, у вас и так уже все подключено.

Смотрим, какое у нас ядро.

Для тех, у кого архитектура 64-х битная — этот пункт лишний, просто следуй обычным решениям. Для чего это нужно? Для того, чтобы установить правильный пакет для автоматической сборки модулей. Выполняем команду, все равно от пользователя или от root’а:

1
uname -r

Посмотрели, если в строчке есть буквы PAE — запоминаем это и следуем советам «для PAE-ядра«.

Ставим нужные пакеты.

Для установки запустим одну из нижеследующих команд.
Обычное решение:

1
yum install akmod-nvidia @development-tools

или для PAE-ядра:

1
yum install akmod-nvidia @development-tools kernel-PAE-devel

Поясню, что мы ставим и для чего.

Пакет akmod-nvidia — содержит в себе исходники для т.н. kmod-пакетов (пакеты, содержащие модули ядра), и с помощью утилиты от RPMFusion akmods под каждое новое ядро, утилита будет собирать новый kmod-nvidia. Это просто, безопасно и по опыту работает стабильнее, чем надеяться на RPMFusion и их выпуск kmod-nvidia-пакетов.
Набор (группа) пакетов development-tools, как следует из названия содержит сборочные инструменты, компилятор, make и пр. Многие могут меня упрекнуть, что я «де» не жалею драгоценные мегабайты пользователя, что можно было бы перечислить поименно каждый нужный пакет. Так вот мой ответ: идите с такими советами в дупло.
Для PAE-ядра. Пакет kernel-PAE-devel мы ставим потому, что yum не умеет различать какое ядро установлено и при попытке поставить группу development-tools притянет еще kernel-devel и обычное ядро.

Проверяем.

  • проверяем наличие файла /etc/X11/xorg.conf (да-да, вот такой дремучий этот ваш блоб) командой:
    1
    ls -l /etc/X11/xorg.conf

    если такой файл есть, тебе его покажут, если нет — то bash об этом скажет, файл этот должен быть, без него ничего не заведется, если его нет — что-то ты не так поставил, проверяй, переставляй;

  • проверяем наличие файла /etc/X11/xorg.conf.d/00-nvidia.conf командой:
    1
    ls -l /etc/X11/xorg.conf.d/00-nvidia.conf

    все тоже самое, файл должен быть, без него не заработает;

  • проверяем наличие файла /etc/modprobe.d/blacklist-nouveau.conf, командой (ну сам уже должен был догадаться):
    1
    ls -l /etc/modprobe.d/blacklist-nouveau.conf

    файл тоже должен быть, но начиная с 18-ой федоры и ядра 3.6.9 я стал сильно сомневаться в его реальной нужности, но об этом позже.

Завершаем установку.

Итак нам осталось совсем чуть-чуть.
Надо пересобрать initrd с учетом файла /etc/modprobe.d/blacklist-nouveau.conf. Делаем это командой:

1
/usr/libexec/plymouth/plymouth-update-initrd

Тут меня многие упрекнут, что надо пересобирать командой dracut, могу предложить с такими комментариями идти туда же, в дупло.

Но для несчастных пользователей Fedora 18 и ядра 3.6.9 и выше, есть еще кое-что.
Открываем файл /etc/default/grub, ищем строку, которая начинается так:

1
GRUB_CMDLINE_LINUX=

ищем в этой строке запись rdblacklist=nouveau и если таковой записи нет, добавляем ее через пробел в конец этой строки.
Без этого пока блоб не будет работать, может эту строчку снова вернут в пакет, но лучше убедиться, что она точно есть!
Обновляем записи GRUB2 командой от root’а:

1
grub2-mkconfig -o /boot/grub2/grub.cfg

Для тех, у кого 64-х битная ОС (x86_64) также есть отдельный совет: поставь 32-х битную версию библиотек nvidia. Твои игры скажут тебе «спасибо» 😉
Делается это такой командой:

1
yum install xorg-x11-drv-nvidia-libs.i686

Все.

Перезагружаемся и проверяем, как работает блоб.
Сразу оговорюсь — блоб жутко кривой от релиза к релизу, тормозит в 2D постоянно, и для тех, кому реально не нужно быстрое (игровое) 3D, лучше остаться на ядерном драйвере nouveau.
Как я, кстати 😉

Предложения, дополнения — приветствуются в комментариях или в чатике fedora@conference.jabber.ru.

Установка проприетарного драйвера nvidia в Fedora: 3 комментария

  1. alexs

    Спасибо!
    Попробовал — работает. У меня GeForce 7000 на Acer Aspire 7220.
    Сразу вопрос — а почему исходная Fedora а не RF?

  2. domenix

    Что-то это мне напоминает если не ошибаюсь именно так ставились драйвера в FC 18
    Эх где вы те временна когда в FC всё ставилось одной простой командой yum install kmod-nvidia-304xx-4.2.3-300.fcxx.x86_64 без всякого «шаманства»
    Спасибо автору!!

Добавить комментарий