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

Установка проприетарных драйверов для видеокарт NVIDIA на дистрибутивы Fedora часто вызывает сложности из-за жесткой политики безопасности ядра. Если вы столкнулись с конфликтом модулей, черным экраном или просто решили сменить графический стек, необходимо грамотно удалить установленное ПО. Простого удаления файлов недостаточно, так как драйвер интегрируется в initramfs и репозитории системы.

Процесс очистки требует внимательности, так как вы можете случайно повредить конфигурацию GRUB или удалить критически важные пакеты управления ядром. В отличие от пакетных менеджеров Windows, в Linux удаление драйвера подразумевает разрыв связей между модулями ядра и пользовательским пространством. Ниже мы подробно разберем, как безопасно вернуть систему в исходное состояние, используя стандартные инструменты дистрибутива.

Подготовка системы и оценка текущей конфигурации

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

Откройте терминал и выполните команду проверки загруженных модулей. Вам нужно убедиться, что именно nvidia активен в данный момент. Если система работает нестабильно и нет графического интерфейса, загрузитесь в режим восстановления или используйте текстовую консоль (TTY), нажав Ctrl+Alt+F3.

Используйте утилиту lsmod для просмотра списка загруженных модулей ядра. Если вы видите строки, содержащие nvidia, nvidia_uvm или nvidia_modeset, значит, проприетарный драйвер активен. Это критически важный этап, так как удаление драйвера "на лету" без перезагрузки невозможно, но проверка модулей поможет подобрать правильную команду очистки.

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

Удаление пакетов через менеджер DNF

Основной метод удаления драйвера в Fedora — использование пакетного менеджера DNF. Система хранит зависимости драйвера в базе данных, что позволяет удалить не только сам драйвер, но и связанные с ним библиотеки. Однако, если вы устанавливали драйвер вручную через run-файл с официального сайта, этот метод не сработает, и потребуется ручное удаление.

Для удаления драйверов из репозитория RPM Fusion выполните команду, которая найдет все пакеты с именем nvidia. Система запросит подтверждение удаления зависимостей. Будьте внимательны: иногда вместе с драйвером могут предлагаться к удалению компоненты Xorg или Wayland. Обычно это безопасно, если у вас установлен фоновый драйвер, но лучше перестраховаться.

Специалисты рекомендуют удалять пакеты группой, чтобы избежать "висячих" зависимостей. Используйте следующий синтаксис, который найдет и удалит все пакеты, начинающиеся с nvidia. Если система предложит удалить ядро kernel, откажитесь от этого, так как это сломает систему до следующей загрузки.

sudo dnf remove "nvidia" "akmod" "kmod"

После удаления пакетов необходимо очистить кэш метаданных и обновить зависимости, чтобы система перестала искать удаленные пакеты. Команда sudo dnf autoremove удалит изолированные пакеты, которые были установлены только как зависимости драйвера и теперь стали лишними. Это освободит место на диске и уберет потенциальные конфликты.

☑️ Проверка перед удалением

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

Очистка модулей ядра и Initramfs

Даже после удаления пакетов DNF, следы драйвера могут остаться в образе начальной загрузки initramfs. Это критическая ошибка, которая приведет к тому, что система попытается загрузить несуществующие модули при каждом старте, вызывая задержку или сбой. В Fedora процесс регенерации образа инициализации является обязательным шагом после удаления любого драйвера ядра.

Файлы модулей часто хранятся в директории /lib/modules/$(uname -r)/kernel/drivers/video. Вам нужно убедиться, что там нет папок nvidia. Если они остались, их можно удалить вручную, но только если вы уверены, что драйвер полностью удален через dnf. Оставшиеся файлы могут конфликтовать с будущими установками.

Самый надежный способ очистить образ загрузки — использовать утилиту dracut. Она пересоздает initramfs для текущего ядра, исключая из него все модули, которые не подключены в системе. Это гарантирует, что при следующей перезагрузке ядро не попытается загрузить модули NVIDIA, которые уже были удалены из пакетной базы.

sudo dracut -f

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

Что делать, если ядро не загружается?

Если система не загружается из-за конфликта драйверов, загрузитесь с установочного носителя Fedora, выберите "Troubleshooting" → "Rescue a Fedora system" и выполните chroot в вашу систему для запуска dracut -f вручную.

Удаление ручных установок и конфигурационных файлов

Многие пользователи предпочитают скачивать инсталлятор .run с сайта NVIDIA в обход репозиториев. Такой метод установки создает собственную структуру файлов, которую dnf не видит. Удаление таких драйверов — сложный процесс, требующий запуска оригинального инсталлятора с флагом удаления или ручной чистки.

Если у вас сохранился файл-установщик (например, NVIDIA-Linux-x86_64-535.run), выполните его с флагом --uninstall. Это вернет системные файлы в состояние, предшествующее установке. Если файл утерян, вам придется удалять библиотеки и модули вручную, что сопряжено с высоким риском ошибки.

