Система не выводит изображение в разрешении выше 1024x768 или графический интерфейс зависает при запуске игр, потому что операционная система использует базовый драйвер Nouveau вместо проприетарного модуля NVIDIA. Именно в таких случаях критически важно знать, какой именно драйвер загружен в ядро и активен ли он в данный момент. Понимание текущего состояния видеоподсистемы позволяет избежать ложных диагнозов и правильно подобрать нужную версию ПО для вашей модели GPU.
В среде Ubuntu проверка драйверов — это не просто просмотр версии в меню настроек, а анализ загруженных модулей ядра и состояния службы modprobe. Часто пользователи путают установленный пакет с активным драйвером, что приводит к некорректной работе аппаратного ускорения. Чтобы устранить эту путаницу, необходимо использовать специализированные утилиты командной строки, которые дают прямую информацию от ядра Linux.
Использование утилиты lspci для первичной диагностики
Первым шагом в проверке является идентификация самого оборудования. Команда lspci позволяет увидеть список всех устройств, подключенных к шине PCI Express, включая вашу видеокарту. Это базовый инструмент, который показывает, видит ли система железо, но не всегда указывает на корректность используемого драйвера. Запуск команды с фильтрацией по ключевому слову VGA или 3D дает быстрый результат.
Для получения детальной информации о драйвере, который в данный момент обслуживает устройство, необходимо добавить флаг -k. Этот параметр показывает не только производителя и модель GPU, но и название ядра (kernel driver in use), которое сейчас активно. Если здесь указано nouveau, значит, проприетарный драйвер NVIDIA не загружен, даже если он установлен в системе.
Пример вывода команды, где видно использование проприетарного драйвера:
01:00.0 VGA compatible controller: NVIDIA Corporation GP107 [GeForce GTX 1050] (rev a1)
Subsystem: Device 10de:13b7
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia
Обратите внимание на строку Kernel driver in use. Именно она является решающей: если там указано название проприетарного модуля, значит, система использует его. Если же вы видите vll или ll, это может указывать на проблемы с загрузкой модулей или конфликтом версий. В некоторых случаях система может видеть карту, но не иметь подходящего драйвера для ее текущей ревизии.
⚠️ Внимание: Если в строке
Kernel driver in useпусто, это означает, что для данного устройства не загружен ни один драйвер. Система работает в режиме базовой совместимости, что делает невозможным использование аппаратного ускорения 3D-графики.
Детали вывода lspci
Флаг -v (verbose) показывает больше информации о ресурсах IRQ и памяти, а -vvv дает полный доступ ко всем регистрам устройства. Используйте их при глубокой диагностике конфликтов прерываний.
Анализ загруженных модулей ядра через lsmod
Утилита lsmod предоставляет список всех загруженных модулей ядра, что позволяет проверить, активен ли драйвер на уровне ядра, даже если он не отображается корректно в выводе lspci. Для видеокарт NVIDIA критически важными являются модули nvidia, nvidia-drm и nvidia-modeset. Отсутствие любого из них может приводить к мерцанию экрана или невозможности смены разрешения.
Чтобы отфильтровать огромный список модулей и найти только нужные, используйте команду с фильтром grep. Это позволит быстро определить статус драйвера без необходимости читать сотни строк вывода. Если модуль найден, он будет отображен с указанием размера памяти, которую он занимает, и количеством процессов, которые его используют.
Синтаксис проверки для драйверов NVIDIA выглядит следующим образом:
lsmod | grep -E "nvidia|nvidia_drm|nouveau"
Если в результате вы видите строки, начинающиеся с nvidia, значит, модуль загружен. Обратите внимание на колонку Used by: если там пусто или указан только nvidia_modeset, это нормально. Однако, если модуль nouveau также присутствует в списке, это может указывать на конфликт, так как эти два драйвера не могут работать одновременно в одном сеансе.
Проверка статуса через системную утилиту ubuntu-drivers
Специализированная утилита ubuntu-drivers является наиболее удобным инструментом для пользователей Ubuntu, так как она не только показывает активный драйвер, но и рекомендует оптимальную версию для вашей конкретной видеокарты. Она анализирует аппаратную часть и базу данных пакетов, предлагая наиболее стабильный вариант. Это избавляет от необходимости вручную гадать, какая версия совместима с вашим GPU.
Команда ubuntu-drivers devices выводит список всех доступных драйверов для обнаруженных устройств, помечая рекомендуемые версии знаком recommended. В этом списке вы увидите как проприетарные драйверы (например, nvidia-driver-535), так и открытые (nouveau). Это позволяет понять, установлен ли у вас тот драйвер, который система считает лучшим.
Пример вывода команды:
/dev/dri/card0: NVIDIA Corporation GP107 [GeForce GTX 1050]
driver : nvidia-driver-535 - distro non-free recommended
driver : nvidia-driver-525 - distro non-free
driver : nvidia-driver-515 - distro non-free
driver : xserver-xorg-video-nouveau - distro free builtin
Если в строке с пометкой recommended драйвер не установлен, система может работать некорректно. Утилита также позволяет автоматически установить нужный драйвер одной командой: sudo ubuntu-drivers autoinstall. Это особенно полезно, если вы не знаете точного номера версии, необходимой для вашей карты.
Диагностика через графический интерфейс
Для пользователей, не желающих работать с терминалом, Ubuntu предоставляет встроенный графический способ проверки. Зайдите в меню приложений и найдите раздел «Дополнительные драйверы» (Additional Drivers). Этот инструмент сканирует систему и отображает доступные драйверы для вашего оборудования в удобном виде.
В открывшемся окне вы увидите список обнаруженных устройств. Если драйвер активен, он будет отмечен как «используется» (using). Если драйвер не выбран, система предложит переключиться на рекомендованную версию или оставить текущую. Это наглядный способ убедиться, что проприетарный драйвер NVIDIA или AMD действительно выбран, а не просто установлен в системе.
Важно отметить, что графический интерфейс может не обновлять статус мгновенно после изменения конфигурации ядра. Если вы только что обновили драйвер, но в интерфейсе по-прежнему отображается старый статус, необходимо перезагрузить систему. Без перезагрузки некоторые изменения в модулях ядра не вступают в силу, и проверка покажет устаревшие данные.
⚠️ Внимание: Не пытайтесь переключать драйверы в графическом интерфейсе во время активной сессии, если система находится в режиме восстановления. Это может привести к потере графической оболочки до следующей перезагрузки.
☑️ Чек-лист проверки драйвера в GUI
Использование nvidia-smi для карт NVIDIA
Для владельцев видеокарт NVIDIA существует самый надежный способ проверки — утилита nvidia-smi (NVIDIA System Management Interface). Эта утилита является частью драйвера и предоставляет детальную информацию о состоянии GPU, версии драйвера, температуре и утилизации памяти. Если команда выполняется успешно, это 100% гарантия того, что драйвер установлен и работает корректно.
Запустите команду в терминале, чтобы увидеть сводную таблицу:
nvidia-smi
В верхней строке вывода вы увидите версию драйвера (Driver Version) и версию CUDA. Это критически важные данные для разработчиков и геймеров. Если система вернет ошибку command not found, это означает, что драйвер либо не установлен, либо поврежден, либо модуль ядра не загрузился. В этом случае nvidia-smi не сработает, и нужно переходить к проверке через dmesg.
Утилита также позволяет мониторить нагрузку в реальном времени. Параметр -l 1 заставляет вывод обновляться каждую секунду. Это полезно при диагностике проблем с перегревом или сбоями производительности. GPU Utilization и Memory-Usage покажут, действительно ли видеокарта вовлечена в процесс рендеринга.
Сравнение версий драйверов и поддержка оборудования
Понимание разницы между версиями драйверов помогает избежать проблем совместимости. В таблице ниже приведены основные категории драйверов для различных поколений видеокарт в Ubuntu. Правильный выбор версии определяет стабильность работы системы и производительность в тяжелых задачах.
| Тип драйвера | Поддерживаемые карты | Версия пакета (пример) | Состояние поддержки |
|---|---|---|---|
| Legacy (Старые) | GTX 600/700 серии, Kepler | nvidia-driver-390 | Устаревший, без обновлений |
| Standard (Основной) | GTX 900/1000/1600, RTX 2000 | nvidia-driver-535 | Стабильная версия LTS |
| Newest (Новейший) | RTX 3000/4000, Ada Lovelace | nvidia-driver-550 | Последние функции, бета-тесты |
| Open Source (Nouveau) | Все карты NVIDIA | xserver-xorg-video-nouveau | Открытый, низкая производительность 3D |
Выбор между версией LTS (Long Term Support) и последней доступной версией зависит от ваших задач. Для стабильной работы серверов и рабочих станций лучше выбирать LTS версии, которые проходят тщательное тестирование. Для игровых сборок и работы с новыми технологиями рендеринга предпочтительнее свежие драйверы из репозитория graphics-drivers.
Важно учитывать, что переход между версиями драйверов может потребовать чистки системы. Если вы переходите с версии 535 на 550, иногда требуется полное удаление старых пакетов перед установкой новых. Это предотвращает конфликты файлов конфигурации и модулей ядра, которые могут привести к нестабильной работе системы.
Особенности драйверов AMD
Для карт AMD (Radeon) обычно используется модуль amdgpu, который встроен в ядро Linux. Проверка через lspci -k покажет драйвер amdgpu. Версию драйвера можно проверить командой modinfo amdgpu, хотя он обновляется вместе с ядром.
Решение распространенных проблем при проверке
Иногда проверка драйверов показывает, что они установлены, но система не использует их. Это может быть связано с включенным Secure Boot в BIOS/UEFI. Проприетарные драйверы, такие как nvidia, подписываются ключами, и если Secure Boot включен, а ключи не загружены, ядро отклонит загрузку модуля. Это распространенная причина, по которой nvidia-smi выдает ошибку, несмотря на наличие драйвера.
Для решения этой проблемы необходимо либо отключить Secure Boot в настройках BIOS, либо подписать модули драйвера собственным ключом. В Ubuntu 22.04 и новее процесс подписки модулей автоматизирован при первой установке драйвера, но если вы обновляли ядро вручную, это могло нарушить цепочку доверия. Проверьте статус модулей командой mokutil --list-enrolled.
Еще одной проблемой может быть конфликт с драйвером Nouveau. Если вы установили драйвер NVIDIA, но не отключили nouveau в initramfs, система может попытаться загрузить оба драйвера, что приведет к зависанию. Необходимо добавить nouveau.modeset=0 в параметры загрузки ядра в файле /etc/default/grub и обновить конфигурацию GRUB.
⚠️ Внимание: Никогда не удаляйте драйверы вручную, просто удаляя файлы из папок. Это приведет к поломке системы. Используйте команды
apt purgeилиubuntu-driversдля корректного удаления.
FAQ: Частые вопросы о драйверах видеокарт в Ubuntu
Как узнать, какой драйвер используется для моей видеокарты?
Самый быстрый способ — выполнить команду lspci -k | grep -A 3 -i vga. Строка Kernel driver in use покажет название активного драйвера. Для карт NVIDIA также можно использовать nvidia-smi, который выведет версию драйвера в заголовке таблицы.
Почему nvidia-smi говорит, что драйвер не найден?
Это может означать, что драйвер не установлен, модуль не загружен из-за ошибок Secure Boot или конфликта с nouveau. Проверьте загруженные модули командой lsmod | grep nvidia. Если список пуст, драйвер не активен и требует переустановки или настройки параметров загрузки.
Можно ли использовать драйверы от разных версий Ubuntu?
Рекомендуется использовать драйверы из официальных репозиториев вашей версии Ubuntu. Драйверы от других дистрибутивов могут не содержать нужных патчей совместимости с вашим ядром. Используйте ubuntu-drivers devices для получения списка рекомендованных версий именно для вашей системы.
Как проверить версию драйвера AMD?
Для карт AMD драйвер обычно встроен в ядро. Используйте команду modinfo amdgpu | grep version или radeon-profile для графического просмотра. Также можно посмотреть версию в /sys/kernel/debug/dri/0/amdgpu_version, если отладка включена.
Что делать, если система не видит видеокарту после установки драйвера?
Проверьте кабель подключения (лучше использовать HDMI или DisplayPort, а не DVI/VGA). Убедитесь, что карта подключена к выводу дискретной видеокарты, а не встроенной графике. Попробуйте переустановить драйвер, предварительно удалив старый пакет полностью через sudo apt purge nvidia-*.