Как установить драйвер nvidia в Ubuntu/Linux mint и подобные
Всем привет! Некоторые пользователи, которые переходят с операционной системы Microsoft, сталкиваются с проблемой установки драйверов в Ubuntu/Linux mint и другие дистрибутивы. В этой статье будут рассмотрены три метода установки драйвера Nvidia в следующем порядке:
- Автоматическая установка с использованием стандартного Ubuntu Repository
- Автоматическая установка с помощью PPA репозитория для установки драйверов Nvidia Beta
- Руководство по установке с использованием официального драйвера NVIDIA.com
Первый метод является самым простым для выполнения, и в большинстве случаев является рекомендуемым подходом.
Во-первых, вам нужно обнаружить модель вашей графической карты NVidia и рекомендуемого драйвера. Для этого, выполните команду в терминале:
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 == modalias : pci:v000010DEd00001C02sv00001458sd00003724bc03sc00i00 vendor : NVIDIA Corporation model : GP106 [GeForce GTX 1060 3GB] driver : nvidia-driver-390 - distro non-free driver : nvidia-driver-430 - distro non-free driver : nvidia-driver-435 - distro non-free recommended driver : xserver-xorg-video-nouveau - distro free builtin
Из приведенного выше примера, можно сделать вывод о том, что установлена графическая карта NVIDIA GeForce GTX 1060 и рекомендуемый драйвер nvidia-435.
Если вы согласны с рекомендацией, не стесняйтесь использовать команду ubuntu-drivers еще раз, чтобы установить все рекомендуемые драйвера:
sudo ubuntu-drivers autoinstall
В качестве альтернативы, установите требуемый драйвер выборочно с помощью команды apt. Например:
sudo apt install nvidia-435
После того, как установка будет закончена, перезагрузите систему.
Автоматическая установка с помощью PPA репозитория для установки драйверов Nvidia Beta
Использование репозитория graphics-driversPPA позволяет установить драйвер Nvidia бета.
Чтобы продолжить сначала добавьте репозиторий ppa:graphics-drivers/ppa в вашу систему:
sudo add-apt-repository ppa:graphics-drivers/ppa
Затем определите вашу графическую модель карты и рекомендуемый драйвер:
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00001C02sv00001458sd00003724bc03sc00i00
vendor : NVIDIA Corporation
model : GP106 [GeForce GTX 1060 3GB]
driver : nvidia-driver-410 – third-party free
driver : nvidia-driver-390 – third-party free
driver : nvidia-driver-440 – third-party free recommended
driver : nvidia-driver-415 – third-party free
driver : nvidia-driver-435 – distro non-free
driver : xserver-xorg-video-nouveau – distro free builtin
Установите рекомендованные драйвера автоматически:
sudo ubuntu-drivers autoinstall
или выборочно с помощью команды apt. Например:
sudo apt install nvidia-440
После этого перезагрузите систему.
Установка драйвера Nvidia с Официального сайта NVIDIA.com в Linux
Определите NVIDIA VGA card. Команда ниже позволит вам определить вашу модель карты Nvidia:
Скачайте драйвер с Официального сайта Nvidia. Сохраните файл в вашей домашней директории. Например, я сохранил в домашнем каталоге, и проверяю командой ls:
NVIDIA-Linux-x86_64-440.64.run
Установка необходимых компонентов. Следующие предпосылки должны скомпилировать и помочь установить драйвер Nvidia:
sudo dpkg --add-architecture i386
sudo apt install build-essential libc6:i386 libglvnd-dev pkg-config
Для того, чтобы установить новый драйвер Nvidia мы должны остановить текущий сервер дисплея. Самый простой способ сделать это, использовать команду telinit. После выполнения следующей команды Linux, сервер дисплея остановится, поэтому убедитесь, что вы сохранили все текущие работы (если таковые имеются), прежде чем продолжить:
Для того, чтобы начать установку драйвера Nvidia выполните следующую команду, и следуйте указаниям мастера:
sudo bash NVIDIA-Linux-x86_64-440.64.run
Теперь вы должны принять лицензию и следовать инструкциям мастера для завершения установки. Вы можете увидеть некоторые вопросы
The distribution-provided pre-install script failed! Are you sure you want to continue? -> CONTINUE INSTALLATION Выберите -> YES
Не удалось выполнить предустановочный скрипт, предоставляемый дистрибутивом!
Вы уверены что хотите продолжить? -> ПРОДОЛЖИТЬ УСТАНОВКУ
На скрине выше, задан вопрос о том что – Не хотите ли вы, зарегистрировать исходные коды модулей ядра в DKMS? Это позволит DKMS автоматически создать новый модуль, если позже вы установите новое ядро.
Вылезла ошибка что подготовка ядра для этого выпуска не требуется.
Я запустил еще раз установку, но на этот раз, на втором шаге отказался зарегистрировать исходные коды модулей ядра, и установка прошла успешно.
После успешной установки, перезагрузите систему:
И проверяем версию драйвера запустив стандартную утилиту Nvidia
Вот и все, надеюсь эта статья кому-то помогла, и если это так, поделитесь ею в социальных сетях.
Танцы с бубном или как я решал проблему работы NVIDIA в Linux Mint
Начну с предыстории. Полгода назад я установил на ноутбук с предустановленной Windows линукс. Выбор пал на Минт из-за приятного окружения Cinnamon. Изначально использовал линукс как вспомогательную систему и писал на ней только код. По причине отличной оптимизации постепенно переносил все больше своих ежедневных задач на пингвина. На борту ноутбука установлено две видеокарты: встроенная от AMD и дискретная от NVIDIA (3050ti mobile). Из коробки, Минт по умолчанию для NVIDIA устанавливает открытые драйвера и пакет NVIDIA Prime. Он позволяет осуществлять переключение между видеокартами и работает как в терминале, так и в графической утилите.
Первое время работы для экономии энергии выставил значение Power Saving которое отключило дискретную графику и передало управление встроенной от AMD. В течение несколько месяцев никаких проблем не возникало. Как я писал выше, из-за хорошей оптимизации я начал устанавливать в линукс программы которыми пользовался обычно на Windows. Среди них был и Blender. Интегрированная графика не порадовала своей производительностью и я решил включить дискретку по запросу. Несмотря на запуск Blender с NVIDIA, производительность сильно не увеличилась. Да, разница ощущалась в лучшую сторону, но в Windows все работало лучше. После посещения форумов, выяснил, что у многих похожая проблема и она вызвана открытыми драйверами на видеокарте. Решил переключить на проприетарные.
Все пакеты установились и я перезагрузил компьютер. NVIDIA перестала распозноваться системой. При запуске с дискретной графикой приложения попросту не запускались. Я решил переключить режим в Performance и опять ребутнул ноут. В итоге Минт перестал запускаться вообще: бесконечная прокрутка зелёного колёсика после выбора линукса в grub. В такой ситуации при нажатии ESC можно увидеть логи ядра. Красным горело уведомление, что система не запускается из-за отсутствия видеокарты. После принудительного выключения и загрузке в безопасном режиме появился доступ к терминалу. Графическая оболочка по прежнему не работала. В терминале, запустив sudo prime-select intel, удалось вернуть жизнь оболочке. При этом по требованию sudo prime-select on-demand система по прежнему оставалась в коме. Проблема не решалась. Переустановка драйверов, изменение файлов конфига — ничего не помогало. На тот момент стояла версия ядра 5.15.0-56-generic.
Когда через несколько дней, подъехало ядро 5.15.0-57-generic, а за ним 5.15.0-58-generic, решил повторить эксперимент. Переустановил дрова, переключил в On-demand и о чудо, система не умерла при перезагрузке. NVIDIA по-прежнему не работала, но на новом ядре система заработала. Тщательно проанализировав установленные пакеты командой dpkg -l | grep -i nvidia я увидел что при переключении с открытых драйверов на проприетарные через графический интерфейс пакеты открытых дров не удаляются. Я решил проверить что будет если их убрать. Все равно они не использовались. Командой sudo apt purge xserver-xorg-video-nouveau они все отправились на свалку. После перезагрузки наконец страданиям пришел конец. Все дело было в неудалённых открытых драйверах и несовместимости драйвера с на тот момент стоящей версии ядра.
Сейчас тестирую систему. В режиме On-demand все работает отлично и при вызове дискретки система открывает приложения шустро. Blender стал работать не хуже чем на Windows. Также подъехали те технологии NVIDIA, которые не поддерживаются в открытом драйвере. PyTorch распознал CUDA и подключил её к себе. В итоге получилась система не хуже Windows, а иногда по производительности лучше.
Это моя первая статья на Хабре, буду рад конструктивной критике и обмену мнениями. Если кому-то статья помогла в решении аналогичной проблемы, был рад помочь.