Как узнать версию драйвера видеокарты в Linux: полное руководство

Введение в управление видеодрайверами

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

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

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

Проверка драйверов NVIDIA через терминал

Компания NVIDIA предоставляет собственную проприетарную утилиту nvidia-smi, которая является стандартом де-факто для мониторинга видеоподсистемы в Linux. Эта команда выводит подробную таблицу с информацией о версии драйвера, версии CUDA, загруженности GPU и температуре видеокарты. Если вы используете дистрибутив с драйверами NVIDIA, этот метод будет самым быстрым и информативным.

Для запуска диагностики необходимо открыть терминал и ввести следующую команду:

nvidia-smi

В выводе вы увидите строку Driver Version, которая содержит номер установленной версии. Например, значение 535.104.05 означает конкретную ревизию драйвера. Важно отметить, что утилита также показывает версию ядра модуля, что может отличаться от версии пользовательских библиотек, но для большинства задач достаточно основного номера. Драйвер должен быть загружен в ядро, иначе команда выдаст ошибку доступа или сообщит, что драйвер не найден.

Иногда может потребоваться более детальная информация, например, список всех установленных библиотек, связанных с графикой. Для этого можно использовать команду dpkg -l | grep nvidia в дистрибутивах на базе Debian или rpm -qa | grep nvidia для Fedora и RHEL. Это позволит увидеть все пакеты, которые были установлены вместе с драйвером, и понять, не произошло ли рассинхронизации версий.

⚠️ Внимание: Если команда nvidia-smi не найдена, возможно, у вас установлен открытый драйвер nouveau вместо проприетарного драйвера NVIDIA. В этом случае потребуется переустановка пакетов драйвера.

Анализ видеодрайверов AMD и Intel

Видеоконтроллеры AMD и Intel в Linux работают преимущественно на основе открытого драйвера Mesa. Информация о версии драйвера здесь хранится в нескольких местах, так как Mesa состоит из множества компонентов. Самый простой способ узнать версию — использовать утилиту glxinfo, которая входит в пакет mesa-utils.

Установите пакет утилит, если он еще не установлен, а затем выполните команду:

glxinfo | grep"OpenGL version"

Эта команда покажет версию OpenGL, которую поддерживает ваш драйвер, но для получения версии самого Mesa драйвера лучше использовать команду glxinfo | grep"OpenGL renderer". В строке рендеринга часто указывается название драйвера и его версия. Например, строка может выглядеть как"AMD Radeon RX 6800 (radeonsi, navi22, LLVM 15.0.7, DRM 3.42, 5.15.0-58-generic)".

Для более точной информации о версии Mesa можно воспользоваться утилитой apropos mesa или проверить установленные пакеты напрямую. В системах с пакетным менеджером apt выполните:

apt list --installed | grep mesa

Это выведет список всех установленных библиотек Mesa. Обратите внимание на пакеты, начинающиеся с libgl1-mesa-dri или mesa-vulkan-drivers. Версия этих пакетов и будет версией вашего графического стека. Версия Mesa критически важна для поддержки современных API, таких как Vulkan.

📊 Какой бренд видеокарты используется в вашей системе?
NVIDIA
AMD
Intel
Много видях или встройка

Использование системных утилит и диспетчеров

Не всем пользователям удобно работать в терминале, поэтому многие дистрибутивы предоставляют графические инструменты для просмотра информации о системе. Утилита lshw (List Hardware) является мощным инструментом, который может вывести детальную информацию о видеокарте в текстовом виде, но её можно использовать и в графическом режиме.

Чтобы получить информацию только о видеокарте, выполните команду с правами суперпользователя:

sudo lshw -C display

В выводе вы увидите строку configuration, где может быть указана версия драйвера в параметре driver. Например: driver=amdgpu или driver=nvidia. Однако эта команда не всегда показывает полный номер версии, а только название модуля ядра. Для получения полного номера версии лучше использовать специализированные инструменты.

