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

Команда nvidia-smi возвращает ошибку или показывает пустой вывод, что свидетельствует об отсутствии корректно загруженных модулей ядра для вашей NVIDIA GeForce или AMD Radeon карты. Это критическая проблема, которая не позволяет использовать аппаратное ускорение в операциях рендеринга, игр или работы с 3D-моделями в операционной системе Ubuntu. Без точного понимания того, какой именно драйвер или его версия активна, дальнейшая настройка системы превращается в гадание на кофейной гуще. Необходимо немедленно проверить статус загрузки модулей ядра и соответствие их версии реальных аппаратных возможностей вашего устройства.

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

Использование утилиты lspci для базовой идентификации

Самый надежный способ узнать, видит ли система ваше видеоустройство на уровне шины, — это утилита lspci. Эта команда выводит список всех подключенных к системе устройств, позволяя отфильтровать информацию о графических контроллерах. Введите в терминале lspci | grep -i vga или lspci | grep -i 3d, чтобы получить краткое описание установленного оборудования. Результат покажет модель карты и производителя, но не версию загруженного драйвера.

Для получения более детальной информации используйте флаг -k, который отображает используемые ядром модули. Команда lspci -k | grep -A 2 -i vga покажет не только модель видеокарты, но и имя ядерного модуля (Kernel driver in use), который в данный момент обслуживает устройство. Если в строке "Kernel driver in use" пусто или отсутствует название драйвера, это означает, что система работает в режиме базовой совместимости (например, Nouveau для карт NVIDIA) или модуль не загрузился.

Обратите внимание на строку "Kernel modules", которая перечисляет доступные для использования драйверы. Это помогает понять, какие модули установлены в системе, даже если они еще не активны. Если вы видите список, включающий nvidia, i915 или amdgpu, система готова к работе с соответствующим оборудованием, но требуется активация.

⚠️ Внимание: Если в выводе команды lspci -k строка "Kernel driver in use" отсутствует, это означает, что видеодрайвер не загружен. В этом случае система использует фреймбуфер или базовый драйвер, не обеспечивающий полной производительности.

Проверка проприетарных драйверов NVIDIA через командную строку

Для карт NVIDIA существуют специализированные команды, которые позволяют не только узнать версию драйвера, но и проверить его статус работы. Утилита nvidia-smi (NVIDIA System Management Interface) является стандартом де-факто для администрирования GPU. Если она установлена и работает, вы увидите таблицу с информацией о версии драйвера, версии CUDA, температуре и загрузке видеокарты. Строка Driver Version покажет точный номер установленного программного обеспечения.

Если команда nvidia-smi недоступна или выдает ошибку "command not found", это может указывать на отсутствие проприетарного драйвера. В таком случае система может использовать Nouveau — открытый драйвер с обратной разработкой. Чтобы проверить наличие установленных пакетов драйверов, используйте команду dpkg -l | grep nvidia. Она выведет список всех пакетов, имя которых содержит "nvidia", что позволит увидеть конкретные версии, например, nvidia-driver-535 или nvidia-driver-550.

Также полезно проверить загрузку модулей ядра напрямую через команду lsmod. Введите lsmod | grep nvidia, чтобы увидеть список загруженных модулей. Если вы видите строки, начинающиеся с nvidia, nvidia_modeset или nvidia_uvm, значит, драйвер активен. Отсутствие этих строк при наличии установленных пакетов говорит о том, что модуль не был загружен при запуске системы, возможно, из-за конфликта с Secure Boot.

Как проверить версию ядра

Введите команду uname -r в терминале. Актуальная версия ядра критична для совместимости драйверов NVIDIA. Если ядро было обновлено, но драйвер не перекомпилирован, он не загрузится.

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

Видеокарты AMD и Intel в Ubuntu работают на базе открытых драйверов, встроенных в ядро, поэтому ситуация с ними проще. Для проверки версии драйвера AMD используйте команду glxinfo | grep "OpenGL version", которая покажет версию OpenGL и имя драйвера (например, Radeon или Mesa). Для карт Intel аналогичная команда покажет драйвер i915. Важно понимать, что в отличие от NVIDIA, здесь нет единой "версии драйвера" в привычном понимании, так как функциональность зависит от версии ядра и пакета Mesa.

Чтобы узнать версию пакета Mesa, отвечающего за реализацию OpenGL и Vulkan, выполните команду glxinfo | grep "OpenGL renderer". В выводе будет указан конкретный драйвер, например, Radeonsi для дискретных карт или llvmpipe, что указывает на использование программного рендеринга вместо аппаратного. Если вы видите llvmpipe, это серьезная проблема, означающая, что драйвер видеокарты не работает корректно.

Для детального анализа загрузки модулей введите команду dmesg | grep -i drm. Этот вывод покажет логи ядра, связанные с подсистемой Direct Rendering Manager (DRM). Ищите строки с пометкой Loaded или Initialized рядом с названием вашего драйвера (например, amdgpu или i915). Ошибки в этом логе часто содержат причины, по которым драйвер не загрузился, например, нехватка памяти или конфликт версий.

