LinuxRuLinux без лишней теории
Графика в Linux

Как узнать видеодрайвер и модель видеокарты в Linux

Редакция LinuxRu7 мин чтенияИнструкции

Узнать видеокарту и драйвер в Linux быстрее всего командой lspci -k | grep -EA3 'VGA|3D|Display': в выводе будет модель и строка Kernel driver in use с активным драйвером. Дальше показано, как проверить, через что реально идёт отрисовка, какая карта работает в ноутбуке и что делать, если загружен не тот драйвер.

Как узнать видеодрайвер и модель видеокарты в Linux
Содержание
  1. Одна команда
  2. lspci
  3. Имена драйверов
  4. lshw и inxi
  5. Кто рисует
  6. Две видеокарты
  7. Программы
  8. Если драйвер не тот
  9. Частые вопросы

Самый быстрый способ: модель и драйвер одной командой

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

lspci -k | grep -EA3 'VGA|3D|Display'

В выводе ищите две строки. Первая с моделью, например VGA compatible controller: NVIDIA Corporation AD106 [GeForce RTX 4060 Ti]. Вторая начинается с Kernel driver in use и показывает работающий драйвер: nvidia, nouveau, amdgpu, i915 или xe. Строка Kernel modules перечисляет модули, которые в принципе подходят к устройству, но загружен из них только тот, что указан в in use.

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

lspci подробно и обновление базы PCI ID

Утилита lspci из пакета pciutils показывает все устройства на шине PCI и PCI Express, а видеокарты почти всегда подключены именно так. Подробный вывод по всем устройствам:

lspci -v

Чтобы не листать десятки устройств, отфильтруйте только видеоконтроллеры по классу и добавьте числовые идентификаторы производителя и модели:

lspci -nnk -d ::0300
lspci -nnk -d ::0302

Класс 0300 соответствует обычному VGA-контроллеру, 0302 используется для 3D-контроллеров, так часто выглядит дискретная карта NVIDIA в ноутбуке. Пара чисел в квадратных скобках вроде [10de:2803] пригодится, когда название не распознано: по ней модель ищется в базе или в списке поддерживаемых устройств драйвера.

Вывод команды lspci -v с информацией о видеокарте в терминале Linux
lspci -v: модель видеокарты, память и используемый драйвер ядра

Если вместо названия видно что-то вроде Device 7550, локальная база идентификаторов устарела, а карта вышла позже. В Debian и Ubuntu базу можно обновить из интернета:

sudo update-pciids

В Fedora и Arch база pci.ids поставляется пакетом hwdata и обновляется вместе с системой, поэтому достаточно обычного обновления пакетов. Свежая видеокарта со старой базой отображается безымянной, но на работу драйвера это не влияет.

Какой драйвер загружен и что означают имена

Список загруженных модулей ядра, связанных с графикой:

lsmod | grep -E 'nvidia|nouveau|amdgpu|radeon|i915|xe'

Версию конкретного модуля покажет modinfo:

modinfo -F version nvidia
modinfo -F version amdgpu

У драйверов из ядра (amdgpu, i915) версия часто пустая или совпадает с версией ядра, это нормально. Расшифровка имён:

Модуль ядраПроизводительЧто этоПользовательская часть
nvidiaNVIDIAфирменный драйвер, закрытые или открытые модули ядрабиблиотеки NVIDIA, утилита nvidia-smi
nouveauNVIDIAоткрытый драйвер из ядраMesa: nouveau (OpenGL), NVK (Vulkan)
amdgpuAMDосновной открытый драйвер для Radeon с GCN 1.2 и новееMesa: radeonsi (OpenGL), RADV (Vulkan)
radeonAMDстарый драйвер для карт до GCNMesa: r600 и старше
i915Intelвстроенная графика Intel и часть ArcMesa: iris (OpenGL), ANV (Vulkan)
xeIntelновый драйвер для Lunar Lake, Battlemage и новееMesa: iris, ANV

