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

Введение в диагностику GPU в Linux

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

Современный Linux поддерживает широкий спектр оборудования, от старых NVIDIA карт до новейших AMD и Intel решений. Ошибки в настройке могут привести к тому, что система будет использовать встроенную графику вместо мощной дискретной карты, что критично для рендеринга и игр. Понимание того, как система видит ваше железо, является первым шагом к стабильной работе.

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

Базовые команды для идентификации оборудования

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

Введите следующую команду в терминале, чтобы получить список графических адаптеров:

lspci | grep -i vga

Если система видит несколько карт, список покажет все устройства, включая интегрированную графику процессора и дискретную видеокарту. Обратите внимание на название производителя, которое обычно указано в строке вывода, например, NVIDIA Corporation или Advanced Micro Devices.

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

lspci -k | grep -EA3 -i vga

Ключ -k показывает, какой драйвер ядро использует для каждого устройства. Если в строке «Kernel driver in use» пусто или указан драйвер vesa / nouveau (для NVIDIA), это может указывать на проблемы с установкой проприетарного ПО.

Иногда информация от lspci бывает недостаточно подробной для понимания точной модели. В таких случаях помогает утилита lshw, которая требует прав суперпользователя. Она позволяет увидеть подробную конфигурацию железа, включая объем VRAM (видеопамяти).

⚠️ Внимание: Команда lshw требует прав root. Если вы выполните её без sudo, вывод будет неполным, так как система ограничит доступ к чувствительным данным оборудования.

Выполните команду для получения полной информации о графических контроллерах:

sudo lshw -class display

В выводе вы найдете строку product с названием модели, vendor с производителем и, что важно, serial или configuration, где может быть указана текущая частота ядра.

Обратите внимание, что в некоторых дистрибутивах lshw может быть не установлена по умолчанию и требует установки через пакетный менеджер. Например, в Ubuntu или Debian это делается командой sudo apt install lshw, а в Fedorasudo dnf install lshw.

📊 Какая видеокарта установлена в вашей системе?
NVIDIA
AMD
Intel Integrated
Встроенная в CPU

Проверка драйверов и загрузок с помощью специализированных утилит

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

Если утилита nvidia-smi не найдена или выдает ошибку, значит, проприетарный драйвер либо не установлен, либо не загружен. В этом случае система может работать на базовом драйвере Nouveau, который часто не поддерживает современные функции CUDA и Ray Tracing. Для проверки списка загруженных модулей ядра используйте команду lsmod | grep nvidia.

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

Если вы используете гибридную графику (например, ноутбук с Intel и NVIDIA), вам может потребоваться проверить, какая именно карта отвечает за вывод изображения в текущий момент. Для этого в терминале можно использовать команду echo $XDG_SESSION_TYPE или проверить переменные окружения, но лучше воспользоваться графическими утилитами управления питанием.

☑️ Проверка корректности работы драйверов

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

Иногда после обновления системы модуль может не загрузиться автоматически из-за конфликтов с Secure Boot.

⚠️ Внимание: Если вы обновляли ядро Linux недавно, убедитесь, что драйвер NVIDIA был пересобран для новой версии. Иначе утилита nvidia-smi перестанет работать, даже если драйвер установлен в системе.

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

Мониторинг температуры и производительности в реальном времени

Зная модель карты, вы можете подключить инструменты мониторинга для оценки её поведения под нагрузкой. Температура является ключевым показателем здоровья системы охлаждения и правильного функционирования термопасты. Для NVIDIA достаточно запустить наблюдение за статусом, используя флаг --loop.

Выполните команду в терминале, чтобы обновлять информацию каждую секунду:

nvidia-smi -l 1

Это откроет живой мониторинг, где вы увидите GPU-Util (загрузку), Memory-Usage (использование памяти) и Temp (температуру). Если температура под нагрузкой превышает 80-85 градусов, стоит проверить вентиляторы.

Для карт AMD и Intel существует универсальная утилита radeontop или более современная powertop. Они позволяют увидеть не только общую температуру, но и загрузку конкретных блоков (GPU, 3D, Video). Это полезно для выявления узких мест в системе.

Существует также графический вариант мониторинга, который удобен для тех, кто не хочет постоянно смотреть в терминал. Утилита nvtop (аналог htop для видеокарт) поддерживает все основные бренды и показывает процессы, использующие GPU в списке, как процессы в диспетчере задач.

⚠️ Внимание: При мониторинге температуры убедитесь, что ваш датчик не показывает ошибочные значения. Иногда «-1» или «0» в поле температуры означает, что сенсор не инициализирован драйвером, а не то, что карта холодная.

Иногда пользователи сталкиваются с тем, что температура отображается корректно, но частоты не меняются при нагрузке. Это может указывать на проблему с управлением питанием (Power Management), когда карта не переходит в режим высокой производительности.

В таких случаях стоит проверить, включен ли режим высокой производительности в настройках драйвера. Для NVIDIA это можно сделать через панель управления, а для AMD — через утилиту radeontop или настройки профиля мощности в системе.

Таблица сравнения утилит для разных производителей

Для удобства выбора инструментария ниже представлена сводная таблица основных утилит, доступных в дистрибутивах Linux. Каждая из них решает свои задачи и имеет свои особенности использования.

Производитель Базовая команда Мониторинг Особенности
NVIDIA nvidia-smi nvidia-smi -l Показывает загрузку, память, температуру, процессы
AMD radeontop amdgpu_top Детальная статистика по блокам, требует проприетарных или Mesa драйверов
Intel intel_gpu_top intel_gpu_frequency Встроен в Mesa, показывает загрузку 3D и видео-ядра
Универсальное lspci nvtop Работает с любым оборудованием, показывает список всех GPU в системе

Выбор утилиты зависит от вашей цели: если нужно просто узнать модель, хватит lspci, а для глубокой диагностики проблем с перегревом или зависаниями лучше использовать nvidia-smi или nvtop.

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

Что такое режим TCC?|Режим TCC (Total Calculation Cluster) на картах NVIDIA отключает вывод изображения и позволяет использовать GPU только для вычислений. Это полезно для майнинга или рендеринга, но делает видеокарту невидимой для графического интерфейса.-->

Решение частых проблем и конфликтов

Одной из самых распространенных проблем в Linux является конфликт между открытыми и проприетарными драйверами. Система может автоматически загружать драйвер Nouveau вместо официального драйвера NVIDIA, из-за чего карта не будет работать на полную мощность.

Для решения этой проблемы необходимо добавить параметр ядра nvidia-drm.modeset=1 или заблокировать загрузку модуля nouveau в конфигурации загрузчика. Это делается через файл /etc/modprobe.d/blacklist.conf, куда добавляется строка blacklist nouveau.

Другая частая проблема — это некорректное определение видеопамяти. В выводе lspci может отображаться неверный объем VRAM, если драйвер не инициализирован корректно. В таком случае помогает полная переустановка драйвера с использованием официальных инструкций производителя.

Также стоит учитывать, что в некоторых случаях (особенно с ноутбуками) система может переключаться между видеокартами через технологии Optimus или Switchable Graphics. Для управления этим процессом в Linux используются утилиты типа nvidia-prime или prime-run.

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