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

Установка проприетарных драйверов на Fedora часто вызывает трудности у пользователей, привыкших к более автоматизированным системам, таким как Ubuntu или Pop!_OS. Это связано со строгой политикой проекта в отношении свободного программного обеспечения и быстрыми циклами обновлений ядра, которые могут конфликтовать с драйверами третьих сторон.

Тем не менее, для владельцев видеокарт NVIDIA использование открытого драйвера nouveau часто не обеспечивает требуемой производительности в задачах рендеринга или современных играх. Ситуация кардинально изменилась с появлением официальной поддержки репозиториев RPM Fusion, что сделало процесс установки драйверов значительно проще и безопаснее, чем в предыдущих версиях дистрибутива.

В этой статье мы подробно разберем, как настроить Fedora Workstation и Fedora Silverblue для корректной работы видеокарт. Мы затронем нюансы работы с DKMS, выбора между X11 и Wayland, а также методы отката в случае возникновения критических ошибок при обновлении системы.

Подготовка системы и включение репозиториев

Первым и самым важным шагом является настройка репозиториев, так как стандартные хранилища Fedora не содержат проприетарного ПО. Вам необходимо активировать репозиторий RPM Fusion, который является де-факто стандартом для установки закрытых драйверов в экосистеме RPM. Это делается через терминал с использованием утилиты dnf.

Выполните команду для подключения свободного и несвободного репозиториев в один шаг. Это обеспечит доступ к пакетам akmod-nvidia и вспомогательным утилитам. Убедитесь, что ваша система обновлена до последней версии перед началом манипуляций, чтобы избежать конфликтов версий ядра.

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

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

⚠️ Внимание: Если вы используете систему Fedora Silverblue или Kinoite, стандартный метод установки через dnf не сработает должным образом. Вам необходимо использовать rpm-ostree для добавления драйверов как части образа системы.

Выбор и установка проприетарных драйверов

Существует два основных способа установки драйверов: использование модуля akmod или kmod. Для большинства пользователей рекомендуется именно akmod-nvidia, так как он автоматически пересобирает модуль ядра при каждом обновлении ядра системы. Это избавляет от необходимости вручную переустанавливать драйверы после каждого выхода новой версии Linux Kernel.

Если же вы используете Fedora Silverblue, где ядро является частью неизменяемой файловой системы, процесс выглядит иначе. Вам потребуется установить пакет akmod-nvidia через rpm-ostree и перезагрузить систему, чтобы новые модули были скомпилированы.

sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda

Временная задержка после установки — это нормальное явление. Система начнет фоновую компиляцию модуля ядра, что может занять от 10 до 30 минут в зависимости от мощности вашего процессора. Не прерывайте процесс обновления системы во время этого этапа.

📊 Какой метод установки вы предпочитаете?
Пакетный менеджер (dnf)
Графический магазин приложений
Сборка из исходного кода
Не знаю, помоги выбрать

☑️ Контрольный список перед установкой

Выполнено: 0 / 4

Поддержка CUDA и дополнительных библиотек

Для задач машинного обучения, рендеринга видео или работы с профессиональным софтом, такого как Adobe Premiere через Wine, необходимы дополнительные библиотеки CUDA. Пакет xorg-x11-drv-nvidia-cuda, который мы установили ранее, предоставляет базовую поддержку, но может требовать установки специфических версий библиотек для совместимости с определенным ПО.

Если вы разрабатываете нейросети, обратите внимание на совместимость версий CUDA и cuDNN с вашей версией драйвера. Официальный сайт NVIDIA предоставляет таблицу соответствия, где указано, какая версия драйвера поддерживает какой релиз платформы CUDA Toolkit.

Версия драйвера Максимальная версия CUDA Рекомендуемое использование
535.x - 545.x CUDA 12.2 Стандартные игры и базовые вычисления
550.x CUDA 12.4 Современные игры и рендеринг
555.x + (Beta) CUDA 12.5+ Профессиональные рабочие станции
Legacy 470.x CUDA 11.8 Старые карты серии GTX 900/1000

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

