Linux не видит видеокарту nvidia

Обновлено: 07.07.2024

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

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

В этой инструкции будет рассмотрена установка драйверов Nvidia в Ubuntu 20.04 из официального сайта и с помощью репозитория. Хотя статья ориентирована в первую очередь на Ubuntu 20.04, все ниже перечисленные действия будут прекрасно работать и в других редакциях и версиях этой операционной системы. Важно заметить, что данный способ работает на системах, в которых используется только одна видеокарта Nvidia, если нужно установить драйвер Nvidia в Ubuntu для гибридной графики, например, Nvidia и Intel, используйте Bamblebee.

Установка драйверов Nvidia

1. Узнаем необходимую версию драйвера

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

Чтобы узнать номер модели используйте команду lspci:

sudo lspci -vnn | grep -i VGA -A 12


Как вы видите, в этом примере видеокарта Nvidia GeForce GTX 780. Дальше откройте страницу загрузки драйверов Nvidia и заполните данные вашей видеокарты:


По сути, нужно выбрать серию, модель и операционную систему, язык по желанию. Обратите внимание на параметр Download Type. С помощью него можно указать какая версия драйвера вам нужна - стабильная или самая новая. Для получения стабильной версии выберите Production Branch. Далее нажмите кнопку Search. На открывшейся странице вы увидите рекомендуемую версию драйвера:


Для GeForce 780 - это 470.88. В то же время самая последняя версия драйвер - 495. Для более старых видеокарт, версия драйвера может быть ещё более давней, например, для GeForce 440 рекомендуемый драйвер - 390.144:


Теперь мы знаем какой драйвер, нужен, уже на этом этапе можно скачать установочный пакет и переходить к установке, но мы поступим по-другому. Дальше будет рассмотрена установка драйвера Nvidia в Ubuntu 20.04 из репозитория PPA.

2. Установка драйвера из официальных репозиториев

В Ubuntu 20.04 для управления драйверами оборудования используется утилита ubuntu-drivers. Конечно, мы можем как и раньше использовать apt, но я думаю, что так намного удобнее. Давайте посмотрим какую версию драйвера посоветует нам установить утилита:


Программа предлагает версию 470. Однако не всегда самая свежая версия доступа по умолчанию. Если вас устраивает эта версия, ее можно установить командой:

sudo ubuntu-drivers autoinstall

Также можно установить эту же версию с помощью apt:

sudo apt install nvidia-driver-470

Но если вы хотите самую новую версию, в данном случае 495, то надо использовать PPA.

2. Установка из PPA репозитория

Репозиторий graphics-drivers содержит самые последние версии драйверов nvidia. Его мы и будем использовать для установки. Для добавления graphics-drivers в систему, выполните команды

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


Теперь PPA репозиторий добавлен и списки пакетов обновлены, можно переходить к установке. Запустите еще раз утилиту ubuntu-drivers:

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

sudo apt search nvidia-driver


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

sudo apt install nvidia-driver-495

После завершения установки перезагрузите компьютер.

3. Установка драйверов Nvidia с помощью GUI

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


Запустите утилиту и перейдите на вкладку Драйверы:

Утилита видит те же самые драйвера из репозиториев, что и ubuntu-drivers. Просто выберите нужную версию драйвера и нажмите кнопку Применить изменения.


После завершения установки обязательно перезагрузите компьютер. В меню появиться ярлык утилиты Nvidia Settings, с помощью нее вы можете посмотреть характеристики видеокарты, а также настроить кое-какие параметры.

4. Установка из официального сайта

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


В итоге, в вашей папке загрузок должен появится такой файл:

/Загрузки | grep NVIDIA


Теперь необходимо добавить поддержку архитектуры i386 и установить библиотеку libc6 чтобы не получить проблем во время установки:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install build-essential libc6:i386

Устанавливать драйвер можно только из консоли. Если в момент установки будет запущен графический сервер, то ничего хорошего из этого не получится, вы просто не сможете потом загрузится в систему. Поэтому переключитесь во второй терминал сочетанием клавиш Ctrl+Alt+F2 и введите там свой логин и пароль. Затем выполните такую команду для остановки графического сервера:

sudo systemctl stop display-manager

Теперь можно переходить к установке. Запустите установочный скрипт командой:

Затем вам нужно будет принять лицензию и дождаться завершения установки. После чего можно перезагрузить компьютер такой командой:

Если установка nvidia ubuntu 18.04 прошла успешно, вы загрузитесь уже с новым драйвером.

