Полное руководство по удалению драйверов видеокарты AMD в Linux

Введение в проблему совместимости драйверов

Система Linux предлагает пользователям несколько уровней взаимодействия с графическими процессорами AMD, что иногда приводит к конфликтам при обновлении или смене конфигурации. Когда вы сталкиваетесь с артефактами изображения, падениями в играх или невозможностью запуска графической оболочки, часто требуется полная очистка старых версий проприетарных или открытых драйверов. Это не просто удаление пакета, а процесс восстановления целостности графического стека операционной системы.

Многие пользователи совершают ошибку, пытаясь удалить только один компонент, оставляя библиотеки и модули ядра в конфликте друг с другом. Для Radeon и новых карт серии RDNA критически важно понимать разницу между открытым драйвером amdgpu и проприетарным пакетом AMDGPU-PRO. Неполная очистка может привести к тому, что система перестанет загружаться в графический режим, требуя вмешательства через консоль.

В этой статье мы рассмотрим безопасные методы удаления драйверов, которые подходят для дистрибутивов на базе Debian, Ubuntu и Fedora. Мы также затронем тонкости работы с модулями ядра и настройки Xorg, чтобы вы могли вернуться к чистому состоянию системы перед установкой новой версии ПО.

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

Прежде чем вводить любые команды в терминал, необходимо убедиться, что у вас есть доступ к аварийной консоли или возможность загрузиться в режиме восстановления. Если вы планируете удалять драйвер, который сейчас активен, графический интерфейс может отключиться немедленно. Рекомендуется создать точку восстановления или бэкап конфигурационных файлов в папке /etc.

Вам нужно проверить текущую версию ядра и список загруженных модулей, чтобы понять, какие именно компоненты отвечают за работу видеокарты. Используйте команду lspci -k | grep -EA3 'VGA|3D', чтобы увидеть, какой драйвер в настоящее время используется вашим адаптером. Это поможет избежать удаления системных компонентов, не имеющих отношения к AMD.

Особое внимание уделите файлам конфигурации графического сервера. Файл xorg.conf или файлы в директории /etc/X11/xorg.conf.d/ могут содержать жесткие привязки к старым драйверам, которые помешают корректной загрузке после очистки.

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

Удаление проприетарного драйвера AMDGPU-PRO

Если вы ранее устанавливали официальный пакет от производителя с сайта amd.com, процесс удаления отличается от стандартной деинсталляции Open Source драйверов. Пакет обычно предоставляет собственный скрипт деинсталляции, который находится в том же каталоге, где лежал установочный файл. Это самый надежный способ избежать "мусора" в системе.

Вам необходимо открыть терминал, перейти в директорию с установочным файлом и запустить скрипт удаления. Для систем на базе Ubuntu или Debian команда обычно выглядит так: ./amdgpu-pro-uninstall. Если скрипт не найден, можно использовать стандартный менеджер пакетов для удаления всех пакетов, начинающихся с префиксом amdgpu-pro.

Иногда скрипт может не сработать из-за отсутствия зависимостей или конфликтов версий. В таком случае придется вручную удалять пакеты через dpkg или apt. Будьте осторожны: удаление пакетов может затронуть системные библиотеки, если они были переопределены при установке драйвера.

sudo apt-get remove --purge amdgpu-pro* libamdgpu-pro*

sudo apt-get autoremove

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

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

Открытые драйверы amdgpu и radeon встроены в ядро Linux, поэтому их нельзя "удалить" в привычном понимании, как стороннее приложение. Однако вы можете отключить их автоматическую загрузку или удалить сторонние модули, установленные из PPA репозиториев. Это часто требуется, когда новый драйвер конфликтует с версией, идущей "из коробки".

Для отключения модуля в текущей сессии можно использовать команду modprobe -r. Однако для постоянного отключения необходимо редактировать конфигурационные файлы blacklist.conf. Это позволит системе загружаться без инициализации конкретной версии драйвера, что полезно для отладки.

  • 🔍 Проверьте наличие сторонних модулей в директории /lib/modules/$(uname -r)/kernel/drivers/gpu
  • 🛠 Используйте lsmod | grep amdgpu для проверки загруженных модулей
  • 📝 Добавьте строку blacklist amdgpu в файл /etc/modprobe.d/blacklist.conf при необходимости

☑️ Проверка перед отключением

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

Если вы устанавливали драйвер через PPA (например, олдскульный Oibaf или Kisake), вам нужно удалить исходный репозиторий и все связанные пакеты. Это вернет систему к драйверам, поставляемым официальным дистрибутивом.

sudo add-apt-repository --remove ppa:oibaf/graphics-drivers

sudo apt-get update

sudo apt-get purge oibaf-*

