Определение аппаратного обеспечения и версий программного обеспечения является фундаментальным шагом при настройке или устранении неполадок графических систем в среде Linux. В отличие от графических интерфейсов Windows, где информация часто доступна в «Диспетчере устройств», командная строка предоставляет более точные и детализированные данные о состоянии вашего GPU.
Многие пользователи сталкиваются с необходимостью узнать модель видеокарты для установки корректных проприетарных драйверов или проверки поддержки открытых библиотек. Неправильное определение версии оборудования может привести к отсутствию аппаратного ускорения или нестабильной работе графического интерфейса.
В этой статье мы разберем универсальные методы, а также специфические подходы для видеокарт производителей NVIDIA, AMD и Intel. Вы научитесь использовать стандартные утилиты терминала, чтобы получить исчерпывающую информацию о вашей графической системе.
Базовый метод через команду lspci
Самым надежным и универсальным способом получения информации о любом оборудовании в системах Linux является команда lspci. Она отображает список всех устройств, подключенных к шине PCI, что делает её идеальной для обнаружения видеокарт, независимо от того, установлены ли на них драйверы.
Для поиска видеоадаптера необходимо использовать фильтр вывода через утилиту grep. Введите в терминале следующую команду, чтобы отобразить только строки, содержащие упоминание о VGA или 3D-устройствах:
lspci | grep -E "VGA|3D"
В результате вы увидите строку, содержащую вендора (например, NVIDIA Corporation или Advanced Micro Devices) и модель чипа. Обратите внимание на то, что эта команда показывает аппаратную ревизию, но не версию установленного драйвера.
Иногда вывод может быть слишком кратким. Чтобы получить более детальную информацию, включая версию драйвера ядра (kernel driver in use), добавьте флаг -k.
lspci -k | grep -EA3 "VGA|3D"
Этот расширенный вывод покажет не только модель, но и текущий драйвер, который управляет устройством, а также альтернативные драйверы, доступные в системе. Это критически важно для диагностики проблем с загрузкой модулей ядра.
Диагностика видеоподсистемы и утилиты lspci
Если стандартного вывода недостаточно, можно использовать флага -v (verbose) или -vv (less verbose) для получения подробных технических характеристик. Это особенно полезно при определении уровня поддержки стандартов PCI Express и версий BIOS.
Для получения полной картины состояния системы рекомендуется использовать комбинацию команд, которая покажет не только модель, но и статус устройства.
sudo lspci -vvv -s $(lspci | grep -i vga | awk '{print $1}')
Эта сложная команда автоматически находит идентификатор видеокарты и выводит о ней максимально подробную информацию. В том числе здесь можно увидеть, какие ресурсы (IRQ, память) выделены устройству.
⚠️ Внимание: Если команда
lspciне выводит информацию о видеокарте или показывает её как «Network controller» или «Unknown device», это может указывать на отсутствие модулей ядра для вашей архитектуры или физическую неисправность интерфейса подключения.
Что означают коды ошибок в lspci?
Если вы видите код устройства 0200 или 0280, это означает, что система видит устройство, но не может определить его тип. Часто это решается обновлением базы данных pci.ids или обновлением ядра Linux.
Работа с драйверами NVIDIA
Для видеокарт NVIDIA существует собственный набор утилит, которые позволяют узнать не только модель, но и версию видеодрайвера, версию BIOS и статус CUDA. Стандартная команда nvidia-smi является де-факто стандартом для администрирования этих карт.
Запустите следующую команду в терминале, чтобы получить сводную таблицу состояния:
nvidia-smi
В верхней части вывода вы увидите название модели видеокарты, а в правом верхнем углу — версию установленной проприетарной библиотеки драйвера. Также здесь отображается версия ядра CUDA и статус работы процесса.
Если вы используете открытый драйвер Nouveau, команда nvidia-smi может не работать или выдавать ошибку. В таком случае необходимо проверять версию через системные логи или команды X11.
- 💡 Используйте
nvidia-smi --query-gpu=name,driver_version,memory.total --format=csvдля получения чистого списка данных в формате CSV. - 🔧 Для проверки версии ядра модуля введите
modinfo nvidia | grep version. - 📊 Проверьте версию CUDA, используя команду
nvidia-smi --query-cuda-driver-version=version --format=csv.
Важно отметить, что версия драйвера, отображаемая в nvidia-smi, может отличаться от версии пакета, установленного менеджером пакетов вашего дистрибутива, если драйвер был скомпилирован вручную.
Информация об адаптерах AMD и Intel
Видеокарты AMD и Intel, использующие открытые драйверы amdgpu и i915 соответственно, часто требуют иных подходов для детальной диагностики. Система X11 или Wayland предоставляет инструменты для запроса информации о рендеринге и поддержке OpenGL.
Утилита glxinfo является мощным инструментом для проверки функциональности графического стека. Если утилита не установлена, её можно найти в пакете mesa-utils.
glxinfo | grep -i "device"
Эта команда выдаст строку, содержащую название устройства (Device), которое обычно совпадает с моделью видеокарты. Строка «OpenGL renderer string» покажет, какой именно рендерер (драйвер) используется для отрисовки графики.
Для более глубокого анализа производительности и версий в современных дистрибутивах можно использовать утилиту radeontop (для AMD) или intel_gpu_top (для Intel), которые показывают загрузку в реальном времени.
⚠️ Внимание: Если вы видите в выводе
llvmpipeвместо названия вашей видеокарты, это означает, что система использует программный рендеринг CPU. Это указывает на отсутствие или неправильную работу драйверов GPU.
Для пользователей AMD также актуальна утилита radeon-info, но она работает только со старыми картами серии HD. Для современных карт серии Radeon RX (Polaris и новее) используется драйвер amdgpu, и информацию лучше смотреть через lspci и glxinfo.
☑️ Проверка драйверов AMD/Intel
Таблица команд для быстрой диагностики
Ниже приведена сводная таблица основных команд, которые помогут вам быстро сориентироваться в ситуации с видеокартой. Эти команды применимы в большинстве дистрибутивов Linux, таких как Ubuntu, Debian, Arch Linux и Fedora.
| Команда | Для чего используется | Ключевая информация |
|---|---|---|
lspci | grep -i vga |
Базовое определение модели | Модель и вендор |
nvidia-smi |
Диагностика NVIDIA | Версия драйвера, температура, память |
glxinfo | grep "OpenGL" |
Проверка рендеринга | Вид рендерера и версия OpenGL |
dmidecode -t bios |
Версия BIOS системы | Дата и версия прошивки |
inxi -Gx |
Полная сводка | Вся информация о графической подсистеме |
Особое внимание стоит уделить команде inxi. Если она установлена, она предоставляет наиболее удобочитаемый вывод, объединяя данные из системных логов и утилит. Она показывает не только модель, но и версию ядра и драйвера в одной строке.
inxi -Gx
Эта утилита особенно полезна, когда вы предоставляете логи для техподдержки или форумов, так как её вывод структурирован и содержит все необходимые детали для анализа.
Анализ через файлы системы и логи
Иногда утилиты могут не отвечать, или вы хотите проверить информацию на низком уровне. В системе Linux вся информация об оборудовании дублируется в виртуальной файловой системе /sys и /proc.
Для просмотра информации о видеокарте можно прочитать содержимое файла /proc/driver/nvidia/gpus/ (для карт NVIDIA) или файлов в /sys/class/drm/.
cat /proc/driver/nvidia/gpus/0000:01:00.0/information
Этот файл содержит текстовое описание модели, версии BIOS и других параметров. Однако доступ к некоторым файлам в /sys может потребовать прав суперпользователя (sudo).
Также полезно проверить системный журнал сообщений ядра с помощью команды dmesg. Здесь фиксируются все события, связанные с инициализацией оборудования при загрузке.
dmesg | grep -i "NVRM\|amdgpu\|i915"
В логах вы можете увидеть сообщения об ошибках инициализации или подтверждение успешной загрузки драйвера. Это критически важно, если система не загружается с графикой.
Проверка поддержки OpenGL и Vulkan
Знание версии видеокарты — это только половина дела. Часто пользователю необходимо узнать, какие версии API (OpenGL, Vulkan) поддерживает его система. Это важно для запуска современных игр и графических приложений.
Для проверки поддержки Vulkan используется утилита vulkaninfo или vulkaninfo --summary. Она покажет версию драйвера Vulkan и список поддерживаемых расширений.
vulkaninfo --summary | grep "apiVersion"
Если утилита выдает ошибку, это может означать, что драйвер не поддерживает Vulkan или пакет утилит не установлен. Для AMD и Intel поддержка Vulkan обычно встроена в Mesa, а для NVIDIA требуется отдельная установка драйверов.
Для проверки OpenGL достаточно команды glxinfo, которую мы рассматривали ранее. Строка «OpenGL version string» покажет максимальную версию API, которую поддерживает ваш стек.
⚠️ Внимание: Если программа требует версию OpenGL 4.5, а система показывает 3.3, это означает, что текущий драйвер или оборудование не поддерживают требуемый функционал. Обновление драйвера может не помочь, если «железо» устарело слишком давно.
Решение распространенных проблем
Если команда nvidia-smi выдает сообщение «NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver», это означает, что модуль ядра не загружен. Это часто случается после обновления ядра Linux.
Необходимо переустановить драйвер или пересобрать модуль DKMS. Для этого обычно достаточно выполнить команду установки пакета драйверов снова, например, sudo apt install nvidia-driver-535.
В случае с картами AMD, если система не определяет их, проверьте, не заблокирован ли безопасный запуск (Secure Boot) в BIOS, так как неподписанные модули ядра могут не загрузиться.
- 🔍 Проверьте, загружен ли модуль:
lsmod | grep nvidiaилиlsmod | grep amdgpu. - 🛠 При ошибке загрузки пересоберите модули:
sudo dkms autoinstall. - 📉 Убедитесь, что в параметрах ядра нет опций, блокирующих проприетарные драйверы (например, `nomodeset`).
Иногда проблема кроется в конфликте версий. Например, новый драйвер может не поддерживать старое ядро, или наоборот. В таких случаях может потребоваться откат ядра или использование специализированных версий драйверов из PPA-репозиториев.
Как проверить версию ядра?
Введите команду uname -r. Если вы недавно обновили систему, но не перезагружались, старое ядро может оставаться активным, что вызывает конфликты с новыми драйверами.
FAQ: Частые вопросы пользователей
Как узнать версию видеокарты без использования командной строки?
В графических средах (GNOME, KDE) можно открыть «О системе» или «Параметры» и найти раздел «Оборудование». Однако эта информация часто менее точна, чем вывод утилит в терминале, и может не показывать версию драйвера.
Почему nvidia-smi не показывает версию драйвера?
Это может означать, что проприетарный драйвер не установлен или не загружен. В системе может работать открытый драйвер Nouveau, который не поддерживает эту утилиту. Проверьте вывод команды lspci -k.
Как узнать версию BIOS видеокарты в Linux?
Для карт NVIDIA используйте nvidia-smi --query-gpu=gpu_name,vbios_version --format=csv. Для других карт информация часто находится в файле /sys/class/drm/card0/device/vga_version или через lspci -v.
Можно ли узнать точную ревизию чипа (A1, A2)?
Точная ревизия чипа часто скрыта или отображается в виде кода в выводе lspci -vv. Для получения детальной информации о стеке кремния (silicon stepping) могут потребоваться специализированные утилиты или доступ к документации производителя.
Что делать, если система видит видеокарту, но не работает 3D-ускорение?
Проверьте вывод glxinfo на наличие слова «llvmpipe». Если оно там есть, значит, используется программный рендеринг. Необходимо установить или обновить драйверы Mesa (для AMD/Intel) или проприетарный драйвер (для NVIDIA).
⚠️ Внимание: Версии драйверов и их совместимость с ядрами Linux постоянно меняются. Перед установкой драйверов с официального сайта производителя обязательно сверяйте список поддерживаемых версий ядра на странице загрузки, так как стандартные репозитории дистрибутива могут содержать устаревшие версии.