В популярных дистрибутивах, таких как Ubuntu или Fedora, существуют графические мониторы системы. Например, утилита neofetch часто показывает версию ядра и информацию о GPU при запуске. Более продвинутые утилиты, такие как CPU-X или HardInfo, предоставляют удобные графические интерфейсы с вкладками для просмотра информации о видеоподсистеме.

☑️ Проверка состояния видеодрайвера

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

Анализ логов ядра и модулей

Если стандартные утилиты не дают исчерпывающего ответа, всегда можно обратиться к логу загрузки системы. Ядро Linux регистрирует информацию о подключенных устройствах и загруженных драйверах в файл dmesg. Это самый надежный способ узнать, какая версия модуля драйвера была загружена при старте системы.

Для поиска информации о видеокарте используйте команду dmesg с фильтрацией по имени производителя:

dmesg | grep -i"NVIDIA\|AMD\|Intel"

В логе вы найдете строки, где драйвер инициализируется. Часто там указывается версия модуля в скобках. Например: [ 123.456] NVRM: loading NVIDIA UNIX x86_64 Kernel Module 535.104.05. Это подтвердит, что именно эта версия драйвера была успешно загружена ядром. Модуль ядра — это низкоуровневый компонент, и его версия часто совпадает с версией драйвера, но может отличаться при наличии патчей.

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

⚠️ Внимание: Логи ядра могут содержать огромные объемы текста. Используйте фильтры или перенаправление вывода в файл, чтобы не потерять важные строки при анализе.

Сравнение версий и таблиц совместимости

Для наглядного понимания того, какая версия драйвера соответствует какой поддержке функций, полезно сверяться с таблицами совместимости. Ниже приведена упрощенная таблица, показывающая типичные версии драйверов для различных поколений GPU и их поддержку API.

Производитель Архитектура GPU Мин. версия драйвера Поддержка Vulkan Примечание
NVIDIA Kepler (GTX 600/700) 470 LTS 1.2 Устаревшая архитектура
NVIDIA Maxwell/ Pascal 535 1.3 Отличная поддержка игр
AMD Radeon RX 5000/6000 Mesa 20.0 1.3 Открытый драйвер
Intel Gen 11+ (UHD) Mesa 21.0 1.3 Встроенная графика

Понимание соответствия между версией драйвера и поддержкой функций помогает избежать ситуаций, когда игра или программа не запускается из-за недостаточной версии API. Например, если ваша игра требует Vulkan 1.3, а у вас установлен драйвер с поддержкой только 1.2, приложение откажется работать. В таких случаях необходимо обновить драйверы до актуальной версии.

Как обновить драйвер в Ubuntu?Чтобы обновить драйвер в Ubuntu, откройте"Программы и обновления" → вкладка"Дополнительные драйверы". Выберите нужный драйвер из списка и нажмите"Применить изменения". После этого перезагрузите систему.-->

Решение проблем и частые ошибки

Иногда при попытке узнать версию драйвера пользователи сталкиваются с ошибками"Команда не найдена" или"Permission denied". Это обычно означает, что утилита не установлена в системе или у текущего пользователя нет прав на чтение системных файлов. Для устранения этой проблемы необходимо установить соответствующие пакеты через менеджер пакетов вашего дистрибутива.

Если вы используете nvidia-smi и получаете ошибку, убедитесь, что драйвер действительно установлен. В системах с открытым драйвером nouveau эта команда не сработает. Проверьте установленные пакеты командой dpkg -l | grep nvidia. Если пакетов нет, вам нужно скачать и установить драйвер с официального сайта производителя или через репозиторий.

Другая распространенная проблема — рассинхронизация версий. Например, пользовательские библиотеки могут быть обновлены, а модуль ядра остался старым. Это часто происходит после обновления ядра Linux, когда драйвер не был перекомпилирован для новой версии ядра. В таком случае система может работать нестабильно или выдавать черный экран при загрузке.