Проверка правильности установки

После того как установка драйвера Ubuntu завершится, необходимо проверить правильно ли он установлен и настроен. Для этого выполните команду lspci и посмотрите какой модуль ядра используется для видеокарты, обратите внимание на сточку kernel driver in use:

sudo lspci -vnn | grep -i VGA -A 18


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

glxinfo | grep OpenGL | grep renderer


Значение параметра OpenGL renderer должно соответствовать модели вашей видеокарты. Если там находиться слово MESA - это значит, что для аппаратного ускорения используются все еще стандартные драйвера.

Утилита настройки Nvidia

Вместе с драйверами в системе устанавливается графическая утилита настройки Nvidia X Server Settings, которую можно запустить из меню, или из консоли выполнив:


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

Удаление драйверов Nvidia

Если во время установки что-то пошло не так попробуйте удалить драйвер Nvidia Ubuntu в режиме восстановления. Для открытия этого режима в меню загрузчика Grub выберите Дополнительные параметры Ubuntu, а затем пункт recovery mode или режим восстановления.

Перемонтируем файловую систему для записи:

mount -o remount,rw /

Удаляем все пакеты nvidia:

apt-get purge nvidia*

Дополнительно

Для просмотра информации о драйвере используйте утилиты lsmod, modprobe или modinfo:

lsmod | grep nvidia


Выводы

Вот и все, установка драйвера Nvidia в Ubuntu 20.04 завершена. Теперь вы можете играть игры или использовать сложные эффекты в своей системе. Но будьте осторожны, теперь нельзя обновлять ядро выше поддерживаемой драйвером версии, потому что иначе система не загрузится. Если у вас остались вопросы, пишите в комментариях!

Если я наберу lspci| grep VGA в терминал я получаю этот вывод:

Когда я устанавливаю nvidia-current, он устанавливает 259.49, который является неправильным драйвером для 650m (259.59 - правильный). Какие-нибудь мысли?

РЕДАКТИРОВАТЬ: я использовал эту команду dpkg --list | egrep '(nvidia|bumbl)' | grep ^ii какой выход

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

Кроме того, компьютер Samsung серии 7 (700Z7C), если это помогает

Бег optirun glxspheres выдает этот вывод в kern.log

Хорошо, поскольку вы не упомянули в своем вопросе, что у вас есть ноутбук с поддержкой Optimus, и по взаимодействию с другими пользователями ясно, что вы попали в беспорядок. Требуется новая установка, позвольте мне объяснить вам.

optimus не поддерживается драйверами nvdia в linux. Так что если вы устанавливаете драйверы nvidia из любого репо. Вы не сможете загрузиться в GUI. На странице драйвера linux от nvidia есть предупреждение The driver won't work with few models (мало означает, что видеокарты с поддержкой Optimus)

Так что есть некоторая неофициальная работа, чтобы получить хотя бы функцию энергосбережения (то есть отключить дискретный графический процессор). Первый успех был mj-casalogic . (Я не знаю его имени) Его первый проект назван bumblebee Затем он обновил его и переименовал ironhide ,

Однако железная шкура не была хорошо спроектирована и у нее много проблем. Это сейчас заброшенный проект.

Bumblebee 3.0 был форком оригинального проекта Bumblebee. У него больше стабильности, и весь код был переписан на C. Теперь демон запускается из автозагрузки. Отключите дискретный графический процессор автоматически и используйте его только при необходимости. Но это не совместимо с ironhide или ранее bumblebee , Вы должны сделать много вещей, чтобы заставить это работать. Проще переустановить Ubuntu.

После чистой установки Ubuntu сделайте следующее

Инструкция по установке Bumblebee для отключения дискретного графического процессора и включения только при необходимости

Введите в терминале следующее:

Чтобы установить Bumblebee с помощью проприетарного драйвера nvidia:

Если вы просто хотите отключить карту NVIDIA, не нужно изучать следующее

Инструкция по применению:

Чтобы запустить программу с картой nvidia, используйте optirun Команда с префиксом в терминале. Люблю бегать glxspheres с типом карты nvidia

Для запуска Firefox введите: optirun firefox &

Чтобы получить модель видеокарты, установите mesa-utils , Помните, что модель видеокарты не будет nvidia. Это будет Intel, потому что в nvidia optimus карта nvidia не выставляется напрямую. Карта Nvidia подключена через Intel

Установлен проприетарный драйвер NVIDIA, но видеокарта не используется

