Узнать информацию о видеокарте в 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 и видеопамяти в реальном времени
- 🔄 Тактовую частоту ядра и памяти
- 🌡️ Температуру (если поддерживается драйвером)
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) (программный рендеринг)
Чтобы проверить, реальная ли видеокарта:
- Выполните
lspci -nn | grep -i vgaи посмотрите на ID устройства. - Сравните с базой данных PCI ID: https://pci-ids.ucw.cz/.
- Если 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
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?
Попробуйте следующие шаги:
- Установите
fancontrolдля управления вентиляторами: - Для NVIDIA ограничьте тактовую частоту:
- Используйте открытые драйверы
nouveau(но это снизит производительность).
sudo apt install fancontrol
sudo pwmconfig
sudo nvidia-settings -a "[gpu:0]/GPUPowerMizerMode=1"
🎮 Можно ли в 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