Не забудьте проверить конфигурационные файлы в /etc/X11/ и /etc/modprobe.d/. Часто скрипты установки создают блокировки для драйвера Nouveau или настраивают параметры GRUB. Удалите файлы вроде nvidia.conf или blacklist-nouveau.conf, чтобы система могла корректно загрузить открытый драйвер.

В директории /usr/lib и /usr/share могут остаться библиотеки с префиксом libnvidia. Проверьте эти пути и удалите остатки, если команда ldconfig -p | grep nvidia выдает пустой список, но файлы всё еще существуют. Это обеспечит полную чистоту системы перед новой установкой.

Восстановление открытого драйвера Nouveau

После удаления проприетарного драйвера система автоматически переключится на открытый драйвер Nouveau, если он включен в ядре. Однако часто сценарии установки NVIDIA добавляют правила в blacklist, которые запрещают загрузку Nouveau. Вам нужно проверить и отменить эти настройки.

Откройте файл /etc/modprobe.d/blacklist.conf или создайте новый файл с именем unblacklist-nouveau.conf. Удалите из них строки, начинающиеся со слова blacklist nouveau. Если такие строки есть, ядро просто проигнорирует запрос на загрузку драйвера, и графический интерфейс может не запуститься.

После редактирования файла снова выполните команду sudo dracut -f, чтобы обновить образ загрузки с новыми правилами исключения. Это критически важно, так как без обновления initramfs настройки blacklist не применятся до следующей перезагрузки. Система должна увидеть Nouveau как доступный драйвер при старте.

Действие Команда Результат
Удаление пакетов dnf remove "nvidia" Удаление файлов из репозитория
Очистка зависимостей dnf autoremove Удаление изолированных библиотек
Обновление ядра dracut -f Пересоздание initramfs без драйверов
Проверка драйвера lsmod | grep nouveau Подтверждение загрузки Nouveau
📊 Какой драйвер вы используете сейчас?
Проприетарный NVIDIA
Открытый Nouveau
Не знаю/Нет графического интерфейса
Другой

Решение проблем с загрузкой и GRUB

Иногда удаление драйвера приводит к тому, что система не может зайти в графический режим, так как настройки разрешения экрана были привязаны к NVIDIA. В этом случае нужно проверить параметры загрузки в GRUB. Откройте файл /etc/default/grub и проверьте строку GRUB_CMDLINE_LINUX.

Если вы видите параметры вроде nvidia-drm.modeset=1 или nomodeset, их лучше удалить или изменить на стандартные значения. Параметр nomodeset часто используется для временного решения проблем, но в долгосрочной перспективе он может снижать производительность Nouveau или вызывать мерцание экрана.

После изменения файла конфигурации GRUB необходимо пересобрать конфигурацию загрузчика. В Fedora для систем с UEFI используется команда grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg. Это обновит меню загрузки и применит новые настройки ядра, что может решить проблемы с "черным экраном" после удаления драйвера.

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

Дополнительные рекомендации и проверка системы

После выполнения всех процедур перезагрузите компьютер и убедитесь, что система загрузилась без ошибок. В терминале выполните команду lspci -k | grep -EA3 "VGA|3D". В выводе вы должны увидеть строку Kernel driver in use: nouveau или nvidia (если вы установили новый драйвер). Это подтвердит, что ядро использует правильный модуль.

Также проверьте, что утилиты NVIDIA вроде nvidia-smi больше не доступны. Попытка запустить эту команду должна вернуть ошибку "command not found". Если утилита работает, значит, какие-то пакеты остались в системе, и процесс очистки нужно повторить.

Для тех, кто планирует установить драйвер снова, рекомендуется сначала настроить репозиторий RPM Fusion. Это обеспечит автоматическое обновление драйверов вместе с ядром и избавит от проблем с ручным обновлением. Установка через репозиторий всегда предпочтительнее ручных сборок в Fedora.

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

Можно ли удалить драйвер NVIDIA без перезагрузки?

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

Что делать, если после удаления драйвера экран остался черным?

Это означает, что Nouveau не загрузился или конфликтует с настройками. Попробуйте добавить параметр nomodeset в меню GRUB при загрузке, чтобы временно загрузить базовый видеорежим, а затем отключить blacklist для Nouveau.

Как узнать, какой драйвер установлен сейчас?

Используйте команду lsmod | grep -E "nvidia|nouveau". Если вы видите nvidia, установлен проприетарный драйвер. Если nouveau — используется открытый драйвер.

Нужно ли удалять репозиторий RPM Fusion после удаления драйвера?

Нет, репозиторий сам по себе не вредит системе. Он содержит множество других пакетов. Удалять его не нужно, если вы планируете использовать другие программы из этого репозитория.

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