⚠️ Внимание: Отключение модуля radeon или amdgpu может привести к отсутствию видеодрайвера, если у вас нет другого работающего графического интерфейса. Убедитесь, что у вас есть доступ к TTY (Ctrl+Alt+F3).
Что делать, если после отключения модуля экран черный?

Если после перезагрузки экран остался черным, перезагрузитесь через меню GRUB, выберите "Advanced options" и попробуйте загрузиться с параметром "nomodeset". Это временно отключит графические драйверы, позволив вам войти в систему и исправить ошибки.

📊 Какой метод удаления вы планируете использовать?
Полная очистка через скрипт
Удаление через терминал
Откат через репозиторий
Отключение модулей вручную

Работа с настройками X11 и Wayland

После удаления драйверов конфигурация графического сервера может остаться в неконсистентном состоянии. Файлы конфигурации могут содержать пути к библиотекам, которых больше не существует. Это приводит к ошибкам запуска сессии. Необходимо вручную проверить и очистить файлы в директории /etc/X11/xorg.conf.d/.

Вам следует найти файлы, содержащие упоминание AMD, Radeon или fglrx, и либо удалить их, либо закомментировать. Часто достаточно удалить файл 20-amdgpu.conf или 10-amdgpu.conf, чтобы система использовала стандартные настройки по умолчанию. Для Wayland проверка менее критична, но стоит убедиться, что композитор не пытается загрузить специфичные драйверы.

Иногда возникает необходимость переустановить базовые пакеты графического сервера, чтобы восстановить целостность файлов. Команда переустановки часто помогает без удаления других пакетов. Для Ubuntu это может выглядеть как установка пакета xserver-xorg-video-amdgpu заново, если он был удален по ошибке.

Если вы используете окружение рабочего стола, такое как KDE Plasma или GNOME, проверьте настройки дисплея. Они могут запомнить разрешение или частоту обновления, которые больше не поддерживаются без активного драйвера. Сброс настроек дисплея часто требуется после глубокой очистки системы.

Удаление остаточных файлов и кэша

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

Особое внимание уделите директории /var/lib/amdgpu-pro и папкам с драйверами в /usr/lib или /usr/lib64. Если вы видите файлы, явно принадлежащие старой версии ПО, их удаление ускорит работу системы и освободит место. Также проверьте домашние каталоги пользователей на наличие скрытых файлов конфигурации.

  • 🗑 Очистите кэш пакетов: sudo apt-get clean
  • 🗑 Удалите старые логи в /var/log/amdgpu
  • 🗑 Проверьте наличие файлов в /etc/amdgpu-pro

Не забудьте обновить initramfs, чтобы ядро перестало искать удаленные модули при загрузке. Это критически важный шаг, который часто пропускают новички. Если этого не сделать, система может зависнуть на этапе запуска из-за попыток загрузить несуществующие драйверы.

sudo update-initramfs -u

Таблица команд и их назначения

Для удобства восприятия мы собрали основные команды, которые понадобятся вам в процессе очистки. Каждая команда выполняет свою функцию, от проверки состояния до полного удаления компонентов. Используйте этот список как чек-лист при работе в терминале.

Команда Назначение Где применять
lspci -k | grep -EA3 'VGA' Проверка текущего драйвера Перед удалением
amdgpu-pro-uninstall Скрипт деинсталляции PRO Для пакетов AMDGPU-PRO
rm /etc/modprobe.d/blacklist-amdgpu.conf Удаление блокировки модуля При откате настроек
sudo apt-get purge amdgpu Массовое удаление пакетов Для очистки зависимостей
sudo update-initramfs -u Обновление образа ядра В конце процедуры
⚠️ Внимание: При использовании команды purge удаляются и файлы конфигурации. Если вы планируете вернуться к старой версии драйвера позже, сохраните конфиги в отдельную папку перед выполнением команды.

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

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

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

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

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

Используйте команду lsmod | grep -i amdgpu. Если вывод пуст, модуль не загружен. Также проверьте наличие файлов: find /etc /usr/lib /var -name "amdgpu" 2>/dev/null. Отсутствие результатов в большинстве директорий говорит об успешной очистке.

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

Да, это стандартная практика. Проприетарный драйвер AMDGPU-PRO часто заменяет или конфликтует с открытым драйвером. Использование скрипта удаления amdgpu-pro-uninstall обычно возвращает систему к использованию открытого драйвера amdgpu, встроенного в ядро.

Нужно ли удалять драйвер перед обновлением Linux?

Обычно нет. Однако, если вы переходите на новую версию ядра, которая содержит обновленные модули amdgpu, рекомендуется сначала обновить систему, а затем удалить старый проприетарный драйвер, чтобы избежать конфликтов версий.

Влияет ли удаление драйвера на данные на диске?

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