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

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

Работа с графическими подсистемами в Linux часто вызывает трудности, особенно когда речь заходит о проприетарных драйверах от компании NVIDIA. Ситуация, когда необходимо удалить драйвер, возникает по разным причинам: от неудачного обновления и конфликтов с новыми версиями ядра до простого перехода на открытые драйверы Nouveau.

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

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

Подготовка системы и диагностика текущего состояния

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

Для начала стоит проверить, какой драйвер сейчас активен и какие пакеты занимают место на диске. Используйте команду lspci | grep VGA для подтверждения наличия видеокарты. Далее, чтобы увидеть установленные пакеты, выполните поиск по ключевому слову в базе данных пакетов.

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

Самый надежный способ увидеть список установленных драйверов — использовать пакетный менеджер apt. Введите следующую команду в терминале, чтобы отфильтровать все пакеты, связанные с NVIDIA:

dpkg -l | grep -i nvidia

Если вы видите длинный список, начинающийся с ii, значит, эти пакеты установлены и готовы к удалению. Обратите внимание на версии драйверов, например, nvidia-driver-535 или nvidia-driver-550. Знание версии поможет понять, какой именно пакет является основным, а какие — вспомогательными.

Также полезно проверить, не заблокирован ли драйвер для автоматического обновления. Это может случиться, если пользователь ранее вручную помечал пакеты как «держаться». Команда apt-mark showhold покажет список таких пакетов. Если драйвер есть в этом списке, его нужно сначала разблокировать перед удалением.

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

📊 Какой метод удаления вы планируете использовать?
Полная очистка через apt
Использование утилиты nvidia-uninstall
Удаление через репозиторий PPA
Поиск и удаление вручную

Стандартный метод удаления через пакетный менеджер APT

Самый безопасный и рекомендуемый способ очистки системы — использование встроенного в Ubuntu пакетного менеджера apt. Этот метод гарантирует, что все зависимые пакеты будут удалены корректно, а конфигурационные файлы будут очищены. Система автоматически перенастроит графический сервер Xorg или Wayland на использование открытых драйверов.

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

sudo apt remove --purge '^nvidia-.*' && sudo apt autoremove

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

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

sudo update-initramfs -u && sudo update-grub

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

Важно отметить, что после перезагрузки система должна загрузить драйвер Nouveau (открытый драйвер сообщества) или базовый драйвер llvmpipe, если аппаратное ускорение недоступно. Экран может стать менее ярким или разрешение изменится, но это нормально при отсутствии проприетарного ПО.

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

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

Иногда пакеты могут быть заблокированы конфликтами зависимостей. В этом случае попробуйте сначала удалить пакет nvidia-utils-версия, а затем основной драйвер. Если это не помогает, используйте команду dpkg --remove --force-remove-reinstreq имя_пакета, но делайте это только если вы понимаете последствия.

Удаление драйверов, установленных вручную (runfile)

Некоторые пользователи предпочитают устанавливать драйверы не через репозитории Ubuntu, а скачивая инсталляционный файл (.run) с официального сайта NVIDIA. Такой метод создает проблемы при удалении, так как стандартные команды apt не знают о существовании этих файлов и не могут их контролировать.

Если вы устанавливали драйвер вручную с помощью файла NVIDIA-Linux-x86_64-xxx.xx.run, вам необходимо запустить этот же файл с флагом удаления. Это единственный корректный способ откатить изменения, внесенные в систему таким образом. Без этого вы рискуете оставить в системе "мусор", который будет конфликтовать с будущими обновлениями.

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

sudo systemctl stop gdm3

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

sudo sh ./NVIDIA-Linux-x86_64-535.104.05.run --uninstall

Если инсталлятор не находит драйвер или вы не знаете точного имени файла, можно попробовать запустить его с флагом --help, чтобы увидеть доступные опции. Иногда требуется также вручную удалить остаточные файлы из папок /usr/lib/x86_64-linux-gnu/ или /etc/modprobe.d/, если скрипт удаления не справился.

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

После успешного удаления вручную установленного драйвера обязательно перезапустите графический сервер или перезагрузите систему. Команда sudo systemctl start gdm3 вернет графическую оболочку, если вы остановили её вручную.

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

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

