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

Узнать информацию о видеокарте в Linux можно десятком способов — от простых команд в терминале до специализированных утилит с подробной диагностикой. Но почему этот вопрос вызывает столько сложностей у пользователей? Дело в разнообразии дистрибутивов, версий ядра и типов графических адаптеров: интегрированные Intel HD Graphics, дискретные NVIDIA GeForce или AMD Radeon требуют разных подходов. Например, команда lspci покажет модель любого GPU, но не расскажет о текущем драйвере, а nvidia-smi работает только с проприетарными драйверами NVIDIA.

В этой статье мы разберём 7 рабочих методов — от базовых до продвинутых, включая анализ температуры, поддерживаемые разрешения и даже тесты производительности. Вы узнаете, как отличать физическую видеокарту от виртуальной (например, в облачных серверах), почему glxinfo может не работать без установленных Mesa-драйверов, и как проверить совместимость с Vulkan. А в конце — FAQ с ответами на типичные ошибки вроде «команда не найдена» или «видеокарта не определяется».

1. Базовый метод: команда lspci для всех дистрибутивов

Команда lspci — это универсальный инструмент для просмотра всех PCI-устройств, включая видеокарты. Она работает во всех дистрибутивах (Ubuntu, Fedora, Arch Linux и др.) без установки дополнительных пакетов. Чтобы увидеть только графические адаптеры, используйте фильтр:

lspci -v | grep -A 12 -i "vga\|3d"

В выводе вы найдёте:

  • 🔹 Модель видеокарты (например, NVIDIA Corporation GA106 [GeForce RTX 3060])
  • 🔹 Производитель (NVIDIA, AMD/ATI, Intel)
  • 🔹 ID устройства (нужно для поиска драйверов)
  • 🔹 Тип подключения (PCIe x16, интегрированная графика)

Если вывод слишком подробный, упростите команду:

lspci | grep -i vga

Этот метод покажет все видеокарты в системе, включая встроенные (например, Intel UHD Graphics 620 в ноутбуках). Но он не даёт информации о драйверах или текущем состоянии GPU.

2. Продвинутая диагностика: glxinfo и OpenGL

Утилита glxinfo (из пакета mesa-utils) показывает детальную информацию о рендерере OpenGL, включая:

  • 🖥️ Название рендера (например, NVIDIA GeForce RTX 3070/PCIe/SSE2)
  • 📊 Версию OpenGL и поддерживаемые расширения
  • 🔧 Текущий драйвер (например, NVIDIA 535.86.05)
  • 🎨 Максимальное разрешение и цветовую глубину

Запустите команду:

glxinfo | grep -i "renderer\|version\|vendor"

Пример вывода для AMD Radeon RX 6700 XT:


OpenGL renderer string: AMD Radeon RX 6700 XT (navi22, LLVM 15.0.7, DRM 3.49, 6.2.0-32-generic)

OpenGL version string: 4.6 (Compatibility Profile) Mesa 23.0.4-0ubuntu1~22.04.1

Если glxinfo не установлен, выполните:

sudo apt install mesa-utils  # Debian/Ubuntu

sudo dnf install mesa-utils # Fedora

⚠️ Внимание: На серверах без GUI или в облачных инстансах (например, AWS) glxinfo может вернуть ошибку Error: unable to open display. В этом случае используйте методы из раздела 4.

3. Специфичные утилиты для NVIDIA и AMD

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

Для NVIDIA: nvidia-smi

Команда показывает:

  • 🔥 Температуру GPU и потребление энергии
  • 🖼️ Используемую видеопамять (например, 12288MiB / 12288MiB)
  • 🔄 Версию драйвера и CUDA
  • 🛠️ Процессы, использующие GPU (полезно для майнинга или рендеринга)
nvidia-smi

Если команда не найдена, установите проприетарные драйверы NVIDIA:

sudo ubuntu-drivers autoinstall  # Ubuntu/Debian

sudo dnf install akmod-nvidia # Fedora

Для AMD: rocm-smi или radeontop

AMD предлагает rocm-smi (для профессиональных карт) или утилиту radeontop для мониторинга:

sudo apt install radeontop  # Установка

sudo radeontop # Запуск

Вывод включает:

  • 📈 Загрузку GPU и видеопамяти в реальном времени
  • 🔄 Тактовую частоту ядра и памяти
  • 🌡️ Температуру (если поддерживается драйвером)
📊 Какую видеокарту вы используете в Linux?
NVIDIA
AMD
Intel
Другое

4. Проверка видеокарты в графическом интерфейсе (GUI)

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

GNOME (Ubuntu, Fedora, Debian)

Откройте Параметры → О системе. В разделе Графика будет указана модель видеокарты и драйвер. Например:

  • 🖥️ NVIDIA Corporation GP106 [GeForce GTX 1060 6GB]
  • 🔧 Драйвер: NVIDIA driver metapackage from nvidia-driver-535

KDE Plasma

Перейдите в Настройки системы → Информация о системе → PCI-устройства. Здесь отображаются все устройства, включая GPU.

Hardinfo (универсальная утилита)

Установите hardinfo для детального отчёта:

sudo apt install hardinfo  # Ubuntu/Debian

hardinfo

В разделе Устройства → PCI найдёте:

  • 🔹 Полное название видеокарты
  • 🔹 ID производителя и устройства
  • 🔹 Поддерживаемые режимы (например, UEFI VGA)

5. Проверка поддержки Vulkan и DirectX (для геймеров)

Если вы используете Linux для игр или 3D-рендеринга, важно знать, поддерживает ли ваша видеокарта Vulkan (альтернатива DirectX в Windows). Для проверки:

