Полное удаление драйверов видеокарты в Linux: NVIDIA и AMD

Сбойный запуск графического интерфейса после установки пакета nvidia-driver-535 часто требует полного ручного удаления всех компонентов драйвера, чтобы система могла загрузиться в режим nomodeset или использовать базовый llvmpipe. Остаточные файлы конфигурации в /etc/X11 или конфликты модулей ядра могут блокировать работу дисплейного сервера, делая невозможным даже вход в терминал. Неполная очистка приводит к тому, что при попытке установки новой версии драйвера система выдает ошибки зависимости или «фантомные» конфликты модулей.

Удаление драйверов в Linux отличается от Windows тем, что здесь нет единой кнопки «Удалить программу»; вместо этого необходимо удалить пакеты, очистить модули ядра и вручную проверить файлы конфигурации. Особенно это актуально для владельцев карт NVIDIA, которые часто сталкиваются с необходимостью отката к открытому драйверу nouveau после неудачной проприетарной установки. Для пользователей карт AMD процесс проще, но требует удаления пакетов amdgpu-pro, если они были установлены вручную поверх стандартной поддержки.

Подготовка системы и вход в консоль

Прежде чем приступать к удалению, необходимо гарантировать, что вы находитесь в среде, где графический интерфейс не пытается загрузиться автоматически. Если система застревает в черном цикле загрузки или показывает только курсор, перезагрузите компьютер и в меню GRUB выберите пункт Advanced options for Ubuntu (или название вашего дистрибутива), затем запустите режим восстановления или добавьте параметр nomodeset в строку загрузки.

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

sudo systemctl stop gdm

или

sudo systemctl stop lightdm

Остановка дисплейного менеджера критически важна, так как попытка удалить пакеты, используемые активным процессом, приведет к ошибке или частичному удалению. Проверьте статус службы, чтобы убедиться, что она не работает, прежде чем запускать команды очистки. Это действие также освобождает устройства /dev/nvidia* или /dev/amdgpu для безопасной разгрузки модулей ядра.

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

Процесс удаления проприетарных драйверов NVIDIA

Для карт NVIDIA установка часто происходит через официальные репозитории или PPA, что требует точного удаления всех связанных пакетов. Если вы устанавливали драйвер через .run файл, удаленный вручную, вам нужно запустить скрипт деинсталляции из корневого каталога, но чаще всего пользователи используют репозитории Ubuntu или Arch, где управление ведется через менеджер пакетов.

В системах на базе Debian/Ubuntu/Mint используйте команду apt для удаления всех пакетов, начинающихся с nvidia. Важно использовать флаг --purge, чтобы удалить также и файлы конфигурации, которые могут вызывать конфликты при повторной установке. Это действие автоматически удалит зависимости, которые были установлены вместе с драйвером, если они больше не нужны системе.

sudo apt-get purge "nvidia" "libnvidia*"

sudo apt-get autoremove

После удаления пакетов необходимо проверить, не остались ли модули ядра в памяти или в загрузочном каталоге. Модули nvidia.ko могут быть загружены, что помешает работе альтернативного драйвера nouveau. Используйте команду lsmod для просмотра списка загруженных модулей и rmmod для их разгрузки, если они еще активны.

Если вы использовали репозиторий graphics-drivers, не забудьте добавить ключи и репозиторий обратно, чтобы система не пыталась подтянуть старые версии при обновлении. Это часто упускается, что приводит к ошибкам при попытке установить драйвер из официальных источников позже.

Скрытый текст с подробностями

Если у вас установлена система Arch Linux, используйте команду `pacman -Rns nvidia nvidia-utils nvidia-settings` вместо apt. Для Fedora используйте `dnf remove nvidia*`. Всегда проверяйте, что пакет `xorg-video-ati` или `xorg-video-nouveau` не был удален ошибочно, если вы планируете использовать открытые драйверы.

☑️ Чек-лист очистки NVIDIA

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

Очистка драйверов AMD и Intel

Драйверы для карт AMD в большинстве современных дистрибутивов являются частью ядра (модуль amdgpu) и не требуют отдельной установки, если речь не идет о проприетарном стеке amdgpu-pro. Если вы устанавливали AMDGPU-Pro вручную для улучшения производительности в некоторых задачах, процесс удаления аналогичен NVIDIA, но с меньшим количеством зависимостей.

Для полного удаления пакета amdgpu-pro используйте скрипт деинсталляции, часто поставляемый вместе с установочным пакетом, или удалите пакеты через менеджер. Важно убедиться, что вы не удаляете базовые пакеты Mesa, которые необходимы для работы OpenGL и Vulkan на любом графическом ускорителе. Ошибка здесь может оставить систему без какой-либо графической поддержки.

sudo apt-get purge "amdgpu-pro*" "amdgpu-pro-*"

sudo apt-get autoremove

Для видеокарт Intel удаление обычно не требуется, так как драйверы встроены в ядро и библиотеки Mesa. Если вы устанавливали проприетарные компоненты или специфические версии драйверов из сторонних репозиториев, удалите их так же, как и в случае с NVIDIA, используя поиск по имени пакета. Основная задача — убедиться, что не осталось конфликтовующих версий библиотек.

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

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

