Правильная установка драйверов NVIDIA в Fedora

Пользователи видеокарт NVIDIA после установки дистрибутива Fedora часто жалуются на отсутствие полноценного 3D ускорения графики из-за использования свободных драйверов «из коробки», поэтому в данной статье мы подробно рассмотрим как следует и как не следует устанавливать проприетарные драйверы видеокарт NVIDIA для Fedora.

Введение

К написанию данной статьи меня побудила статья на другом сайте, в которой рассказывается о единственно верном с их точки зрения варианте установки посредством запуска с правами суперпользователя .run файла, скачанного с официального сайта NVIDIA.

Это в корне неправильный способ, поэтому его никогда не следует использовать в пакетных дистрибутивах, к коим относится и Fedora, т.к. использовав такой способ установки, вы порождаете в системе кучу никем не отслеживаемых файлов, конфигов и даже драйверов, что будет вызывать серьёзные проблемы при работе и обновлениях.

Механизмов безопасного удаления после такой установки также не предусмотрено, поэтому потребуется либо вручную искать и удалять установленные блобом файлы, а также править назад все изменённые конфиги, что очень долго и нудно, либо переустанавливать систему с нуля.

Выбор способа установки

Правильный способ установки любого программного обеспечения в пакетных дистрибутивах — подключение нужного репозитория и установка соответствующего пакета из него. Это решает как вопрос корректности установки, так и обновлений, а также удаления.

Установленные из репозиториев драйверы будут автоматически обновляться штатным для дистрибутива способом (для Fedora через dnf upgrade, либо графический менеджер пакетов на базе PackageKit).

Существуют два несовместимых друг с другом типа драйверов NVIDIA:

  1. обычный драйвер для десктопов и ноутбуков без гибридной графики;
  2. NVIDIA Optimus драйвер.

Рассмотрим каждый подробнее.

Установка обычного драйвера

Обычный проприетарный драйвер NVIDIA доступен в репозиториях RPMFusion, поэтому нам потребуется подключить их если они ещё не подключены (необходимы как free, так и nonfree):

sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Теперь мы должны установить набор сборки драйвера: компилятор GCC и заголовочные файлы ядра, исходники ядерного модуля, а также сам драйвер.

Установка для современных видеокарт

Вариант для современных видеокарт NVIDIA (серии 400, 500, 600, 700, 800 (ноутбуки), 900 и 1000 и более современные):

sudo dnf install gcc kernel-headers kernel-devel akmod-nvidia xorg-x11-drv-nvidia xorg-x11-drv-nvidia-libs

Если используется 64-битная ОС, но требуется запускать ещё и Steam и 32-битные версии игр, то установим также 32-битный драйвер (устанавливать сразу после предыдущих):

sudo dnf install xorg-x11-drv-nvidia-libs.i686

Установка для устаревших видеокарт

Для устаревших видеокарт NVIDIA (серии 6000, 7000, 8000, 9000, 200, 300):

sudo dnf install gcc kernel-headers kernel-devel akmod-nvidia xorg-x11-drv-nvidia-304xx xorg-x11-drv-nvidia-304xx-libs

Для 64-битных ОС с необходимостью запуска 32-битных игр (устанавливать сразу после предыдущих):

sudo dnf install xorg-x11-drv-nvidia-304xx-libs.i686

Действия по окончании установки

По окончании установки необходимо убедиться, что модули ядра были успешно собраны и установлены корректно:

sudo akmods --force

Если возникла ошибка, то подробный журнал можно найти в каталоге /var/cache/akmods/nvidia/.

Теперь вырежем из образа initrd драйвер nouveau и добавим NVIDIA:

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

При возникновении чёрного экрана

Если по окончании установки и перезагрузки вместо окна входа в систему нас встретит чёрный экран, то в загрузчике добавим через пробел следующие параметры ядра:

rd.drivers.blacklist=nouveau nouveau.modeset=0

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

На ноутбуках с гибридной графикой NVIDIA Optimus устанавливать описанный выше драйвер не следует, т.к. он не будет работать и при загрузке получим чёрный экран. Вместо этого следует использовать Bumblebee.

Подключим репозитории со «шмелём»:

sudo dnf --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee/fedora$(rpm -E %fedora)/noarch/bumblebee-release-1.2-1.noarch.rpm
sudo dnf --nogpgcheck install http://install.linux.ncsu.edu/pub/yum/itecs/public/bumblebee-nonfree/fedora$(rpm -E %fedora)/noarch/bumblebee-nonfree-release-1.2-1.noarch.rpm

Теперь установим проприетарные драйверы NVIDIA в managed исполнении:

sudo dnf install gcc kernel-headers kernel-devel bumblebee-nvidia bbswitch-dkms primus

Если используется 64-битная ОС, но требуется запускать ещё и Steam и 32-битные версии игр, то установим также 32-битный драйвер (устанавливать сразу после предыдущих):

sudo dnf install VirtualGL.i686 primus.i686

На этом установка завершена. По умолчанию будет использоваться интегрированное решение, но для запуска приложения с использованием дискретной видеокарты следует использовать команду:

optirun [параметры] application [параметры запуска приложения]

Пример запуска панели управления NVIDIA для Optimus конфигураций:

optirun -b none nvidia-settings -c :8

Пример запуска приложения app.exe через Wine на Optimus:

optirun wine app.exe

Другую полезную информацию о настройке Bumblebee можно найти в Wiki.

Пользователям Gnome с Wayland

Если используется Gnome с GDM, то необходимо отключить поддержку Wayland ибо проприетарные драйверы NVIDIA на момент написания данной статьи работают с ним некорректно. Для этого нужно отредактировать файл /etc/gdm/custom.conf, добавив или расскомментировав строку WaylandEnable=false:

sudo vim /etc/gdm/custom.conf

Если этот шаг пропустить, то при следующей загрузки увидим серый экран с надписью «Упс, что-то пошло не так». Пользователи KDE, XFCE и других DE могут смело его пропускать ибо в Fedora используется Wayland пока только для Gnome.

1 комментарий к записи

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *