Полная диагностика графического ускорителя в системе Ubuntu

Если система не показывает ожидаемую производительность в Nvidia-smi или экран тормозит при запуске оконных эффектов, проблема часто кроется в том, что Ubuntu использует встроенное ядро вместо дискретного адаптера. Точная идентификация активного графического процессора становится критической задачей для настройки драйверов и корректной работы 3D-ускорения. Пользователи часто путают физическое наличие устройства с его программной активностью, что приводит к ошибкам компиляции шейдеров или падениям в играх.

В операционной системе Linux процесс определения оборудования отличается от привычного графического интерфейса Windows, требуя работы с терминалом для получения детальной информации. Графический стек Ubuntu может скрывать детали, если не установлены проприетарные модули, поэтому базовые утилиты lspci и lshw становятся первичным инструментом диагностики. Понимание того, какой именно чип отвечает за вывод изображения на текущий момент, позволяет избежать конфликтов между Open Source и проприетарными решениями.

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

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

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

lspci | grep -i vga

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

lspci -k | grep -A 3 -i vga

Этот вариант покажет не только модель, но и используемый драйвер (Kernel driver in use), что является ключевым моментом для понимания, какая карта работает активно.

Для получения более детальной информации о каждом устройстве, включая ID вендора и продукта, используйте флаг -nn. Это особенно важно при поиске совместимости драйверов на специализированных форумах. Результат команды покажет строки вида 01:00.0 VGA compatible controller: NVIDIA Corporation..., где цифры обозначают слот, а текст после двоеточия — точную модель устройства.

Определение активного драйвера и модулей ядра

Наличие видеокарты в списке lspci не гарантирует, что система использует её для рендеринга. Часто Ubuntu по умолчанию загружает универсальный драйвер Nouveau для карт NVIDIA или amdgpu для AMD, который может не обеспечивать полную производительность. Проверка загруженных модулей ядра позволяет подтвердить, какой программный уровень управляет железом.

Команда lsmod | grep -E 'nvidia|amdgpu|i915' покажет, какие драйверы загружены в текущую сессию. Если вы видите nvidia, значит проприетарный драйвер активен. Если же вы видите только nouveau, система работает в режиме совместимости без аппаратного ускорения 3D. Модули ядра — это программные компоненты, которые напрямую взаимодействуют с оборудованием, и их статус критичен для работы.

Для проверки версии ядра и его поддержки видеоадаптеров можно использовать утилиту uname -r, но более информативным будет вывод команды dkms status. Этот инструмент показывает статус модулей, скомпилированных для текущего ядра, демонстрируя, успешно ли установлены драйверы после обновления системы. Если модуль не скомпилирован, карта будет работать в базовом режиме.

⚠️ Внимание: Если вы видите драйвер Nouveau вместо официального NVIDIA, это не ошибка, а стандартное поведение для свежего релиза Ubuntu. Однако для игр и рендеринга необходимо установить проприетарное ПО через «Программы и обновления».

Иногда драйвер загружается, но не инициализирует корректно графический конвейер. В таких случаях помогает проверка логов ядра с помощью команды dmesg | grep -i gpu. Здесь можно увидеть ошибки инициализации, если карта не получает достаточного питания или имеет конфликт прерываний. Журнал ядра — это первичный источник истины при диагностике аппаратных сбоев.

📊 Какая видеокарта установлена в вашей системе?
NVIDIA (Propritory)
NVIDIA (Nouveau)
AMD Radeon
Intel Integrated

Детальный анализ через утилиты lshw и hwinfo

Утилита lshw (list hardware) предоставляет наиболее полную информацию о конфигурации системы, включая сведения о памяти видеокарты и интерфейсах вывода. Для получения детального отчета по видеоподсистеме выполните команду с правами суперпользователя:

sudo lshw -C display

Результат покажет не только название модели, но и объем видеопамяти (memory), ширину шины (width) и текущий драйвер (driver). Это позволяет убедиться, что система видит правильный объем VRAM, что критично для работы с тяжелыми текстурами.

Если утилита lshw установлена не была, её можно доустановить через пакетный менеджер sudo apt install lshw. В отличие от lspci, она выводит информацию в виде иерархической структуры, что удобно для анализа зависимостей. Обратите внимание на строку product и vendor — они дают точное название производителя и устройства.

Для более глубокого анализа, особенно на серверных конфигурациях, можно использовать утилиту hwinfo. Она требует установки пакета sudo apt install hwinfo и позволяет получить информацию даже о встроенных контроллерах, которые могут быть скрыты в стандартных списках. Информация от этой команды часто используется системными администраторами для аудита оборудования.

☑️ Проверка конфигурации GPU

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

Проверка аппаратного ускорения и поддержки OpenGL

Даже если система видит карту и драйвер загружен, это не гарантирует, что аппаратное ускорение функционирует корректно. Для проверки поддержки OpenGL и информации о рендерере используется утилита glxinfo, входящая в пакет mesa-utils. Если пакет не установлен, выполните:

sudo apt install mesa-utils

Затем запустите проверку:

glxinfo | grep "OpenGL renderer"