К сожалению, вопросы установки проприетарных драйверов для видеокарт на Linux до сих пор не так безболезненны, как на Windows. Но я столкнулся с ещё более запутанной ситуацией: после успешной установки драйверов, не получается задействовать, использовать видеокарту NVidia.

Симптомы проблемы следующие:

  • драйвера для видеокарты NVidia успешно установились
  • система загружается и прекрасно работает
  • но используется видео ядро центрального процессора Intel, а видеокарта NVidia не используется
  • попытки переключиться на NVidia либо не приносят успеха, либо приводят к чёрному экрану (когда иксы, графическая оболочка, не могут загрузиться)
  • программы использующие CUDA (например, Hashcat) прекрасно работают

Чуть подробнее о последнем пункте. Для меня видеокарта представляет главный интерес для брут-форса (взлома) хешей паролей. И эта функция работает, видеокарта нагружена, Hashcat показывает устройство видеокарты как успешно используемое, высокая скорость брут-форса паролей. Именно по этой причине я уже полтора года (!) после установки проприетарного драйвера NVidia не догадывался, что у меня какие-либо проблемы.

И всё-таки драйвер NVidia работает

Я могу убедиться в этом, поскольку срабатывала команда

А также успешно работали приложения, использующие CUDA. Для всех других задач я не мог задействовать видеокарту NVidia.

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

Некоторые видеокарты от NVidia поддерживают технологию NVIDIA Optimus. Суть этой технологии в том, что программное обеспечение автоматически переключается на интегрированную (Intel) или выделенную (NVidia) видеокарту. На таких системах всё довольно просто — по крайней мере в теории. Нужная видеокарта может выбираться множество раз во время работы Linux.

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

Как узнать, какая видеокарта используется в Linux

Есть несколько команд, которые покажут, какая видео карта используется:

Эта же самая команда, но запущенная через optirun из пакета Bumblebee:

Пример вывода, в котором показано, что задействована видеокарта NVIDIA:

Подробнее о optirun и Bumblebee будет позже.

Ещё одна команда, которая выводит информацию об используемой видеокарте (и прикольный треугольник в качестве бонуса):


С помощью команды lspci и определённых опций можно вывести информацию об устройствах, на конце строки с используемой видеокартой должно быть [VGA controller]. Команда для фильтрации данных:

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

Следующая команда покажет процессы, которые использует видеокарта NVIDIA (если процессов нет, значит видеоадаптер не используется):

Ещё одна команда, которая показывает процессы, потребляющие ресурсы видеокарты NVIDIA, а также уровень её загруженности, температуру и другие метрики:

Как установить видео драйвер NVidia в Linux

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

Возможно, этот же способ будет работать и для Debain и других производных.

Для установки драйвера NVidia в Arch Linux, BlackArch и их производные выполните команду:

Кроме указанных, дополнительно будут установлены пакеты nvidia-utils и opencl-nvidia. Если вам не нужен CUDA, то не устанавливайте пакет cuda.

Как установить и пользоваться Bumblebee (как включить NVIDIA Optimus в Linux)

Если ваша карта там есть, то переходите к выполнению следующих команд. У вас уже должен быть установлен проприетарный драйвер NVIDIA, как это показано выше.

На Kali Linux, Debian и их производных выполните:

В ПРОЦЕССЕ ПОДГОТОВКИ

На Arch Linux, BlackArch и их производных выполните:

Система зависает после установки Bumblebee

Я столкнулся с проблемой, что Bumblebee в принципе работает, но при использовании некоторых команд, которые задействуют CUDA или обращаются к модулям ядра, система зависала. Чтобы проверить, есть ли у вас эта проблема, выполните команду lspci, например:

Если система полностью зависнет, то перезагрузитесь и удалите пакет bbswitch.

Вместо удаления bbswitch вы можете попробовать в опции загрузки ядра добавить строку:

Для этого создайте файл /etc/modprobe.d/options.conf:

и скопируйте в него:

Но у меня сработало только удаление bbswitch.

Как пользоваться Bumblebee / NVIDIA Optimus в Linux

Теперь любую программу, которая должна использовать видеокарту NVIDIA, можно запустить командой вида:

Когда optirun не используется, то карта NVIDIA должна находиться в отключённом состоянии, что должно сберегать электричество.

Как проверить Bumblebee / NVIDIA Optimus в Linux

Запустите тест видеокарты обычной командой:


А также с помощью optirun:


Обратите внимание, что FPS вырос примерно в 20 раз.

Ещё один вариант теста работы видеокарты:


