Полное руководство: как посмотреть информацию о видеокарте в Linux

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

Для получения точных данных о состоянии GPU необходимо использовать специализированные утилиты, встроенные в стандартные дистрибутивы или устанавливаемые через пакетные менеджеры. От правильности интерпретации выводов команд nvidia-smi или radeontop зависит успешность дальнейшей оптимизации производительности и устранение проблем с видеовыходом.

Базовый вывод модели через lspci и lsusb

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

Введите команду lspci | grep -i vga в терминале, чтобы получить краткий список всех видеокарт в системе. Если у вас установлена гибридная графика, как часто бывает в ноутбуках, список может содержать несколько устройств: интегрированное решение (например, Intel UHD) и дискретную карту (например, NVIDIA GeForce или AMD Radeon). Наличие строки "Kernel driver in use" подтверждает, что драйвер успешно захватил устройство.

Для получения более детальной информации о конкретном слоте используйте флаг -vv или -v. Это позволит увидеть объем видеопамяти, если он передается через PCI, и текущие настройки ширинны шины PCIe. Иногда проблема заключается в том, что карта работает в режиме x1 вместо x16, что критично снижает производительность в задачах рендеринга.

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

После того как физическое устройство обнаружено, необходимо убедиться, что ядро Linux использует правильный модуль для работы с ним. Команда lsmod | grep -E 'nvidia|amdgpu|i915' покажет, какие именно модули загружены в данный момент. Для карт NVIDIA это может быть nvidia или nvidia_drm, а для AMDamdgpu или radeon.

Если вы видите, что модуль загружен, но графическая среда не работает, возможно, конфликтуют версии проприетарных и открытых драйверов. Утилита lspci -k покажет не только используемый драйвер, но и альтернативные модули, которые могли бы быть использованы («Kernel modules»). Это критически важно при переключении с открытого драйвера nouveau на проприетарный.

Для проверки версий ядра и совместимости с конкретным поколением видеокарт используйте команду uname -r. Некоторые старые карты требуют включения поддержки в конфигурации ядра, что можно проверить через cat /proc/driver/nvidia/version (для NVIDIA) или просмотром логов загрузки dmesg | grep -i gpu. Ошибки инициализации часто содержатся именно в этом логе.

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

⚠️ Внимание: Если команда lspci не видит видеокарту вовсе, это может указывать на физическую неисправность слота, отключение устройства в BIOS/UEFI или перегрев, вызвавший аварийное отключение чипа.

Проверка состояния NVIDIA-карт через nvidia-smi

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

Введите nvidia-smi в терминале. В верхней части вывода вы увидите модель карты (например, GeForce RTX 3080) и версию драйвера. Ниже отображается список запущенных процессов, использующих GPU. Если команда выдает ошибку "NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver", это означает, что драйвер не установлен или ядро обновилось без пересборки модулей.

Для получения подробной информации о состоянии памяти и температурных лимитах используйте флаг -q. Команда nvidia-smi -q выводит исчерпывающий отчет, включающий данные о BIOS, ECC-памяти и истории ошибок. Это незаменимый инструмент для серверов и рабочих станций, где важна стабильность вычислений.

nvidia-smi -q | grep -A 5 "GPU Current Temp"

Особое внимание уделите разделу "Power Draw", показывающему текущее энергопотребление. Если значение значительно ниже номинального при нагрузке, возможно, карта не получает достаточного питания или находится в режиме энергосбережения.

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

Анализ AMD и Intel GPU с помощью glxinfo и radeontop

Для карт AMD и Intel основной информацией о поддерживаемых функциях OpenGL и Vulkan служит утилита glxinfo из пакета `mesa-utils`. Установка этого пакета позволяет увидеть версию реализованного стандарта и строку рендерера. Запустите команду glxinfo | grep "OpenGL renderer", чтобы узнать, какой драйвер фактически обрабатывает графику.

Если вы видите строку, содержащую название вашей модели (например, Radeon RX 6700 XT или Intel Iris Xe) вместо "llvmpipe" или "software rasterizer", значит, аппаратное ускорение работает корректно. Статус "llvmpipe" означает, что рендеринг выполняется процессором в программном режиме, что делает систему крайне медленной.

Для мониторинга нагрузки на карты AMD отлично подходит утилита radeontop. Она показывает загрузку шейдеров, текстур, ROP и текущую частоту GPU в реальном времени. Некоторые версии также отображают потребление энергии. Для работы требуется права суперпользователя: sudo radeontop.

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

☑️ Проверка аппаратного ускорения

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

Сравнение методов диагностики и их возможности

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