vulkaninfo | grep "GPU id"

Если vulkaninfo не установлен:

sudo apt install vulkan-tools

Пример вывода для Intel Arc A770:


GPU id : 0 (Intel(R) Arc(TM) A770 Graphics)

Для тестирования производительности Vulkan используйте:

glmark2 --benchmark=vulkan
⚠️ Внимание: Некоторые игры (например, Dota 2 или CS2) требуют конкретных версий Vulkan. Если vulkaninfo возвращает ошибку, обновите драйверы или установите пакет libvulkan1.

6. Анализ температуры и производительности

Перегрев видеокарты — частая проблема в Linux, особенно при использовании проприетарных драйверов NVIDIA. Для мониторинга используйте:

Утилита sensors (lm-sensors)

Показывает температуру GPU, CPU и других компонентов:

sudo apt install lm-sensors

sensors

Пример вывода для NVIDIA RTX 4090:


nvme-pci-0100

Adapter: PCI adapter

temp1: +52.0°C (crit = +94.0°C, hyst = +89.0°C)

Stress-тест с glxgears или Unigine Heaven

Для проверки стабильности запустите:

glxgears

Или установите Unigine Heaven Benchmark для продвинутого тестирования:

wget https://benchmarks.ul.com/help/download/heaven-linux

chmod +x heaven-linux

./heaven-linux

Что делать если температура GPU выше 90°C?

1. Проверьте систему охлаждения (пыль, термопаста).

2. Уменьшите тактовую частоту через coolbits (для NVIDIA).

3. Переключитесь на открытые драйверы nouveau (но это снизит производительность).

4. Используйте fancontrol для ручного управления вентиляторами.

7. Проверка видеокарты в виртуальных машинах и облаке

В виртуальных средах (VirtualBox, VMware, AWS) или контейнерах (Docker) физическая видеокарта может не определяться. Вместо неё вы увидите виртуальный адаптер, например:

  • 🖥️ VMware SVGA II Adapter
  • 🖥️ VirtualBox Graphics Adapter
  • 🖥️ llvmpipe (LLVM) (программный рендеринг)

Чтобы проверить, реальная ли видеокарта:

  1. Выполните lspci -nn | grep -i vga и посмотрите на ID устройства.
  2. Сравните с базой данных PCI ID: https://pci-ids.ucw.cz/.
  3. Если ID начинается с 10de (NVIDIA), 1002 (AMD) или 8086 (Intel) — это физический GPU.

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

  • 🔹 Поддержка IOMMU в BIOS (включите VT-d или AMD-Vi).
  • 🔹 Конфигурация vfio-pci в ядре Linux.
  • 🔹 Отключение драйверов хост-системы для целевой карты.
⚠️ Внимание: В облачных сервисах (AWS, Google Cloud) физические GPU (например, NVIDIA T4) отображаются как виртуальные устройства. Используйте команды поставщика, например nvidia-smi в AWS с драйверами GRID.
Метод Что показывает Требуемые пакеты Подходит для
lspci Модель, производитель, PCI ID pciutils Все дистрибутивы
glxinfo OpenGL рендер, драйвер, расширения mesa-utils GUI-системы
nvidia-smi Температура, загрузка, процессы Драйверы NVIDIA NVIDIA GPU
radeontop Такты, загрузка, память radeontop AMD GPU
vulkaninfo Поддержка Vulkan, версии vulkan-tools Геймеры, 3D-рендеринг

☑️ Диагностика видеокарты в Linux

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

FAQ: Частые вопросы и ошибки

🔍 Почему lspci показывает видеокарту, но glxinfo нет?

Это означает, что драйвер для OpenGL не установлен или не загружен. Установите пакет mesa-utils и проверьте, загружен ли модуль ядра для вашего GPU:

lsmod | grep -i "amdgpu\|nvidia\|i915"

Для NVIDIA может потребоваться переключение на проприетарные драйверы:

sudo prime-select nvidia
❌ Команда nvidia-smi не найдена. Что делать?

Это означает, что проприетарные драйверы NVIDIA не установлены. В Ubuntu/Debian выполните:

sudo ubuntu-drivers autoinstall

sudo reboot

Для других дистрибутивов скачайте драйвер с сайта NVIDIA и установите вручную:

sudo sh ./NVIDIA-Linux-x86_64-535.86.05.run
🌡️ Как снизить температуру видеокарты в Linux?

Попробуйте следующие шаги:

  1. Установите fancontrol для управления вентиляторами:
  2. sudo apt install fancontrol
    

    sudo pwmconfig

  3. Для NVIDIA ограничьте тактовую частоту:
  4. sudo nvidia-settings -a "[gpu:0]/GPUPowerMizerMode=1"
  5. Используйте открытые драйверы nouveau (но это снизит производительность).
🎮 Можно ли в Linux играть в игры, требующие DirectX?

Да, с помощью:

  • 🔹 Proton (встроен в Steam) — перевод вызовов DirectX в Vulkan.
  • 🔹 Wine/DXVK — для запуска Windows-игр.
  • 🔹 Lutris — менеджер игр с предконфигурированными настройками.

Проверьте поддержку вашей видеокарты на ProtonDB.

🖥️ Как передать видеокарту в Docker-контейнер?

Используйте флаг --gpus all (требуется Docker 19.03+ и драйверы NVIDIA):

docker run --gpus all -it ubuntu nvidia-smi

Для AMD или Intel GPU настройте device passthrough вручную:

docker run --device /dev/dri:/dev/dri -it ubuntu glxinfo