Использование графического интерфейса и утилиты Ubuntu Drivers

Система Ubuntu предоставляет удобный графический интерфейс для управления драйверами, который доступен через меню "Дополнительные драйверы" (Additional Drivers). Запустите этот инструмент, введя в терминале software-properties-gtk --open-tab=4 или найдя его в приложении "Программы и обновления". Интерфейс просканирует оборудование и покажет доступные варианты драйверов, включая проприетарные решения от NVIDIA и открытые аналоги.

В окне утилиты вы увидите список доступных версий драйверов с пометками "тестируемый" (test), "рекомендуемый" (recommended) или "открытый" (open). Если выбран пункт "Использование драйвера xorg (открытый)", это означает, что проприетарный драйвер не активен. Для максимального быстродействия рекомендуется выбрать версия с пометкой рекомендуемый, например, nvidia-driver-550. После выбора необходимо нажать кнопку "Применить изменения" и перезагрузить компьютер.

Также можно использовать утилиту командной строки ubuntu-drivers для автоматического определения подходящего драйвера. Команда ubuntu-drivers devices покажет список совместимых драйверов для вашего оборудования, а ubuntu-drivers autoinstall автоматически установит рекомендуемый пакет. Это самый простой способ для новичков, не желающих разбираться в версиях вручную.

📊 Какой драйвер вы используете сейчас
Открытый (Nouveau/Radeon)
Проприетарный (NVIDIA)
Не знаю/Не проверял
Система не видит карту

Диагностика и устранение распространенных проблем

Иногда система видит карту, но драйвер не загружается из-за настроек безопасности BIOS. Технология Secure Boot может блокировать загрузку неподписанных модулей ядра, таких как проприетарные драйверы NVIDIA. В этом случае в выводе команды lspci -k вы увидите, что модуль установлен, но не активен. Решение заключается либо в отключении Secure Boot в BIOS, либо в подписи модуля вручную, что требует глубоких знаний.

Другой частой проблемой является конфликт версий ядра. Если вы обновили ядро системы, но не обновили драйверы под новую версию, модули перестанут загружаться. Команда dkms status покажет статус модулей, скомпилированных через Dynamic Kernel Module Support. Если статус installed отсутствует для вашей версии ядра, драйвер не будет работать. В таких случаях необходимо переустановить драйвер или откатиться на старое ядро.

Также стоит обратить внимание на режим работы видеокарты в ноутбуках с гибридной графикой. Утилиты вроде prime-select позволяют переключаться между интегрированной и дискретной графикой. Команда prime-select query покажет текущий режим. Если вы хотите использовать мощную карту, но система пишет, что используется intel или amdgpu (интегрированная), необходимо принудительно переключить режим через prime-select nvidia.

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

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

Таблица ключевых команд для диагностики

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

Команда Назначение Ожидаемый результат
lspci -k | grep -A 2 -i vga Проверка наличия устройства и модуля Строка: Kernel driver in use: [имя_драйвера]
nvidia-smi Статус драйвера NVIDIA Таблица с версией Driver, Temperature, GPU-Util
glxinfo | grep "OpenGL" Проверка 3D-ускорения OpenGL renderer: [Название чипа]
lsmod | grep nvidia Проверка загруженных модулей Список строк: nvidia, nvidia_modeset...
ubuntu-drivers devices Список доступных драйверов Список пакетов с пометкой recommended

Заключение и важные нюансы

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

При работе с NVIDIA всегда проверяйте наличие подписанных модулей, если включен Secure Boot. Для карт AMD и Intel актуальность ядра является главным критерием производительности. Не бойтесь использовать терминал, так как графические утилиты часто скрывают детали, необходимые для точной диагностики.

Помните, что установка драйвера — это процесс настройки окружения, а не просто "установка программы". Если вы видите, что драйвер установлен, но не работает, проверьте логи (/var/log/Xorg.0.log) на наличие ошибок инициализации. Часто именно там скрывается причина проблемы, будь то конфликт ресурсов или ошибка конфигурации.

Часто задаваемые вопросы

Что делать, если команда nvidia-smi не найдена?

Это означает, что драйвер NVIDIA не установлен или пакет управления отсутствует. Попробуйте выполнить sudo apt update и sudo apt install nvidia-driver-535 (или актуальную версию). Если проблема сохраняется, проверьте, не блокирует ли Secure Boot загрузку модуля.

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

Используйте команду prime-select query. Она покажет, какой режим активен: on-demand, nvidia или intel. Для детальной информации о конкретном приложении используйте __NV_PRIME_RENDER_OFFLOAD=1 перед запуском программы.

Почему система видит карту, но показывает low resolution?

Скорее всего, используется базовый драйвер VESA или Generic. Это происходит, когда проприетарный драйвер не загрузился. Проверьте lspci -k и убедитесь, что в строке "Kernel driver in use" указан правильный драйвер, а не vga или vesa.

Можно ли использовать драйверы от NVIDIA на картах AMD?

Нет, это невозможно. Драйверы NVIDIA и AMD абсолютно несовместимы. Для AMD используются открытые драйверы amdgpu или radeon, встроенные в ядро, либо Mesa.