Для NVIDIA полезно знать, какой вариант модулей стоит. Это покажет файл версии:

cat /proc/driver/nvidia/version

Если в строке есть Open Kernel Module, работают открытые модули NVIDIA, которые теперь по умолчанию ставятся для карт поколения Turing (RTX 20, GTX 16) и новее. Как выбрать и поставить нужную ветку в Ubuntu, Fedora и Arch, разобрано в статье про драйвер NVIDIA.

lshw и inxi: сводка с подробностями

lshw показывает то, чего нет в lspci: ширину шины, частоту, адреса памяти и ресурсы. Нужен sudo, иначе часть полей будет пустой:

sudo lshw -C display

Вариант -c video из старой версии статьи тоже работает. В строке configuration ищите driver=, там указан активный драйвер.

Вывод sudo lshw -c video с параметрами видеокарты
lshw: шина, частота, память и драйвер видеокарты

Ещё удобнее inxi, который сводит модель, драйвер, версию Mesa или NVIDIA, тип сеанса и мониторы на один экран. Пакет так и называется inxi в apt, dnf и pacman:

inxi -G
inxi -Gxx

Режим -Gxx добавляет идентификаторы устройств, частоту обновления мониторов и сведения об API. Этот вывод удобно прикладывать к вопросу на форуме: в нём есть почти всё, что спросят в первом ответе. Короткую строку о видеокарте даёт и fastfetch, пришедший на смену заброшенному neofetch.

Через что идёт отрисовка: OpenGL, Vulkan и nvidia-smi

Драйвер ядра загружен, но это ещё не значит, что приложения рисуют через видеокарту. Проверяем пользовательскую часть. Для OpenGL нужна утилита glxinfo: в Debian, Ubuntu и Arch это пакет mesa-utils, в Fedora glx-utils.

glxinfo -B

Смотрите на OpenGL renderer string. Там должно быть имя вашей карты. Если видите llvmpipe, графика считается процессором программно, и рабочий стол будет тормозить.

Для Vulkan, который используют игры через Proton и DXVK, ставится пакет vulkan-tools:

vulkaninfo --summary

В списке устройств должна быть ваша видеокарта с драйвером RADV, ANV, NVK или NVIDIA. Если там только llvmpipe, Vulkan-драйвер для вашей карты не установлен. Это частая причина того, что игры не запускаются, подробнее в статье про Proton и Steam.

Владельцам NVIDIA с фирменным драйвером доступна nvidia-smi: версия драйвера, загрузка GPU, температура, занятая видеопамять и процессы, которые её используют. Если команда отвечает ошибкой о невозможности связаться с драйвером, модуль не загружен. Чаще всего виноват Secure Boot, решение описано в статье про подпись драйверов.

Две видеокарты в ноутбуке: какая работает сейчас

В ноутбуках обычно есть встроенная графика Intel или AMD и дискретная NVIDIA или Radeon. Рабочий стол работает на встроенной ради экономии батареи, а тяжёлые программы запускаются на дискретной по запросу.

Список GPU и способ запуска на каждом даёт служба switcheroo-control, она стоит по умолчанию в GNOME и KDE на многих дистрибутивах:

switcherooctl list

Проверить, на какой карте пойдёт приложение, можно так:

# встроенная графика
glxinfo -B | grep 'renderer'
# дискретная AMD или nouveau
DRI_PRIME=1 glxinfo -B | grep 'renderer'
# дискретная NVIDIA с фирменным драйвером
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo -B | grep 'renderer'

В Arch есть обёртка prime-run из пакета nvidia-prime, делающая то же, что последняя строка. В Ubuntu режим работы гибридной графики NVIDIA переключается утилитой prime-select, текущий режим показывает prime-select query. В KDE и GNOME проще всего щёлкнуть правой кнопкой по ярлыку программы и выбрать запуск на дискретной видеокарте. Подробности по разным схемам есть в разделе Hybrid graphics на ArchWiki.

Графические программы: Hardinfo2, KInfoCenter, параметры GNOME

Hardinfo2

Hardinfo, который мы советовали в 2021 году, давно не развивался. Сейчас его продолжает проект Hardinfo2: тот же интерфейс с разделами по оборудованию, плюс тесты производительности. В свежих Debian и Ubuntu пакет называется hardinfo2, в Arch он есть в AUR, для Fedora проверьте наличие командой dnf search hardinfo.

sudo apt install hardinfo2

Сведения о видеокарте в нём собраны в разделе Devices, Display и PCI Devices.

Окно Hardinfo со сведениями о видеокарте и мониторе
Hardinfo: раздел с данными о графике (скриншот старой версии)

KInfoCenter в KDE Plasma

В Plasma 6 программа называется Информация о системе. Модель видеокарты видна сразу на главной странице, а в разделе Графика есть отдельные вкладки OpenGL, Vulkan и Wayland с полным выводом glxinfo и vulkaninfo. Эти вкладки используют те же утилиты, поэтому если вкладка пустая, поставьте mesa-utils (glx-utils в Fedora) и vulkan-tools.

KInfoCenter в KDE Plasma со сведениями о системе и видеокарте
KInfoCenter: информация о видеокарте в KDE Plasma

GNOME

В GNOME откройте Параметры, раздел Система, затем О системе. В строке Графика указана модель, а в подробных сведениях видны обе карты на гибридном ноутбуке. Для детальной статистики в реальном времени подойдёт приложение Resources, в Ubuntu 26.04 оно заменило старый системный монитор.

Если стоит не тот драйвер: что проверить дальше

  • Kernel driver in use: nouveau, а вы ставили фирменный NVIDIA. Модуль nvidia не загрузился. Посмотрите sudo dmesg | grep -i nvidia: сообщения о Required key not available или отклонённой подписи означают проблему Secure Boot.
  • Никакого драйвера, в выводе только simpledrm или efifb. Система работает на простом кадровом буфере прошивки. Для AMD и Intel проверьте пакет прошивок (linux-firmware), для NVIDIA установите драйвер.
  • glxinfo показывает llvmpipe при загруженном драйвере. Не хватает библиотек Mesa или 32/64-битных компонентов NVIDIA. Обновите систему и переустановите пакеты драйвера.
  • Модель отображается как Device с номером. Устарела база PCI ID, см. раздел про update-pciids. Если карта совсем новая, а ядро старое, драйвер может её не знать: обновите ядро.
  • Мерцание или чёрный экран под Wayland. Драйвер работает, но конфликтует с композитором. Разбор типичных случаев в статье про Wayland.

Перед тем как просить помощи на форуме, соберите вывод lspci -nnk -d ::0300, inxi -Gxx и uname -r в один файл. Это три строки команд, но они сразу отвечают на вопросы о модели, драйвере и версии ядра, и вам не придётся ждать уточнений.

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

Частые вопросы

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

Выполните lspci | grep -E 'VGA|3D|Display'. Для подробной сводки подойдут inxi -G или sudo lshw -C display, в графике сведения есть в KInfoCenter и параметрах GNOME.

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

Команда lspci -k показывает строку Kernel driver in use для каждого устройства. Для проверки драйвера OpenGL используйте glxinfo -B, для Vulkan vulkaninfo --summary.

Что значит llvmpipe в glxinfo?

Графика считается процессором программно, драйвер видеокарты не используется приложениями. Проверьте установку Mesa или драйвера NVIDIA и загрузку модуля ядра.

Как узнать версию драйвера NVIDIA?

Запустите nvidia-smi или выполните cat /proc/driver/nvidia/version. Во втором случае видно и то, стоят ли открытые модули ядра.

Как понять, какая видеокарта работает в ноутбуке?

Сравните вывод glxinfo -B и DRI_PRIME=1 glxinfo -B, для NVIDIA используйте переменные PRIME render offload или prime-run. Список карт показывает switcherooctl list.

Документация и источники

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

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