Вывод должен содержать название вашей дискретной видеокарты. Если там написано llvmpipe или softpipe, значит, рендеринг идет через процессор, и видеокарта не используется.

Для современных систем с поддержкой Vulkan (важно для игр и нейросетей) используйте утилиту vulkaninfo или glxinfo с флагом -B для получения краткого отчета о доступных API. Это позволяет быстро оценить, готова ли система к запуску современных приложений. Vulkan и OpenGL — это основные API для работы с графикой в Linux.

Важно отметить, что для гибридных систем (ноутбуки с Intel + NVIDIA) результат может зависеть от того, какой профиль активен. Команда prime-select query покажет текущий режим работы: on-demand, integrated или discrete. Гибридная графика требует явного переключения профилей для корректной работы тяжелых приложений.

Сравнение методов диагностики и выбор инструмента

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

Ниже приведена таблица сравнения основных команд для проверки видеокарты в Ubuntu:

Команда Основное назначение Требует root Для какой карты подходит
lspci -k Физическое наличие и загруженный драйвер Нет Все (NVIDIA, AMD, Intel)
nvidia-smi Загрузка GPU, температура, память Нет Только NVIDIA (с драйвером)
radeontop Мониторинг загрузки AMD GPU Да Только AMD
glxinfo Поддержка OpenGL и рендерера Нет Все (проверка ускорения)
lshw -C display Детальная конфигурация (VRAM, шина) Да Все (полный отчет)

⚠️ Внимание: Утилита nvidia-smi не будет работать, если установлен только драйвер Nouveau. Она доступна только при наличии проприетарных драйверов NVIDIA версии 390 и новее.

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

Дополнительные команды для продвинутых пользователей

Для старых карт NVIDIA (GeForce 700/800/900) может потребоваться переключение на legacy-драйверы. Проверьте доступность через «Программы и обновления» -> «Дополнительные драйверы».

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

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

nvidia-smi

Для карт AMD ситуация сложнее, так как единой утилиты уровня nvidia-smi долгое время не было. Однако современные карты поддерживают мониторинг через radeontop или новые версии rocm-smi. Установите radeontop и запустите её с правами суперпользователя для получения графика загрузки:

sudo radeontop

Это покажет загрузку различных блоков ядра (CU, ROP, Texture). Для встроенной графики Intel можно использовать intel_gpu_top из пакета intel-gpu-tools. Эти инструменты позволяют отследить, используется ли карта при фоновых задачах или она простаивает. Температура и загрузка — главные индикаторы здоровья системы.

Решение проблем с гибридной графикой

Современные ноутбуки часто оснащаются двумя видеокартами: встроенной Intel/AMD для экономии энергии и дискретной NVIDIA для производительности. В Ubuntu выбор карты для конкретного приложения осуществляется через prime-select. Если вы не видите дискретную карту в списке, возможно, драйвер не загружен или BIOS блокирует переключение.

Команда prime-select query покажет текущий режим. Для принудительного запуска приложения на дискретной карте можно использовать графический интерфейс «Настройки» -> «Видеокарты» или командную строку:

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo | grep "OpenGL renderer"

Это гарантирует, что рендеринг будет выполнен именно мощным чипом, а не энергоэффективным встроенным. Гибридная графика требует правильной настройки переменных окружения.

Иногда система не видит вторую карту из-за настроек BIOS/UEFI (режим Optimus или Hybrid Graphics). Попробуйте переключить режим в BIOS на «Discrete» или «Hybrid», если такая опция доступна. Также проверьте, не отключена ли карта через rfkill или настройки энергосбережения. Настройки BIOS могут блокировать доступ к оборудованию на уровне железа.

⚠️ Внимание: Изменение режима работы видеокарты в BIOS может потребовать переустановки драйверов или сброса настроек графической подсистемы в Ubuntu. Делайте резервную копию важных данных перед изменением настроек BIOS.

Если после всех манипуляций карта не определяется, проверьте, не отключена ли она через lspci -v (строка "Kernel driver in use" должна быть заполнена). В редких случаях помогает пересоздание конфигурационных файлов в /etc/modprobe.d/. Конфигурация ядра может блокировать загрузку модулей, если есть конфликты версий.

Почему nvidia-smi показывает пустую таблицу?

Если команда nvidia-smi запускается, но не показывает список карт, это может означать, что драйвер установлен, но не загружен. Попробуйте перезагрузить систему или вручную загрузить модуль командой sudo modprobe nvidia. Также проверьте, не заблокирован ли доступ к устройству через SELinux или AppArmor.

Как проверить, работает ли карта в режиме x16 или x8?

Используйте команду lspci -tv или lspci -vv | grep -i vga. В строке LnkSta будет указано текущее состояние скорости (Speed) и ширины шины (Width). Если там x8 вместо x16, возможно, физический разъем или кабели повреждены, или карта работает в пониженном режиме энергосбережения.

Что делать, если система видит карту, но нет вывода изображения?

Это может означать, что карта работает, но не подключена к видеовыходу физически (например, на ноутбуках с Optimus). Или же драйвер не инициализировал видеовыход. Попробуйте обновить ядро или установить драйвер из PPA (например, graphics-drivers), так как стандартные репозитории Ubuntu могут содержать устаревшие версии.