Утилита Применимость Ключевая информация Требования
lspci Все (NVIDIA, AMD, Intel) Модель, ID, слот, загруженный модуль Стандартный пакет
nvidia-smi Только NVIDIA Температура, память, частоты, процессы Проприетарный драйвер
glxinfo Все (через Mesa) Версия OpenGL, рендерер, возможности Пакет mesa-utils
radeontop Только AMD Загрузка блоков GPU, частоты Установка через пакетный менеджер
hwinfo --gfxcard Все Детальная информация о железе Пакет hwinfo

Анализ таблицы показывает, что lspci является универсальным инструментом первичной диагностики, тогда как специализированные утилиты дают более глубокое понимание состояния системы. Для владельцев NVIDIA критически важно наличие проприетарного драйвера для получения полной картины через nvidia-smi.

При использовании гибридных систем (ноутбуков) необходимо помнить, что lspci покажет обе карты, но текущая активная карта может меняться в зависимости от настроек управления питанием. В таких случаях полезно использовать prime-select или аналогичные утилиты для переключения режимов работы.

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

Если ядро обновилось, а модуль драйвера не пересобрался, система может не видеть карту. Решение: переустановить драйвер или использовать DKMS для автоматической пересборки модулей при обновлении ядра.

Мониторинг в реальном времени и графические утилиты

Хотя командная строка эффективна, иногда требуется визуальное представление данных. Утилиты вроде nvtop (аналог htop для видеокарт) поддерживают карты от NVIDIA, AMD и Intel, показывая загрузку, использование памяти и список процессов в удобном терминальном интерфейсе. Это идеальный выбор для мониторинга серверов или при отладке обучения нейросетей.

Для графического интерфейса (GUI) существуют приложения, такие как GreenWithEnvy (только NVIDIA) или CoreCtrl (AMD). Они позволяют не только смотреть информацию, но и менять частоты, вентиляторы и параметры напряжения. Однако использование таких инструментов требует осторожности, так как неправильные настройки могут привести к нестабильности работы.

Важно регулярно проверять температуру и частоты под нагрузкой, так как троттлинг (снижение частоты из-за перегрева) часто остается незамеченным без мониторинга. Команда nvidia-smi -l 1 обновляет данные каждую секунду, позволяя отследить динамику изменения показателей во время тестов.

⚠️ Внимание: Чрезмерный разгон или изменение напряжения через сторонние утилиты без должного охлаждения может привести к необратимому повреждению видеокарты и потере гарантии.

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

Если lspci видит карту, но драйвер не загружается, проверьте наличие конфликтов модулей. Часто причиной является наличие нескольких версий драйверов или конфликт между открытым и проприетарным ПО. Используйте команду modprobe -r <имя_модуля> для выгрузки модуля и modprobe <имя_модуля> для повторной загрузки с очисткой состояния.

В случае с картами NVIDIA на ноутбуках с технологией Optimus, проблема может заключаться в неправильной конфигурации переключения. Убедитесь, что в BIOS включен режим работы дискретной графики или настроен правильный режим переключения в Linux (например, через Bumblebee или Prime). Ошибка "Failed to initialize the NVIDIA kernel module" часто указывает на несоответствие версии драйвера версии ядра.

Для карт AMD на старом оборудовании может потребоваться ядро с поддержкой устаревших архитектур. Убедитесь, что ваш дистрибутив использует достаточно свежее ядро, либо установите LTS-версию ядра, если требуется специфическая поддержка. Иногда помогает принудительная загрузка модуля amdgpu через файл конфигурации /etc/modules-load.d/.

Заключительные рекомендации по диагностике

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

Используйте комбинацию утилит: lspci для аппаратного уровня, nvidia-smi или radeontop для мониторинга, и glxinfo для проверки графических API. Такой комплексный подход гарантирует, что вы получите полную картину о состоянии своего оборудования и сможете оперативно реагировать на любые изменения.

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

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

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

Почему glxinfo показывает llvmpipe вместо реальной карты?

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

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

Да, во многих случаях можно обновить модули ядра и перезапустить графический сервер (X11 или Wayland) без полной перезагрузки системы. Однако для проприетарных драйверов NVIDIA часто требуется перезагрузка для полной инициализации нового модуля ядра.

Как проверить, работает ли видеокарта на полной скорости PCIe?

Используйте команду lspci -vv | grep -i "lnksta". Строка "LnkSta" показывает текущую скорость (Speed) и ширину шины (Width). Сравните их с максимальными значениями (Max) из строки "LnkCap". Если Speed или Width ниже Max, возможно, есть проблема с контактом или настройками BIOS.