Утилита ubuntu-drivers — мощный инструмент для управления драйверами в Ubuntu. Она может автоматически подобрать оптимальный драйвер или, в нашем случае, принудительно установить драйвер Nouveau вместо проприетарного.

Для установки открытого драйвера выполните команду:

sudo ubuntu-drivers autoinstall

Эта команда просканирует ваше оборудование и установит наиболее подходящий драйвер из репозиториев. Если вы хотите убедиться, что именно Nouveau активен, можно проверить модель драйвера через команду lspci -k | grep -A 2 -i vga. В строке "Kernel driver in use" должно быть написано nouveau.

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

Откройте файл конфигурации GRUB с помощью редактора nano и проверьте строку с параметрами загрузки.

sudo nano /etc/default/grub

Убедитесь, что в переменной GRUB_CMDLINE_LINUX_DEFAULT нет записей, блокирующих загрузку видеомодулей. Если там есть nomodeset, удалите это слово, сохраните файл и обновите GRUB.

sudo update-grub

Теперь система должна корректно загрузиться с открытым драйвером. Производительность в 3D-играх или рендеринге может быть ниже, но система будет стабильной и готовой к установке новой версии драйвера в будущем.

Управление репозиториями и отключение PPA

Частой причиной проблем с драйверами является наличие сторонних репозиториев PPA (Personal Package Archive), которые не синхронизированы с официальными репозиториями Ubuntu. Если вы ранее добавляли PPA от graphics-drivers, он может подтягивать нестабильные версии или конфликтовать с системными пакетами.

Для чистого удаления драйвера и предотвращения его автоматической подгрузки в будущем, необходимо удалить все PPA, связанные с видеокартами. Это делается через утилиту add-apt-repository с флагом --remove.

Список добавленных репозиториев можно просмотреть в папке /etc/apt/sources.list.d/. Найдите файлы с именами, содержащими "graphics-drivers" или "nvidia".

ls /etc/apt/sources.list.d/ | grep -i nvidia

Для удаления конкретного PPA используйте команду:

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

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

sudo apt update

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

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

Иногда процесс удаления драйвера проходит успешно, но система ведет себя некорректно. Например, разрешение экрана остается низким, или курсор мыши не отображается. Это может указывать на то, что конфигурационные файлы X-сервера не были корректно обновлены.

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

sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.backup

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

Логи находятся в файле /var/log/Xorg.0.log. Ищите строки с пометкой (EE) или (WW), которые указывают на ошибки загрузки модулей. Если там упоминается nvidia, значит, удаление прошло не полностью.

Проблема Возможная причина Решение
Черный экран после удаления Блокировка модуля Nouveau Удалить /etc/modprobe.d/blacklist-nvidia.conf
Низкое разрешение Отсутствует xorg.conf Удалить или переименовать xorg.conf
Ошибка загрузки модуля Остатки файлов .run Запустить .run файл с флагом --uninstall
Конфликт пакетов Несовместимые PPA Удалить PPA через add-apt-repository --remove

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

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

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

Заключение и рекомендации

Удаление проприетарного драйвера NVIDIA в Ubuntu — процедура, требующая аккуратности, но не представляющая особой сложности при следовании инструкциям. Ключ к успеху лежит в понимании того, как именно был установлен драйвер: через репозиторий или вручную.

Использование стандартных инструментов apt и ubuntu-drivers обеспечивает максимальную безопасность и минимизирует риск поломки системы. Ручное удаление через инсталляционные файлы требует большей внимательности и контроля за процессом.

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

Как проверить, какой драйвер загружен?

Введите команду lspci -k | grep -A 2 -i vga в терминале. Если в строке "Kernel driver in use" указано nouveau, значит, драйвер NVIDIA удален и система использует открытый драйвер. Если указано nvidia, значит, проприетарный драйвер все еще активен.

Можно ли удалить драйвер NVIDIA, не теряя данные?

Да, удаление драйвера видеоплатформы не затрагивает пользовательские данные (документы, фото, видео). Удаляются только системные библиотеки и модули ядра, отвечающие за работу графической карты. Ваши файлы останутся в целости и сохранности.

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

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

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

Обычно это не требуется, так как система автоматически заменяет старые драйверы на новые при обновлении. Однако, если вы используете сторонние репозитории (PPA), рекомендуется сначала обновить систему, а затем драйверы, чтобы избежать конфликтов версий.

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

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