Skip to main content

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

image.png

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

🔍 Быстрая диагностика

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

sudo journalctl -b -1 -k | grep -iE 'i915|drm|gpu|hang|wedged'

sudo journalctl -b -1 -k | grep -iE 'usb|xhci|reset'

sudo journalctl -b -1 -p err..alert | grep -i -E 'oom|out of memory'

sudo dmesg -T | grep -iE 'nvme|I/O error'
sudo smartctl -a /dev/nvme0
# Поиск серьезных проблем GPU в текущей сессии
journalctl -b -k --priority=4..0 -g 'GPU HANG|TLB invalid|wedged|stopped heartbeat|Resetting chip'

# Альтернативная проверка через dmesg
dmesg --level=err,warn | grep -Ei 'GPU HANG|TLB invalid|wedged|stopped heartbeat|Resetting chip'

Состояние драйвера i915

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

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

# Проверка ошибок после перезагрузки
journalctl -b -1 -k --priority=4..0 -g 'GPU HANG|TLB invalid|wedged|stopped heartbeat|Resetting chip'

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

Отслеживание критических событий

# Мониторинг только серьезных проблем
sudo journalctl -k -f | grep -E 'GPU HANG|TLB invalid|wedged|stopped heartbeat|Resetting chip'

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

Параметры драйвера

# Текущие настройки i915
echo "PSR: $(cat /sys/module/i915/parameters/enable_psr)"
echo "GuC: $(cat /sys/module/i915/parameters/enable_guc)"  # 0=выкл, 3=GuC+HuC
echo "Параметры ядра: $(cat /proc/cmdline)"

Версии микропрограмм

# Проверка загруженных прошивок
dmesg | grep -E 'DMC firmware|GUC firmware|HuC firmware' | tail -10

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

Информация о последних сбоях

# Данные о состоянии GPU (если доступны)
sudo cat /sys/class/drm/card0/error 2>/dev/null | head -50

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

Проверка графического окружения

# Основная информация
echo "Сессия: $XDG_SESSION_TYPE"
echo "Ядро: $(uname -r)"

# OpenGL рендерер (требует mesa-utils)
glxinfo -B 2>/dev/null | grep -E 'OpenGL renderer|OpenGL version'

Полезные алиасы

Добавьте в ~/.bashrc для быстрого доступа:

# Алиасы для диагностики GPU
alias gpucrit='journalctl -b -k --priority=4..0 -g "GPU HANG|TLB invalid|wedged|stopped heartbeat|Resetting chip"'
alias gpuinfo='journalctl -b -k -g "i915.*firmware" | tail -10'
alias gpumon='sudo journalctl -k -f | grep -E "GPU HANG|TLB invalid|wedged|stopped heartbeat|Resetting chip"'
alias gpustat='journalctl -b -k --priority=4..0 -g "GPU HANG|TLB invalid|wedged|stopped heartbeat|Resetting chip" | wc -l'

🚨 Расшифровка ошибок

Сообщение Что означает Действия
GPU HANG Зависание графического процессора Проверить параметры драйвера, обновить прошивки
TLB invalidation timed out Проблемы с памятью GPU Отключить PSR временно: i915.enable_psr=0
wedged Критический сбой драйвера Обычно сопровождается "Resetting chip"
Resetting chip Перезагрузка GPU Нормальная реакция на зависание
stopped heartbeat Потеря связи с GPU Критическая ошибка, нужен анализ

💡 Быстрые решения

При зависаниях и артефактах:

# Временное отключение PSR
sudo sh -c 'echo 0 > /sys/module/i915/parameters/enable_psr'

# Постоянное отключение (добавить в GRUB)
i915.enable_psr=0

При ошибках GuC:

# Отключение GuC/HuC
sudo sh -c 'echo 0 > /sys/module/i915/parameters/enable_guc'

# Или в GRUB: i915.enable_guc=0

🔧 Дополнительные инструменты

# Установка intel-gpu-tools для мониторинга
sudo apt install intel-gpu-tools

# Мониторинг загрузки GPU
sudo intel_gpu_top

Что предоставить при обращении за помощью

  1. Вывод команды диагностики: результат gpucrit или аналогичной команды
  2. Версия ядра: uname -r
  3. Модель GPU: lspci | grep VGA
  4. Активные параметры: cat /proc/cmdline

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