Как правильно установить драйверы NVIDIA на Fedora 34

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

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

В этой инструкции мы разберем надежный способ настройки графического стека через репозиторий RPM Fusion. Это официальный и поддерживаемый сообществом метод, который позволяет автоматически обновлять драйверы вместе с системой. Мы также подробно остановимся на этапе отключения открытого драйвера и проверки работоспособности подключенного GPU.

Подготовка системы и обновление пакетов

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

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

sudo dnf upgrade --refresh

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

⚠️ Внимание: Если вы используете зашифрованный диск или специфическую файловую систему, убедитесь, что загрузочный раздел доступен и не поврежден перед началом любых манипуляций с ядром.

Активация репозиториев RPM Fusion

Драйверы NVIDIA не могут быть распространены в официальных репозиториях Fedora из-за лицензионных ограничений, поэтому их нужно подключить из внешнего источника. RPM Fusion является де-факто стандартом для пользователей Fedora и CentOS, предоставляя как бесплатные, так и проприетарные пакеты. Вам необходимо добавить два репозитория: free и non-free.

Выполните в терминале команды, которые загрузят и установят конфигурационные файлы для этих репозиториев. Процесс происходит автоматически, и система сама загрузит необходимые ключи подписи пакетов. Это займет всего несколько секунд при наличии стабильного интернет-соединения.

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

Если команда выполнилась успешно, вы увидите сообщение об установке пакетов. Теперь ваш пакетный менеджер dnf знает, где искать недостающие компоненты. Важно отметить, что репозитории привязаны к версии дистрибутива, поэтому на Fedora 34 будут подтянуты именно те версии драйверов, которые совместимы с этой версией ОС.

Для проверки работоспособности подключенных источников можно выполнить поиск драйвера. Если система находит пакет akmod-nvidia, значит всё настроено верно. Это ключевой пакет, который обеспечивает автоматическую сборку модуля ядра при каждом обновлении системы.

Установка драйверов NVIDIA и отключение Nouveau

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

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

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

Во время установки система автоматически создаст initramfs образ, в который будут внедрены модули NVIDIA. Это критически важно для загрузки графического интерфейса на старте. Если вы видите сообщения о сборке модуля, не пугайтесь — это нормальный процесс, который может занять несколько минут.

⚠️ Внимание: Не перезагружайте компьютер до полного завершения процесса сборки модулей akmod, который может занять до 10 минут после установки пакетов.

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

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

lsmod | grep nouveau

☑️ Подготовка к перезагрузке

Выполнено: 0 / 4
Что делать, если сборка модуля зависла?

Иногда процесс компиляции может зависнуть на этапе загрузки исходного кода ядра. В этом случае можно попробовать перезапустить службу `akmods`, выполнив команду `sudo akmods --force`. Если это не помогло, возможно, потребуется обновить заголовки ядра через `sudo dnf install kernel-devel` и повторить установку драйвера.

Настройка Secure Boot

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

Вам нужно зайти в настройки BIOS/UEFI вашего компьютера и найти раздел Boot или Security. Если Secure Boot включен, у вас есть два пути: либо отключить его полностью, либо подписать модуль драйвера собственным ключом. Для новичков проще и надежнее просто отключить функцию.

⚠️ Внимание: Отключение Secure Boot может снизить уровень защиты от загрузочных вирусов, но это единственный простой способ гарантировать работу драйверов NVIDIA без сложной процедуры подписи модулей.

Если вы все же хотите оставить Secure Boot включенным, вам потребуется сгенерировать собственный ключ MOK (Machine Owner Key) и подписать им модуль. Это сложный процесс, требующий работы с консолью при загрузке и ввода паролей. На Fedora 34 с последними версиями драйверов процедура подписи упростилась, но всё ещё остается нетривиальной задачей.

После изменения настроек в BIOS обязательно сохраните их и перезагрузите систему. Без этого изменения драйвер просто не загрузится, и вы увидите черный экран или низкое разрешение. Проверка статуса Secure Boot в системе возможна через команду mokutil --sb-state.

📊 Какой способ вы предпочитаете
Отключить Secure Boot полностью
Подписать модуль своим ключом
Оставить как есть (без драйвера)
Не знаю, что это такое

Проверка работоспособности и производительности

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

nvidia-smi

Если вы видите таблицу с информацией о видеокарте, версиями драйвера и CUDA, поздравляем — установка прошла успешно. В таблице будет указана модель вашего GPU, уровень использования памяти и частоты работы. Отсутствие ошибки и корректное отображение данных говорит о том, что модуль ядра загружен.