А также с помощью optirun:


Вы должны увидеть прирост производительности при использовании optirun.

Во время работы этих тестов, выполните команду:


Вы должны увидеть процессы, которые используют дискретную видеокарту.

Если у вас установлен веб-браузер Chromium, то запустите его двумя способами:

В обоих случаях откройте вкладку:

Там вы увидите информацию об используемом графическом чипе:



Заключение

Даже после написания этой инструкции, после того, как я разобрался во многих вопросах, всё ещё осталось много непонятного.

Например, как использовать постоянно только карту NVidia? Ниже я покажу что именно пробовал — абсолютно всё не сработало.

Также открыт вопрос, как установить Bumblebee в Debian и производные дистрибутивы? Все команды, которые я пробовал, приводят к чёрному экрану, либо неработоспособности Bumblebee.

БОНУС. Как сделать видеокарту NVidia используемой по умолчанию в Linux

В этом разделе я перечислил то, что у меня не сработало — поэтому можете пропускать этот раздел.

Предупреждение: если после указанных в этом разделе действий вы не можете загрузиться — появляется чёрный экран, то во время неудачной загрузки нажмите Ctrl+Alt+F*, где вместо звёздочки пробуйте указать разные цифры, например, Ctrl+Alt+F1, Ctrl+Alt+F2 и т. д., пока не появится консоль. Введите ваш логин и пароль и откатите изменения, которые привели к неудачной загрузке. Для удаления пакетов используйте стандартные менеджеры пакетов вашего дистрибутива, а для редактирования файлов в командной строке используйте vim или nano. Если вы не знакомы с vim или nano, то пропустите этот раздел!

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

Начните с проверки настроек БИОСа — там может быть возможность отключить одну из карт.

Для явного указания используемого драйвера можно создать файл /etc/X11/xorg.conf.d/20-nvidia.conf.

И скопировать в него примерно следующее:

Но у меня не происходит загрузка в графический интерфейс.

Если вы хотите отключить загрузку драйверов Intel, то создайте файл /etc/modprobe.d/blacklist-intel.conf:

И скопируйте в него примерно следующее (название модулей могут отличаться в зависимости от вашего центрального процессора):

Среди других советов встречаются добавить в опции загрузки ядра следующее:

