Как узнать драйвер видеокарты в Linux

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

Существует несколько уровней взаимодействия между аппаратным обеспечением и программным обеспечением. Сначала система должна идентифицировать устройство через шину PCI Express, затем загрузить соответствующий драйвер, и только после этого графический сервер сможет использовать GPU. Ошибки на любом из этих этапов приводят к тому, что система работает в режиме базовой графики, что делает невозможным полноценную работу.

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

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

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

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

lspci | grep -i vga

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

Использование флага -k является ключевым моментом, так как он отображает не только устройство, но и загруженный ядровой модуль (Kernel driver in use), который управляет им. Если поле «Kernel driver in use» отсутствует или пусто, это означает, что драйвер не загружен, и система работает в режиме базовой совместимости VESA или NOUVEAU.

⚠️ Внимание: Если команда lspci возвращает пустой результат или не находит видеокарту, проверьте физическое подключение устройства и настройки BIOS/UEFI, где может быть отключен слот PCI Express.

Анализ загруженных модулей ядра

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

Для поиска конкретных драйверов видеокарт лучше использовать команду lsmod в связке с grep. Например, для карт NVIDIA ищите модули, содержащие слово nvidia, а для AMDamdgpu или radeon. Это позволит быстро определить, активен ли проприетарный драйвер или используется открытый аналог.

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

Производитель Открытый драйвер Проприетарный драйвер Модуль ядра
NVIDIA Nouveau NVIDIA Official nvidia_drm / nvidia_modeset
AMD (Radeon) Radeon Radeon (Legacy) radeon
AMD (Ryzen/RDNA) AMDGPU AMDGPU amdgpu
Intel (Integrated) i915 N/A i915

Иногда модуль может быть загружен, но не активен на конкретном устройстве. В таком случае полезно использовать команду lspci -k -s , где ID берется из вывода первой команды. Это покажет привязку конкретного модуля к конкретному слоту PCI.

📊 Какой тип видеокарты установлен в вашей системе?
Интегрированная (Intel/AMD APU)
Дискретная NVIDIA
Дискретная AMD (Radeon)
Несколько видеокарт

Специализированные утилиты для NVIDIA

Если у вас установлена видеокарта от NVIDIA и успешно установлен их проприетарный драйвер, система предоставляет мощный инструмент для проверки состояния — nvidia-smi. Эта утилита, входящая в пакет драйверов, выводит детальный отчет о GPU, включая версию драйвера, версию ядра драйвера, температуру и загрузку.

Запуск команды

nvidia-smi
в терминале должен вернуть таблицу с информацией о GPU и версией драйвера в правом верхнем углу. Если вместо таблицы вы видите сообщение «command not found», это с высокой вероятностью указывает на то, что драйвер не установлен или не загружен корректно.

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

Инструменты для владельцев карт AMD и Intel

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

Для карт AMD наиболее информативной утилитой является radeontop или glxinfo. Команда glxinfo -B покажет текущий драйвер, версию OpenGL и данные о рендерере. Это универсальный способ проверить состояние любого графического адаптера, так как он опирается на библиотеки Mesa.

Для процессоров Intel с интегрированной графикой также отлично работает glxinfo, но для более глубокой диагностики можно использовать intel_gpu_top. Эта утилита показывает загрузку ядер графического процессора в реальном времени, аналогично htop для центрального процессора.

Как проверить версию Mesa для AMD и Intel?

Для проверки версии Mesa, которая является реализацией OpenGL для открытых драйверов, используйте команду:

glxinfo | grep "OpenGL version"
Это покажет версию драйвера Mesa, используемого для рендеринга графики.

Проверка через графический интерфейс

Если вы не любите работать с терминалом, большинство современных дистрибутивов Linux предоставляют графические средства для просмотра информации о системе. Эти инструменты часто называются «О системе» или «Информация о системе».

В Ubuntu и производных (Mint, Pop!_OS) откройте настройки и найдите раздел «О системе» (About). Там будет указано имя графического процессора и используемый драйвер, если он был корректно определен системой. В Fedora или OpenSUSE аналогичная информация доступна в приложении «Настройки системы» (System Settings).

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

⚠️ Внимание: Графические утилиты могут отображать устаревшую информацию, если драйвер был обновлен «на лету» или после перезагрузки. Всегда перепроверяйте данные через терминал перед внесением изменений в конфигурацию.

☑️ Чек-лист проверки драйвера

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

Устранение проблем с некорректной загрузкой

Иногда система не может автоматически определить подходящий драйвер, и тогда используется режим «Safe Graphics» или базовый драйвер VESA. Это часто случается после обновления ядра или при смене конфигурации оборудования. В таких случаях необходимо вручную проверить список доступных модулей.

Для этого можно использовать команду modprobe -c | grep <имя_драйвера>, чтобы увидеть, какие конфигурационные файлы влияют на загрузку модуля. Также полезно проверить лог ядра с помощью команды dmesg | grep -i <имя_драйвера>, чтобы увидеть сообщения об ошибках при инициализации.

Если драйвер загружается, но не работает, возможно, проблема в конфликте с модулями ядра. Попробуйте добавить параметр запуска в GRUB, например nvidia-drm.modeset=1 для карт NVIDIA, чтобы корректно инициализировать режим ядра.

FAQ: Частые вопросы о драйверах в Linux

Ниже собраны ответы на наиболее частые вопросы, возникающие при диагностике видеоподсистемы в Linux.

Почему команда nvidia-smi не работает?

Это означает, что либо драйвер NVIDIA не установлен, либо он не загружен. Попробуйте переустановить драйвер или проверить загрузку модуля с помощью lsmod | grep nvidia.

Как узнать, какой драйвер использует интегрированная и дискретная карта одновременно?

В системах с гибридной графикой (например, Optimus) используйте команду lspci -k, чтобы увидеть, какой драйвер привязан к каждому устройству. Часто используется PRIME для переключения между ними.

Можно ли проверить драйвер без root прав?

Да, команды lspci, lsmod и glxinfo работают без прав суперпользователя. Однако некоторые команды диагностики могут требовать sudo.

Что делать, если драйвер не найден автоматически?

Установите соответствующий пакет драйверов из репозитория вашего дистрибутива или скачайте его с официального сайта производителя. После установки перезагрузите систему.

Как проверить совместимость драйвера с ядром?

Используйте команду uname -r для получения версии ядра, а затем сверьте её со списком поддерживаемых версий в документации драйвера на сайте производителя.