Для более детального анализа производительности и нагрузки можно использовать утилиту nvidia-settings. Она предоставляет графический интерфейс для управления параметрами карты, такими как разгон, кривая вентиляторов и цветовая гамма. Эта утилита устанавливается вместе с основным пакетом драйверов.

Команда Описание Ожидаемый результат
nvidia-smi Статус драйвера и GPU Таблица с версией и нагрузкой
glxinfo | grep OpenGL Проверка OpenGL рендеринга Строка "NVIDIA Corporation"
nvidia-settings Графическая утилита Открытие окна настроек
cat /proc/driver/nvidia/version Версия ядра модуля Дата и номер версии

Обратите внимание на вывод команды glxinfo. Если в строке рендерера указано NVIDIA, значит все 3D-приложения будут работать через проприетарный драйвер. Если там фигурирует Mesa или llvmpipe, значит система все еще использует программную эмуляцию или открытые драйверы.

Решение типичных проблем

Иногда после установки драйвера система может не загружаться в графический интерфейс, показывая черный экран или циклическую перезагрузку. Это чаще всего связано с несовместимостью версии ядра или проблемами с режимом Wayland и X11. Попробуйте переключиться на сервер X11 в настройках экрана при входе в систему.

Если драйвер не загружается автоматически, проверьте статус службы dkms или akmod. Ошибки в логах ядра часто содержат информацию о том, почему модуль был отклонен. Используйте команду journalctl -k | grep NVRM для поиска сообщений об ошибках драйвера.

В редких случаях может потребоваться ручное добавление параметра nvidia-drm.modeset=1 в загрузочную конфигурацию GRUB. Это необходимо для корректной работы функции G-Sync и гибридной графики на ноутбуках. После добавления параметра нужно обновить конфигурацию загрузчика и перезагрузиться.

Если вы столкнулись с ошибками компиляции модуля ядра, убедитесь, что у вас установлены заголовки именно той версии ядра, которая загружена в данный момент. Иногда после обновления ядра dnf не успевает загрузить соответствующие заголовки, что приводит к сбою сборки модулей.

⚠️ Внимание: Если после обновления ядра драйвер перестал работать, не пытайтесь переустанавливать его сразу. Сначала попробуйте перезагрузить систему в старое, рабочее ядро и установить заголовки для нового ядра.

Особенности гибридной графики на ноутбуках

Для владельцев ноутбуков с гибридной графикой, где есть встроенное Intel или AMD ядро и дискретная NVIDIA, процедура установки имеет свои нюансы. Вам необходимо установить пакет akmod-nvidia и nvidia-persistenced, чтобы система могла корректно переключаться между видеокартами.

В Fedora управление переключением видеокарт часто осуществляется утилитой optimus-manager или через настройки GNOME. Однако, нативная поддержка NVIDIA в последнем ядре позволяет использовать режим PRIME без дополнительных утилит. Вам нужно будет запускать приложения с флагом __NV_PRIME_RENDER_OFFLOAD=1.

Пример запуска игры через терминал с использованием дискретной карты:

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxgears
. Это позволяет изолировать нагрузку на мощную карту, сохраняя встроенную графику для работы интерфейса.

Не забудьте проверить, что в BIOS ноутбука не включен режим Hybrid Graphics, который иногда блокирует драйверы. В некоторых случаях приходится переключаться в режим Discrete (только NVIDIA) или Integrated (только встроенная), чтобы избежать конфликтов.

FAQ: Часто задаваемые вопросы

Нужно ли удалять старый драйвер перед установкой?

Обычно нет. Если вы не устанавливали драйвер вручную (через .run файл), а использовали системные репозитории, то конфликт не возникнет. Пакет akmod-nvidia автоматически заменит старые версии. Если же вы ставили драйвер через установщик NVIDIA, его нужно удалить вручную перед установкой из репозитория.

Почему система не загружается после установки драйвера?

Чаще всего это связано с включенным Secure Boot или несовместимостью версии ядра. Попробуйте отключить Secure Boot в BIOS или загрузиться в старое ядро, обновить заголовки и переустановить драйвер. Также проверьте, не заблокирован ли режим Wayland.

Как обновить драйвер в будущем?

Драйвер обновляется автоматически вместе с системой. Достаточно выполнять команду sudo dnf upgrade регулярно. После обновления ядра система автоматически пересоберет модуль драйвера благодаря пакету akmod.

Можно ли использовать Open Source драйверы NVIDIA?

Да, драйвер nouveau уже установлен в системе. Однако он не поддерживает современные функции видеокарт, 3D-ускорение и работу с CUDA. Для игр и профессиональных задач настоятельно рекомендуется использовать проприетарный драйвер.