Если вы видите черный экран при загрузке системы или игра не запускается с сообщением об ошибке OpenGL, первым делом необходимо выяснить точную версию установленного драйвера NVIDIA. В среде Fedora эта информация может быть скрыта за слоями абстрактных пакетов, поэтому простой просмотр свойств устройства в настройках часто не дает полной картины. Точное знание версии nvidia-driver критично для подбора правильного патча ядра или обновления проприетарного ПО.
Проблема усугубляется тем, что Fedora использует уникальную систему управления пакетами и ядром, отличную от Debian или Ubuntu. Драйверы могут быть установлены через репозиторий RPM Fusion или как модули ядра, что требует специфических команд для их выявления. Без этих данных любые попытки обновить систему или исправить графические артефакты превращаются в слепое угадывание.
Проверка через утилиту nvidia-smi
Самый быстрый и информативный способ получить данные о версии драйвера — использовать стандартную утилиту nvidia-smi (NVIDIA System Management Interface). Эта программа, поставляемая вместе с драйвером, отображает детальную статистику работы графического ускорителя, включая версии ПО. Запустите терминал и введите команду
nvidia-smi. Результат сразу покажет таблицу с информацией о GPU.
В верхней части вывода вы увидите строку Driver Version, которая указывает на версию проприетарного драйвера NVIDIA. Ниже находится колонка CUDA Version, показывающая поддержку вычислительной платформы. Важно не путать эти значения: версия CUDA не равна версии драйвера, хотя они тесно связаны. Только поле Driver Version имеет решающее значение для устранения конфликтов с ядром Fedora.
Если команда возвращает ошибку или не найдена, это означает, что драйвер либо не установлен, либо не загружен. В таком случае необходимо проверить наличие пакетов, связанных с NVIDIA, другими методами. Утилита nvidia-smi является наиболее надежным индикатором того, что модуль ядра успешно инициализирован и работает в пользовательском пространстве.
Использование команды modinfo для модулей ядра
В Linux драйверы видеокарт часто реализуются как модули ядра. Чтобы узнать версию модуля nvidia, используйте утилиту modinfo. Эта команда считывает метаданные непосредственно из загруженного модуля, что позволяет получить информацию даже если графический интерфейс не работает. Введите в терминале:
modinfo nvidia | grep version.
Результат покажет строку с версией модуля. Обратите внимание, что в Fedora с проприетарными драйверами могут присутствовать несколько модулей: nvidia, nvidia-drm и nvidia-modeset. Все они должны иметь одинаковые номера версий для корректной работы. Если версии разнятся, это свидетельствует о повреждении установки или конфликте обновлений.
Иногда в выводе modinfo можно увидеть путь к файлу драйвера, что помогает понять, откуда именно система загружает код. Это особенно полезно при работе с кастомными сборками ядра или при откате на предыдущую версию после неудачного обновления Fedora.
☑️ Проверка целостности модулей
Анализ установленных пакетов через DNF и RPM
Поскольку Fedora является дистрибутивом, основанным на пакетах, проверка через менеджер пакетов dnf дает наиболее точную информацию о версионировании с точки зрения системы управления. Введите команду
dnf list installed | grep nvidia, чтобы вывести список всех установленных пакетов, связанных с видеокартой.
В списке вы увидите пакеты с именами вроде nvidia-driver, nvidia-kmod-common и nvidia-settings. Версия драйвера будет указана в скобках или после имени пакета. Например, nvidia-driver-550.54.14-1.fc40 указывает на версию 550.54.14 для Fedora 40. Это позволяет точно определить, какой именно релиз установлен в вашей системе.
Используйте более конкретные команды для поиска пакетов ядра, если у вас установлен модуль KMOD (Kernel Module). Команда dnf list installed nvidia-kmod покажет версии модулей, скомпилированных специально под ваше текущее ядро. Это критично важно, так как обновление ядра в Fedora часто требует пересборки модулей драйвера.
Детали работы репозитория RPM Fusion
Репозиторий RPM Fusion содержит проприетарные драйверы NVIDIA, которые не включены в официальный репозиторий Fedora из-за лицензионных ограничений. Убедитесь, что он включен, иначе вы не сможете обновлять драйверы через стандартные средства системы.
Графический интерфейс и настройки GNOME
Для пользователей, не желающих работать в терминале, существует способ проверки через графический интерфейс. Перейдите в Настройки (Settings) и откройте раздел О системе (About). В некоторых версиях Fedora Workstation с установленным драйвером NVIDIA информация может отображаться в блоке Операционная система, но это не всегда надежно.
Более надежный графический метод — использование утилиты nvidia-settings. Если она установлена, запустите её из меню приложений или через терминал командой
nvidia-settings. В главном окне найдите раздел X Server Display Configuration или GPU 0.
В nvidia-settings можно увидеть детальную информацию о версии драйвера, версии GLX и поддерживаемых функциях. Однако, если драйвер не загружен корректно или используется режим Nouveau (открытый драйвер), эта утилита может не запуститься или показать ошибку. Это является косвенным признаком проблем с проприетарным ПО.
Сравнение версий и таблица соответствия
Часто бывает необходимо сопоставить версию драйвера с поддерживаемой архитектурой или версией ядра. Ниже приведена таблица актуальных версий драйверов для современных релизов Fedora и их соответствия.
| Версия драйвера | Мин. версия Fedora | Поддержка CUDA | Статус |
|---|---|---|---|
| 550.x | Fedora 40/41 | 12.4 | Актуальная |
| 545.x | Fedora 39/40 | 12.3 | Стабильная |
| 535.x | Fedora 38/39 | 12.1 | Поддержка |
| 525.x | Fedora 37/38 | 11.9 | Устаревшая |
Обратите внимание, что новые версии Fedora часто поставляются с новыми ядрами, которые могут быть несовместимы со старыми драйверами. Если вы видите в таблице статус Устаревшая, это сигнал к тому, что обновление системы потребует обновления и драйвера видеокарты.
Решение проблем при отсутствии драйвера
Если все вышеперечисленные методы не дают результата или вы видите версию драйвера Nouveau, это означает, что проприетарный драйвер NVIDIA не установлен. В Fedora это происходит по умолчанию из-за лицензионных ограничений. Необходимо подключить репозиторий RPM Fusion и установить пакет nvidia-driver.
Процесс установки включает добавление репозитория и запуск команды установки. После установки необходимо перезагрузить систему, чтобы модуль ядра был скомпилирован и загружен. Отсутствие перезагрузки — частая причина того, что система продолжает использовать открытый драйвер даже после установки проприетарного.
Иногда возникает конфликт с Secure Boot. Если эта функция включена в BIOS/UEFI, драйвер может не загружаться, так как не подписан ключом вашей системы. В таких случаях требуется либо отключить Secure Boot, либо подписать модули вручную. Это сложная процедура, требующая дополнительных знаний.
⚠️ Внимание: Никогда не пытайтесь установить драйверы NVIDIA вручную, скачав их с официального сайта, если вы используете Fedora. Это приведет к конфликту с системой управления пакетами и сломам обновления ядра в будущем. Используйте только репозиторий RPM Fusion.
Особенности работы с Fedora Silverblue и Kinoite
Для пользователей immutable-дистрибутивов, таких как Fedora Silverblue, проверка версии драйвера имеет свои нюансы. В этих системах графический стек изолирован, и установка драйверов происходит через rpm-ostree. Команда
rpm-ostree status покажет активные слои, включая установленные модули NVIDIA.
Использование nvidia-smi в этих дистрибутивах также работает, но установка драйвера требует добавления слоя через специфические команды. Это обеспечивает большую стабильность, но делает процесс обновления менее гибким.
Если вы используете контейнеры (Flatpak) для игр или рендеринга, убедитесь, что у них есть доступ к драйверам NVIDIA. Для этого используется механизм Flatpak с поддержкой драйверов, который автоматически подхватывает версию, установленную в базовой системе.
⚠️ Внимание: При использовании Fedora Silverblue убедитесь, что вы установили драйвер как оств-слой (ostree layer), иначе он может быть сброшен при обновлении образа системы.
FAQ: Частые вопросы о драйверах NVIDIA в Fedora
Почему nvidia-smi выдает ошибку "command not found"?
Это означает, что драйвер не установлен или не загружен. Проверьте наличие пакета через dnf list installed | grep nvidia. Если пакет есть, но команда не работает, возможно, модуль ядра не загружен из-за конфликта Secure Boot.
Как отличить драйвер Nouveau от NVIDIA?
Используйте команду lspci -k | grep -A 2 -i vga. Если в строке "Kernel driver in use" написано nouveau, значит используется открытый драйвер. Если написано nvidia — проприетарный.
Нужно ли удалять драйвер перед обновлением Fedora?
Обычно нет. При обновлении Fedora до новой версии репозиторий RPM Fusion автоматически предложит обновить драйверы под новое ядро. Однако, если обновление прошло неудачно, может потребоваться ручная чистка и переустановка пакетов.
⚠️ Внимание: При обновлении Fedora до новой мажорной версии (например, с 39 на 40) всегда делайте резервную копию важных данных перед началом процесса обновления драйверов.
Можно ли установить драйвер NVIDIA без подключения к интернету?
Нет, в Fedora драйверы зависят от версии ядра. Скачивание драйвера офлайн требует наличия всех зависимостей и модулей ядра для вашей конкретной версии, что практически невозможно без доступа к репозиториям.
Что делать, если версия драйвера не соответствует версии ядра?
Система не загрузится графический интерфейс. Вам нужно загрузиться в режим восстановления (recovery mode) или через Live USB, удалить пакеты драйверов и переустановить их, соответствующие текущему ядру, используя команду dnf install nvidia-driver.