Если у вас EFI (а не БИОС), то для изменения опций загрузки ядра нужно открыть файл вида /boot/loader/entries/*.conf. У меня этот файл называется /boot/loader/entries/arch.conf:

Также рекомендуют изменить файл /mkinitcpio.conf:

В котором вместо строки

нужно записать строку

Затем нужно пересобрать ядро, для этого в Debian и производных нужно выполнить команду:

Проблема в заголовке, если не в том разделе, извиняюсь. Стоит сказать, что в linux я новичок.

Пробовал следующее: lspci | grep VGA 00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)

xrandr --listproviders Providers: number : 1 Provider 0: id: 0x48 cap: 0x9, Source Output, Sink Offload crtcs: 4 outputs: 5 associated providers: 0 name:Intel

lshw *-generic описание: Unassigned class продукт: Illegal Vendor ID производитель: Illegal Vendor ID физический ID: 0 сведения о шине: pci@0000:01:00.0 версия: ff разрядность: 32 bits частота: 66MHz возможности: bus_master vga_palette cap_list rom кофигурация: driver=radeon latency=255 maxlatency=255 mingnt=255 ресурсы: IRQ:44 память:d0000000-d7ffffff память:d8600000-d863ffff ioport:3000(размер=256) память:d8640000-d865ffff *-display описание: VGA compatible controller продукт: 3rd Gen Core processor Graphics Controller производитель: Intel Corporation физический ID: 2 сведения о шине: pci@0000:00:02.0 версия: 09 разрядность: 64 bits частота: 33MHz возможности: vga_controller bus_master cap_list rom кофигурация: driver=i915 latency=0 ресурсы: IRQ:43 память:d8000000-d83fffff память:c0000000-cfffffff ioport:4000(размер=64)

На борту стоит интегрированная intel 400 + дискретная ati radeon hd8750. Моя проблема, изначально, заключалась в том, что не получалось включить дискретную видеокарту, драйвера свободные стоят, если ставлю проприетарные, то не запускается Х-сервер. Через биос невозможно отключить интегрированную, можно лишь дискретку (сейчас включена, но все равно не видно)

Собственно вопрос, что сделать, чтобы ее наконец заметил linux? =================================================== UPD: теперь такая картина xrandr --listproviders Providers: number : 3 Provider 0: id: 0x68 cap: 0x9, Source Output, Sink Offload crtcs: 4 outputs: 5 associated providers: 2 name:Intel Provider 1: id: 0x3f cap: 0x6, Sink Output, Source Offload crtcs: 0 outputs: 0 associated providers: 2 name:radeon Provider 2: id: 0x3f cap: 0x6, Sink Output, Source Offload crtcs: 0 outputs: 0 a


Дистрибутив какой? Версия ядра и иксов, а также драйвера интел. Драйвер amd в системе установлен? Какой драйвер предпочитаешь использовать - catalyst или опенсорс?

И да, у тебя случаем каталист не установлен?

Вроде как не установлен, но если подскажете как проверить, скажу более точно


Хм. Видимо не установлен, но попробуй в терминале выполнить:

dmesg | grep fglrx

lsmod | grep fglrx

Если ничего не выдаст - значит так и есть.

В таком случае странно, что у тебя не видит карту.

Ноутбук? Какая модель?


Посмотрел немного информации. Вот ссылка на вики арча.

В общем, получается так, что на данный момент не работает динамическое переключение между интел и амд на опенсорс драйвере, нужно допиливать X-ы под это.

Таким образом есть 3 варианта: пробовать проект бамблби для амд (ссылки после ATI Dynamic Switchable Graphics), пробовать проприетарный драйвер (в арче предлагается нестандартный драйвер, по всей видимости с какими-то патчами) или забыть про дискретную карту и пользоваться интегрированной, пока не появится нормальная поддержка такой схемы.

Если бы были обе карты amd - никаких проблем.


В общем, получается так, что на данный момент не работает динамическое переключение между интел и амд на опенсорс драйвере, нужно допиливать X-ы под это.

05 авг 2021, 16:18

Доброго времени. я перешёл с Windows (где Nvidia работает нормально) на Linux Debian 10, но не смог запустить видеокарту, по этому в отчаянии я перешёл на Mint в надежде, что тут всё само встанет, но столкнулся с очередными проблемами.
У меня ноутбук с видеокартой Nvidia 860M для которой в диспетчере драйверов я вижу nvidia-driver-470 (470.57.02-0ubuntu0.20.04.01).
Изначально (сразу после установки дистрибутива) у меня есть Nvidia Optimus, а в нём есть Настройки Nvidia, однако, при попытке их открыть я получаю пустой квадрат (маленькое окно без контента)

60Hz
OpenGL: renderer: Mesa DRI Intel HD Graphics 4600 (HSW GT2)
v: 4.5 Mesa 21.0.3 direct render: Yes
Audio:
Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio
driver: snd_hda_intel v: kernel bus ID: 00:03.0
Device-2: Intel 8 Series/C220 Series High Definition Audio vendor: ASUSTeK
driver: snd_hda_intel v: kernel bus ID: 00:1b.0
Sound Server: ALSA v: k5.4.0-80-generic
Network:
Device-1: Qualcomm Atheros AR9485 Wireless Network Adapter
vendor: AzureWave driver: ath9k v: kernel port: e000 bus ID: 04:00.0
IF: wlp4s0 state: up mac: <filter>
Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: ASUSTeK driver: r8169 v: kernel port: d000 bus ID: 05:00.1
IF: enp5s0f1 state: down mac: <filter>
Drives:
Local Storage: total: 447.13 GiB used: 60.65 GiB (13.6%)
ID-1: /dev/sda vendor: Western Digital model: WDS480G2G0A-00JH30
size: 447.13 GiB
Partition:
ID-1: / size: 190.87 GiB used: 12.07 GiB (6.3%) fs: ext4 dev: /dev/sda4
Sensors:
System Temperatures: cpu: 68.0 C mobo: N/A
Fan Speeds (RPM): cpu: 2400
Info:
Processes: 265 Uptime: 38m Memory: 7.66 GiB used: 2.32 GiB (30.2%)
Init: systemd runlevel: 5 Compilers: gcc: 9.3.0 Shell: bash v: 5.0.17
inxi: 3.0.38


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

Pinkierar , Конфликт железа с осью такое бывает, для начала необходимо удалить драйвера nvidia вот тема нашего форума , затем попробовал установить другое ядро, после установить драйвер nvidia, но начал я хотя бы с 460, на нашем форуме инфы море научитесь только пользоваться поиском, даже глобальный поиск часто приводит на наш форум.
С уважение Александр

Читайте также: