Как определить видеокарту в Linux

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

Для полноценной диагностики необходимо понимать разницу между физическим идентификатором устройства, загруженным драйвером и текущим режимом работы графического процессора. В среде Linux, в отличие от Windows, нет единого графического окна, которое показывало бы все характеристики GPU в двух кликах, поэтому знание консольных инструментов становится критически важным навыком. Точное определение видеокарты является фундаментом для правильной установки проприетарных драйверов и настройки производительности.

Базовые методы идентификации через консоль

Самым надежным способом узнать модель подключенного графического адаптера является утилита lspci, которая выводит список всех периферийных устройств. Введите lspci | grep -i vga в терминале, чтобы отфильтровать только видеокарты. Этот метод работает даже в том случае, если графический интерфейс не запущен, что делает его незаменимым при диагностике на серверах или в режиме восстановления.

Если система настроена с использованием гибридной графики (например, ноутбук с процессором Intel и дискретной картой NVIDIA), простая команда может показать только встроенное решение. В таких случаях необходимо использовать флаг -k (kernel), который покажет, какой драйвер загружен для конкретного устройства. Команда lspci -k | grep -EA3 'VGA|3D' расшифрует не только модель, но и активный модуль ядра, что помогает понять, видит ли система дискретный чип.

Иногда названия, выдаваемые утилитой, могут выглядеть абстрактно, например, "VGA compatible controller: Device 1234". Это кодовое название производителя, которое требует расшифровки. Для получения полного названия бренда и модели используйте опцию -nn, которая отображает идентификаторы производителя и устройства (Vendor ID и Device ID), позволяя точно сопоставить их с базой данных PCI ID.

  • Используйте lspci -v для получения подробной информации о ресурсах (IRQ, память), выделенных под видеокарту.
  • Флаг -nn добавляет числовые идентификаторы, необходимые для поиска драйверов на специализированных форумах.
  • Комбинация lspci -k является лучшей для проверки, какой именно драйвер (nouveau, nvidia, amdgpu) в данный момент управляет устройством.
Команды для разных дистрибутивов

В Debian/Ubuntu/Mint используйте apt install pciutils, если утилита lspci не установлена. В Arch Linux пакет называется pciutils, в Fedora — pciutils также. В большинстве современных дистрибутивов утилита уже предустановлена по умолчанию.

Детальный анализ с помощью lshw и hwinfo

Инструмент lshw (List Hardware) предоставляет еще более глубокую детализацию, скрывая технические нюансы, которые могут быть упущены при работе с lspci. Для запуска этой команды требуются права суперпользователя, поэтому используйте sudo lshw -C display. Этот подход позволяет увидеть не только название модели, но и конфигурацию шины (PCI Express), версию BIOS видеокарты и текущую ширину полосы пропускания.

Особое внимание обратите на поле configuration в выводе утилиты, где указывается driver=. Это строка прямо скажет, какой драйвер активен. Если там написано driver=nouveau, а у вас карта от NVIDIA, это означает, что используется открытый драйвер, который может не поддерживать современные функции рендеринга или CUDA. Отсутствие драйвера приведет к тому, что строка будет пустой или будет указано UNCLAIMED.

Утилита hwinfo является альтернативой и часто используется в средах SUSE или Arch, предоставляя информацию в очень структурированном виде. Команда sudo hwinfo --gfxcard выведет список графических карт с указанием их расположения на шине, скорости шины и версии прошивки. Это особенно полезно при сборке кастомного ядра, когда нужно знать точный ID устройства для включения поддержки в конфигурации ядра.

☑️ Чек-лист проверки драйверов

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

⚠️ Внимание: Вывод команды lshw может быть очень длинным. Используйте перенаправление в файл (например, sudo lshw -C display > gpu_info.txt), чтобы сохранить результат для последующего анализа или отправки технической поддержке.

Проверка работы графического сервера и рендеринга

Знать модель видеокарты — это одно, но понимать, как именно она используется операционной системой для отрисовки интерфейса, — это другое. Утилита xrandr (X Resize and Rotate) показывает не только подключенные мониторы и поддерживаемые разрешения, но и в некоторых случаях указывает на используемый GPU. Однако для точного определения используйте команду lspci -v | grep -A 10 VGA или специализированные инструменты для проверки OpenGL.

Для проверки того, какой GPU используется для аппаратного ускорения, идеально подходит утилита glxinfo из пакета mesa-utils. Команда glxinfo | grep "OpenGL renderer" покажет, какой именно процессор выполняет рендеринг. Если вы видите модель встроенной графики (например, Intel UHD), а у вас установлена мощная дискретная карта, значит, система не переключается на нее автоматически, что критично для игр и 3D-приложений.

В современных системах с поддержкой Wayland стандартные утилиты X11 могут работать некорректно. В этом случае полагаться на xrandr или glxinfo рискованно. Используйте wlinfo или проверяйте переменные окружения, указывающие на использование Wayland. Для диагностики производительности в реальном времени отлично подходит nvtop для карт NVIDIA или radeontop для карт AMD, которые показывают загрузку GPU и память в динамике.

📊 Какую систему вы используете
Ubuntu/Mint
Arch/Manjaro
Fedora/Debian
Другая

Особенности работы с драйверами NVIDIA и AMD

Для владельцев видеокарт NVIDIA существует собственный набор утилит, который дает наиболее точную информацию о состоянии устройства. Команда nvidia-smi (NVIDIA System Management Interface) является стандартом де-факто для мониторинга и диагностики. Она показывает не только модель GPU, но и версию драйвера, версию CUDA, температуру, потребление энергии и список запущенных процессов, использующих видеопамять.

Если команда nvidia-smi не найдена, это верный признак того, что проприетарные драйверы не установлены или не загружены. В таком случае система использует открытый драйвер nouveau, который имеет ограничения в производительности и не поддерживает современные технологии NVIDIA. Для проверки наличия модуля ядра используйте lsmod | grep nvidia, если он отсутствует, драйвер не активен, несмотря на наличие карты в системе.

Для карт AMD ситуация несколько иная, так как поддержка в ядре Linux (драйверы amdgpu или radeon) часто встроена по умолчанию. Команда lspci покажет модель, но для получения детальной информации о загрузке и температуре используйте radeontop или radeontop -d. В новых ядрах информация о GPU AMD также доступна через cat /sys/class/drm/card*/device/, где можно прочитать файлы name, vendor и device.

⚠️ Внимание: Утилита nvidia-smi доступна только с проприетарными драйверами. Если вы используете открытые драйверы или работаете в среде Wayland без поддержки проприетарных модулей, эта команда не сработает.

Графические интерфейсы и альтернативные методы

Не всем пользователям удобно работать с командной строкой, поэтому современные дистрибутивы предлагают графические средства для просмотра информации о системе. Утилита Htop (в расширенном режиме) или специализированные приложения вроде CPU-X, Hardinfo или Neofetch могут отображать данные о GPU в удобном виде.

В среде GNOME можно использовать приложение GNOME System Monitor (Монитор системы), но оно часто показывает только загрузку процессора. Для детальной информации о видеокарте лучше установить GSmartControl (для дисков) или специализированные утилиты мониторинга, например, Psensor, который может отображать температуру и загрузку GPU, если установлены соответствующие датчики.

В KDE Plasma встроенный инструмент KSysGuard (Системный мониторинг) позволяет добавлять виджеты графиков, в том числе загрузку GPU. Это удобно для постоянного наблюдения за температурой и частотами в реальном времени. Также в настройках системы часто есть раздел "О системе", где может быть указана базовая информация о видеоадаптере, хотя она обычно менее детальна, чем консольные утилиты.

Таблица команд для быстрой диагностики

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

Цель проверки Команда Что показывает
Базовая идентификация карты lspci | grep -i vga Модель и вендора GPU
Проверка загруженного драйвера lspci -k | grep -A 3 -i vga Имя модуля ядра (драйвера)
Детали рендеринга OpenGL glxinfo | grep "OpenGL renderer" Активный рендерер (для игр/3D)
Мониторинг NVIDIA nvidia-smi Температуру, память, загрузку
Полная информация о железе sudo lshw -C display Все технические параметры

⚠️ Внимание: Если вы видите в выводе lspci только встроенную графику (Intel/AMD APU), но знаете, что у вас есть дискретная карта, проверьте правильность подключения кабеля монитора (он должен быть вставлен в слот видеокарты, а не в материнскую плату).

Решение распространенных проблем с определением GPU

Иногда система не видит видеокарту, несмотря на её физическое присутствие в слоте PCI Express. Это может быть связано с неправильной настройкой BIOS/UEFI, где отключена поддержка PCI-E или включен режим совместимости (CSM), который некорректно инициализирует современные карты. Также причиной может быть отсутствие необходимых модулей ядра, особенно если вы используете кастомное ядро или очень новую карту, не поддерживаемую текущей версией ядра.

Другой частой проблемой является конфликт драйверов. Например, наличие пакетов nvidia-driver-535 и открытого драйвера nouveau одновременно может привести к тому, что система не загрузит ни один из них, и карта будет определяться как "VGA compatible controller" без активного драйвера. Решение часто требует полной очистки repositories и переустановки драйверов с использованием ubuntu-drivers autoinstall или аналогичных инструментов.

В ноутбуках с переключением графики (Optimus у NVIDIA или Switchable Graphics у AMD) система может не переключаться на дискретную карту автоматически. Проверка через prime-select query (в Ubuntu) или nvidia-prime покажет текущий профиль. Если карта не определяется как активный рендерер, возможно, необходимо принудительно переключить её в режим "Performance" через настройки системы.

Что делать, если lspci не видит карту

1. Выключите ПК и переподсоедините карту в слот.|2. Проверьте BIOS на наличие включенного PCI-E.|3. Обновите ядро Linux до последней стабильной версии.|4. Попробуйте другой слот PCI-E, если материнская плата имеет несколько.

FAQ: Часто задаваемые вопросы

Как узнать, работает ли видеокарта на максимальной мощности?

Для этого используйте утилиты мониторинга, такие как nvidia-smi или radeontop, в сочетании с тестовым нагрузочным приложением (например, glmark2 или игра). Следите за частотой ядра (Core Clock) и потреблением энергии (Power Draw). Если частоты низкие, возможно, активирован режим энергосбережения.

Почему lspci показывает только встроенную графику?

Это может означать, что дискретная карта не распознана из-за физических проблем, отключена в BIOS, или драйверы не загружены. Проверьте, видна ли карта в lspci -v как устройство, но без драйвера (Kernel driver in use: none).

Как проверить версию драйвера NVIDIA в Linux?

Введите команду nvidia-smi. В правом верхнем углу вывода будет указана версия драйвера (например, Driver Version: 535.104.05). Также можно использовать modinfo nvidia | grep version.

Можно ли определить видеокарту без прав root?

Да, большинство базовых команд, таких как lspci, lshw (без sudo покажет только базовую информацию), glxinfo и free, работают без прав суперпользователя. Однако для доступа к деталям ядра и драйверов (например, lspci -k) часто требуются права root.