Настройка загрузчика и Secure Boot

Одной из самых частых причин неудачной загрузки с драйверами NVIDIA является включенная функция Secure Boot в BIOS/UEFI. Поскольку модули ядра, устанавливаемые через akmod, подписываются автоматически, но не ключами, доверенными вашим оборудованием, система безопасности может заблокировать их загрузку.

У вас есть два пути решения проблемы: отключить Secure Boot в настройках BIOS или создать и подписать свой ключ MOK (Machine Owner Key). Второй способ более безопасен и предпочтителен для корпоративных сред, но требует выполнения дополнительных команд в консоли при первой загрузке.

⚠️ Внимание: Если вы не планируете использовать Secure Boot, отключите его перед установкой драйверов. Попытка установить подписанные модули на включенный Secure Boot без предварительной настройки ключей приведет к тому, что система загрузится в режиме без графического интерфейса (black screen).

Для отключения Secure Boot перезагрузите компьютер, войдите в BIOS (обычно клавиши F2, F12 или Del) и найдите раздел Security или Boot. Измените опцию Secure Boot на Disabled. Сохраните настройки и перезагрузитесь.

Как подписать модули вручную для Secure Boot?|Для продвинутых пользователей

необходимо сгенерировать ключи через openssl, подписать ими модули в /lib/modules и загрузить MOK через утилиту mokutil при перезагрузке. Это сложный процесс, требующий знания криптографии.

Проверка загрузки и устранение проблем

После перезагрузки необходимо убедиться, что драйверы действительно активны. Самый простой способ проверить это — использовать утилиту nvidia-smi, которая выводит таблицу загрузки видеокарты, температуру и используемую память. Если команда не найдена, скорее всего, модуль ядра не загрузился.

Также можно проверить наличие модуля ядра через команду lsmod | grep nvidia. Если на выходе вы видите список модулей, начинающихся с nvidia, nvidia_modeset и nvidia_uvm, значит, установка прошла успешно. Отсутствие вывода означает, что система использует драйвер nouveau или не нашла модуль.

nvidia-smi

Если графический интерфейс не загружается после установки, вам потребуется загрузиться в режиме восстановления или переключиться в консоль (TTY) с помощью комбинации Ctrl+Alt+F3. Оттуда можно удалить драйверы или проверить логи системы в /var/log/Xorg.0.log.

Специфика работы с Wayland и X11

Начиная с Fedora 38/39, системой по умолчанию стал Wayland. Драйверы NVIDIA имеют отличную поддержку этого протокола, но для её активации необходимо установить пакет egl-wayland. Без него могут возникать разрывы изображения или проблемы с синхронизацией в играх.

Для пользователей, которым требуется максимальная стабильность в старых приложениях, всегда доступен выбор сессии X11 при входе в систему. В меню входа (GDM или SDDM) нажмите на шестеренку в углу экрана и выберите «GNOME на Xorg».

Следующий блок содержит важную информацию о различных версиях драйверов и их совместимости с последними релизами Fedora.

Какой драйвер выбрать для старых карт?|Для карт серии Kepler (GTX 600/700) и более старых, которые уже не поддерживаются новыми драйверами, необходимо использовать пакет kmod-nvidia-legacy-470xx. Эти драйверы не обновляются, но обеспечивают базовую работоспособность.-->

Резюме и дальнейшие действия

Установка драйверов NVIDIA на Fedora — это процесс, требующий внимания к деталям, но не являющийся сверхсложным. Главное правило — всегда использовать репозитории RPM Fusion и пакет akmod для автоматической синхронизации с обновлениями ядра.

Регулярно проверяйте наличие обновлений через dnf, так как Fedora является rolling-release дистрибутивом в ускоренном режиме. Пропуск обновлений ядра может привести к тому, что следующие обновления драйверов не смогут скомпилироваться автоматически.

Если вы столкнулись с ошибками, которые не удается решить самостоятельно, полезно изучить форумы сообщества Fedora или документацию NVIDIA. Часто решение конкретной проблемы уже найдено другими энтузиастами и описано в базах знаний.