Skip to main content

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

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

Быстрые🔍 проверкиБыстрая текущей сессиидиагностика

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

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

# Поиск критическихсерьезных событийпроблем GPU св минимумомтекущей шумасессии
journalctl -b -k --priority=4..0 -g 'GPU HANG|TLB invalid|\bwedged\b|wedged|stopped heartbeat|Resetting chip'

||# echo "✅ Критических ошибок не найдено"

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

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

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

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

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

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

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

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

# Анализ критическихПроверка ошибок GPUпосле в предыдущей загрузкеперезагрузки
journalctl -b -1 -k --priority=4..0 -g 'GPU HANG|TLB invalid|\bwedged\b|wedged|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|wedged|stopped heartbeat|Resetting chip'

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

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

# ПараметрыТекущие загрузкинастройки ядраi915
catecho /proc/cmdline"PSR: # Состояние PSR $(Panel Self Refresh)
cat /sys/module/i915/parameters/enable_psrenable_psr)"
#echo Настройки"GuC: GuC $(Graphics Micro Controller)
cat /sys/module/i915/parameters/enable_gucenable_guc)"  # 0=выкл, 1=включить GuC submission, 2=включить HuC, 3=GuC+HuC
#echo Управление"Параметры энергосбережениемядра: дисплея
$(cat /sys/module/i915/parameters/enable_dcproc/cmdline)"

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

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

# ВерсииПроверка загруженных прошивок
компонентов GPU
sudo dmesg -T | egrepgrep -iE 'DMC firmware|GUC firmware|HuC firmware|Loaded GSC firmware|Protected Xe Path'firmware' | tail -n 5010

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

АнализИнформация состоянияо 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 || echohead "Debug-информация-50

недоступна"

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

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

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

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

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

# УстановкаOpenGL рендерер (требует mesa-utilsutils)
при необходимости
sudo apt installglxinfo -y mesa-utilsB 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|wedged|stopped heartbeat|Resetting chip"'
alias gpudump=gpuinfo='journalctl -b -k -g "i915|xe|GUC|HuC|PSR"i915.*firmware" | tail -n 200'10'
alias gpumon='sudo journalctl -k -f -o short-monotonic | grep -E "GPU HANG|TLB invalid|\bwedged\b|wedged|stopped heartbeat|Resetting chip"'
alias gpustat='journalctl -b -k --priority=4..0 -g "GPU HANG|TLB invalid|\bwedged\b|wedged|stopped heartbeat|Resetting chip" | wc -l'
EOF

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

После

🚨 добавленияРасшифровка алиасов используйте команды:

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

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

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

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

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

    КогдаПри обращатьсязависаниях и артефактах:

    # Временное отключение 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 (20-40или строканалогичной вокруг события)команды
      2. ВерсиюВерсия ядраядра: (uname -r)
      3. Модель GPUGPU: (lspci | grep VGA)
      4. Активные параметрыпараметры: драйвераcat /proc/cmdline

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