Skip to main content

Быстрая диагностика проблем Intel GPU в Linux

Руководство по оперативной диагностике проблем с Intel GPU (драйверы i915/xe) в Linux системах. Все команды готовы к копированию и немедленному использованию.

Быстрые проверки текущей сессии

Поиск критических ошибок GPU

Первым делом проверяем журнал ядра на предмет явных проблем с графическим процессором (только warning и выше):

# Поиск критических событий GPU с минимумом шума
journalctl -b -k --priority=4..0 -g 'GPU HANG|TLB invalid|\bwedged\b|stopped heartbeat|Resetting chip' || echo "✅ Критических ошибок не найдено"

Альтернативная проверка через dmesg

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

# Проверка критических событий через dmesg
dmesg --level=err,warn | grep -Ei 'GPU HANG|TLB invalid|\bwedged\b|stopped heartbeat|Resetting chip' || echo "✅ Критических ошибок не найдено"

Общий обзор состояния драйвера

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

# Информация о загрузке микропрограмм и инициализации компонентов
journalctl -b -k -g 'i915.*(DMC firmware|GUC firmware|HuC firmware|PSR|PXP|GSC)' | tail -n 80

Анализ предыдущей сессии

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

# Анализ критических ошибок GPU в предыдущей загрузке
journalctl -b -1 -k --priority=4..0 -g 'GPU HANG|TLB invalid|\bwedged\b|stopped heartbeat|Resetting chip' 2>/dev/null || echo "ℹ️ Нет предыдущей загрузки или критических событий"

Мониторинг в реальном времени

Общий мониторинг событий GPU

Для отслеживания событий графической подсистемы в реальном времени:

# Непрерывный мониторинг всех событий GPU
sudo journalctl -k -f -o short-monotonic | grep -Ei 'i915|xe|gpu|hang|wedg|reset|guc|huc|psr'

Мониторинг только критических событий

Отслеживание исключительно серьезных проблем в реальном времени:

# Мониторинг только критических ошибок
sudo journalctl -k -f -o short-monotonic | grep -E 'GPU HANG|TLB invalid|\bwedged\b|stopped heartbeat|Resetting chip'

Проверка конфигурации драйвера

Активные параметры ядра и драйвера

# Параметры загрузки ядра
cat /proc/cmdline

# Состояние PSR (Panel Self Refresh)
cat /sys/module/i915/parameters/enable_psr

# Настройки GuC (Graphics Micro Controller)
cat /sys/module/i915/parameters/enable_guc  # 0=выкл, 1=включить GuC submission, 2=включить HuC, 3=GuC+HuC

# Управление энергосбережением дисплея
cat /sys/module/i915/parameters/enable_dc

Информация о микропрограммах

Проверка версий загруженных микропрограмм:

# Версии прошивок компонентов GPU
sudo dmesg -T | egrep -i 'DMC firmware|GUC firmware|HuC firmware|Loaded GSC firmware|Protected Xe Path' | tail -n 50

Углубленная диагностика

Анализ состояния GPU при сбоях

# Обеспечиваем доступность debugfs
sudo mount -t debugfs debugfs /sys/kernel/debug 2>/dev/null || true

# Информация о последнем сбое GPU (если доступна)
sudo cat /sys/class/drm/card0/error | sed -n '1,120p' || echo "Информация о сбоях недоступна"

# Расширенная информация о состоянии драйвера
sudo sed -n '1,120p' /sys/kernel/debug/dri/0/i915_error_state 2>/dev/null || echo "Debug-информация недоступна"

Статистика сбоев

# Подсчет критических событий за текущую сессию
journalctl -b -k --priority=4..0 -g 'GPU HANG|TLB invalid|\bwedged\b|stopped heartbeat|Resetting chip' | wc -l

Проверка окружения

Информация о графической сессии

# Тип сессии (X11/Wayland)
echo "Тип сессии: $XDG_SESSION_TYPE"

# Установка mesa-utils при необходимости
sudo apt install -y mesa-utils 2>/dev/null || true

# Информация о рендерере OpenGL
glxinfo -B | grep -E 'OpenGL renderer|OpenGL version' 2>/dev/null || echo "glxinfo недоступен"

# Информация о Vulkan (если используется)
vulkaninfo --summary 2>/dev/null | sed -n '1,80p' || echo "vulkaninfo недоступен"

Версии системных компонентов

# Версия ядра
echo "Ядро: $(uname -r)"

# Состояние пакета с микропрограммами
apt policy linux-firmware | sed -n '1,20p'

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

Intel GPU Tools

Установка и использование официальных инструментов Intel:

# Установка intel-gpu-tools
sudo apt install -y intel-gpu-tools

# Мониторинг загрузки GPU в реальном времени (Ctrl+C для выхода)
sudo intel_gpu_top

Автоматизация через алиасы

Для удобства использования добавьте следующие алиасы в ~/.bashrc:

# Добавление удобных алиасов
cat <<'EOF' >> ~/.bashrc
# Алиасы для диагностики GPU
alias gpucrit='journalctl -b -k --priority=4..0 -g "GPU HANG|TLB invalid|\bwedged\b|stopped heartbeat|Resetting chip"'
alias gpudump='journalctl -b -k -g "i915|xe|GUC|HuC|PSR" | tail -n 200'
alias gpumon='sudo journalctl -k -f -o short-monotonic | grep -E "GPU HANG|TLB invalid|\bwedged\b|stopped heartbeat|Resetting chip"'
alias gpustat='journalctl -b -k --priority=4..0 -g "GPU HANG|TLB invalid|\bwedged\b|stopped heartbeat|Resetting chip" | wc -l'
EOF

# Перезагрузка оболочки для применения алиасов
exec $SHELL

После добавления алиасов используйте команды:

  • gpucrit — проверка критических событий в текущей сессии
  • gpudump — общий обзор событий драйвера
  • gpumon — мониторинг критических событий в реальном времени
  • gpustat — количество критических событий за сессию

Интерпретация результатов

Типичные проблемы и их признаки

Сообщение Описание Действия
GPU HANG Зависание графического процессора Проверить параметры драйвера, обновить прошивки
TLB invalidation ... timed out Проблемы с таблицей страниц GPU Часто на i915 с GuC; проверить ядро и прошивки, отключить PSR временно
wedged Критический сбой драйвера (состояние "застрял") Обычно после этого следует "Resetting chip"
Resetting chip Принудительная перезагрузка GPU Нормальная реакция на зависание
stopped heartbeat Потеря связи с GPU Критическая ошибка, требует анализа
Failed to load GuC Ошибка загрузки микропрограммы GuC Обновить linux-firmware или отключить GuC
guc communication error Ошибка связи с GuC Проверить совместимость прошивки и драйвера

Когда обращаться за помощью

При обнаружении проблем предоставьте:

  • Выхлоп одной из команд проверки (20-40 строк вокруг события)
  • Версию ядра (uname -r)
  • Модель GPU (lspci | grep VGA)
  • Активные параметры драйвера

Совет: Запускайте проверки после появления графических артефактов, зависаний или нестабильной работы системы. Регулярный мониторинг поможет выявить проблемы на ранней стадии.