После удаления пакетов в системе часто остаются файлы конфигурации в каталогах /etc/X11/, /etc/modprobe.d/ и /usr/share/X11/. Эти файлы могут содержать жестко прописанные параметры для конкретного драйвера, который вы только что удалили, что помешает загрузке новой версии или авто-подбору настроек. Особое внимание уделите файлам nvidia-xconfig.conf.

Каталог /etc/modprobe.d/ часто содержит файлы с правилами чередования модулей (blacklist), которые могут блокировать загрузку драйвера nouveau. Если вы планируете вернуться к открытому драйверу, необходимо удалить или отредактировать эти файлы, убрав строки, блокирующие модуль. Иначе система будет игнорировать стандартный драйвер, даже если он установлен корректно.

sudo rm /etc/X11/xorg.conf

sudo rm /etc/modprobe.d/nvidia.conf

Также проверьте каталог /usr/lib/xorg/modules/ на наличие файлов драйверов, которые не были удалены автоматически. Иногда установочные скрипты копируют файлы вручную, минуя менеджер пакетов. Используйте команду ls для просмотра содержимого и сравнения с документацией. Удаление лишних файлов модулей предотвратит ошибки загрузки X-сервера.

Тип файла Расположение Действие Риск
Конфигурация X11 /etc/X11/xorg.conf Удалить Низкий
Черный список модулей /etc/modprobe.d/*.conf Отредактировать Средний
Модули драйверов /usr/lib/xorg/modules/ Проверить/Удалить Высокий
Ядра модулей /lib/modules/$(uname -r)/kernel/drivers/gpu/ Проверить Высокий

Перезагрузка и проверка чистоты системы

После выполнения всех команд очистки необходимо перезагрузить систему, чтобы ядро перегрузило модули и применило новые настройки без старых драйверов. Используйте команду sudo reboot и внимательно следите за экраном. Если система загружается в графический режим, это означает, что базовые драйверы (Mesa или Nouveau) работают корректно.

Для проверки успешности удаления введите команду lspci -k в терминале. В выводе для вашего видеоадаптера должна быть строка Kernel driver in use, указывающая на открытый драйвер (например, nouveau или amdgpu), а не на проприетарный. Отсутствие строки или указание на vfio-pci может означать, что драйвер не загрузился и система использует базовые функции VESA.

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

  • Проверьте, что графический интерфейс отображается корректно без артефактов.
  • Убедитесь, что разрешение экрана определяется автоматически.
  • Тестирование работы 3D-ускорения через утилиту glxgears.
⚠️ Внимание: Если система не загружается в графический режим после очистки, не паникуйте. Загрузитесь в режиме восстановления и удалите только что установленные пакеты или восстановите резервную копию конфигурации.
Скрытый текст с подробностями

Для проверки загрузки модулей ядра используйте `dmesg | grep -i nvidia` или `dmesg | grep -i amdgpu`. Это покажет логи инициализации драйвера и поможет найти скрытые ошибки, которые не видны в графическом интерфейсе.

Частые проблемы и решения

Одной из распространенных проблем является ошибка «Module not found» при попытке загрузить графический сервер. Это часто случается, если файл конфигурации Xorg продолжает ссылаться на удаленный драйвер. В этом случае необходимо либо удалить файл xorg.conf, либо создать новый, пустой, чтобы система перешла в режим авто-конфигурации.

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

Иногда пользователи сталкиваются с тем, что система загружается, но работает очень медленно. Это признак того, что 3D-ускорение не включено, и рендеринг идет через процессор (CPU). В этом случае проверьте, установлен ли пакет xserver-xorg-video-nouveau (для NVIDIA) или соответствующий пакет для AMD, и убедитесь, что модуль ядра загружен.

  • Если экран черный, проверьте параметры загрузки GRUB на наличие nomodeset.
  • При артефактах проверьте целостность файлов ядра и модулей.
  • Для восстановления прав доступа используйте chown и chmod на каталоги /dev/dri.

FAQ: Ответы на частые вопросы

Можно ли удалить драйвер NVIDIA, не перезагружая систему?

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

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

Вам нужно загрузиться в режим восстановления (Recovery Mode) или добавить параметр nomodeset в GRUB. Затем удалите все пакеты, связанные с видеокартой, и переустановите базовые драйверы Mesa и Xorg.

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

В большинстве случаев нет, так как драйверы Intel встроены в ядро Linux. Удалять их можно только в специфических случаях тестирования, но это может привести к полной потере графической поддержки, так как альтернативы для Intel практически не существует.

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

Используйте команду lspci -k | grep -A 3 -i vga. В строке Kernel driver in use будет указано название активного драйвера (например, nouveau, nvidia, amdgpu или i915).

Можно ли удалить только часть драйвера?

Нет, драйверы видеокарт — это монолитные комплексы из модулей ядра, пользовательского пространства и библиотек. Частичное удаление приведет к нестабильности системы. Всегда удаляйте весь пакет целиком через менеджер пакетов.