Система Ubuntu 20.04 зависает [drm:intel_pipe_update_end [i915]] ОШИБКА Ошибка атомарного обновления на канале A

Вопрос или проблема

Моя система Ubuntu 20.04 иногда зависает (~ каждые 1-2 дня), полностью блокируя любое взаимодействие (даже REISUB не работает), и требуется нажатие кнопки питания для перезагрузки компьютера. Это новая установка на ноутбуке MSI GF65 Thin 10SER. Я уже провел некоторые исследования, и это похоже на старую проблему (https://linuxreviews.org/Linux_Kernel_5.5_Will_Not_Fix_The_Frequent_Intel_GPU_Hangs_In_Recent_Kernels, https://www.dedoimedo.com/computers/intel-microcode-atomic-update.html, https://hobo.house/2018/05/18/fix-for-intel-i915-gpu-freeze-on-recent-linux-kernels/) связанная с интегрированной графикой Intel.

Мой dmesg полон строк, таких как приведенные ниже, и они неизбежно вызывают зависание системы.

[drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A (start=9338 end=9339) time 321 us, min 1063, max 1079, scanline start 1038, end 1090

$ uname -r

5.4.0-58-generic

$ lspci -k | grep -EA3 'VGA|3D|Display':

00:02.0 VGA compatible controller: Intel Corporation UHD Graphics (rev 05)
    DeviceName: Onboard - Video
    Subsystem: Micro-Star International Co., Ltd. [MSI] Device 12aa
    Kernel driver in use: i915
--
01:00.0 VGA compatible controller: NVIDIA Corporation TU106 [GeForce RTX 2060] (rev a1)
    Subsystem: Micro-Star International Co., Ltd. [MSI] Device 12aa
    Kernel driver in use: nvidia
    Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia

Я пробовал следующее:

  • Добавить параметры ядра i915.enable_psr=0, i915.enable_dc=0

  • Включить ранний KMS для драйвера Intel (добавить i915 в /etc/initramfs-tools/modules)

  • Включить GuC с i915.enable_guc=2, однако он не работает, так как $ sudo cat /sys/kernel/debug/dri/0/i915_guc_load_status | grep status: возвращает status: DISABLED

  • Изменить драйвер отображения X.Org на modeset вместо xserver-xorg-video-intel

  • Обновить ядро Linux до 5.8

  • Добавить следующее в /usr/share/X11/xorg.conf.d/10-intel.conf

      Section "Device"
        Identifier "Intel Graphics"
        Driver "intel"
        Option "NoAccel" "True"
        Option "DRI" "False"
      EndSection
    

Одно наблюдение: когда я переключаю профиль Prime на режим производительности (т.е. используется только графический процессор NVIDIA, а интегрированный не используется), я не получаю никаких из этих ошибок в dmesg. Однако это не является решением для меня, так как этот режим быстро разряжает батарею.

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

Обновление 20/12/2020:

Установка GRUB_CMDLINE_LINUX="nouveau.modeset=0" в /etc/default/grub остановила ошибки атомного обновления dmesg. Тем не менее, теперь glxinfo|egrep "OpenGL renderer" дает OpenGL renderer string: llvmpipe (LLVM 10.0.0, 256 bits) вместо OpenGL renderer string: Mesa Intel(R) UHD Graphics (CML GT2). Это проблема, потому что теперь я получаю чрезвычайно высокую загрузку CPU от gnome-shell. Я не совсем понимаю, что стоит из этой информации.

Буду благодарен за помощь.

Тем временем я восстановил конфигурацию grub и сделал некоторые другие изменения.
$ inxi -G

Graphics:  Device-1: Intel UHD Graphics driver: i915 v: kernel 
           Device-2: NVIDIA TU106 [GeForce RTX 2060] driver: nvidia v: 450.80.02 
           Display: x11 server: X.Org 1.20.8 driver: modesetting,nvidia 
           разрешение: 1920x1080~144Hz 
           OpenGL: renderer: Mesa Intel UHD Graphics (CML GT2) v: 4.6 Mesa 20.0.8

Обновление 21/12/2020:

Итак, я использовал свою систему с профилем производительности Nvidia Prime (я думаю, это означает, что интегрированный графический процессор не используется, только дискретный графический процессор – NVIDIA) и только что столкнулся с зависанием во время прослушивания Spotify (что также является одной из причин, почему мой компьютер зависал в прошлом), однако на этот раз я не зафиксировал никаких ошибок атомного обновления за эту сессию, а journalctl -b -1 -e не зафиксировал ничего важного (по крайней мере для меня). Я буду следовать ответу на этот вопрос Как я могу узнать, почему 20.04 зависает?, а затем обновлю тему. Дайте знать, если вам нужно какое-либо вывод/информация, чтобы лучше понять проблему.

Обновление 23/12/2020:

Я выполнил тест памяти с https://www.memtest86.com/ и не получил ошибок (результаты ниже):
Результаты MemTest86

Я также сделал чистую установку Ubuntu, Mint и Manjaro. Каждый из них показывал ошибку атомного обновления в dmesg. Я отправил ноутбук в сервисный центр, так как считаю, что проблема связана с аппаратным сбоем.


Итак, ноутбук вернулся из RMA, и они сказали, что с ним ничего не случилось. К сожалению, мне пришлось перейти на Windows, так как я не могу позволить себе иметь нестабильную систему, как описано выше. В будущем я могу попробовать установить более новую версию Ubuntu, чтобы проверить, сохраняется ли проблема.

Я следил за этой темой, потому что у меня похожая проблема с примерно 6-летней видеокартой после переключения на Arch в прошлом декабре, и надеялся найти подсказку здесь.

Тем временем я попробовал предложения из этой темы (только у меня нет поддержки GuC), а также из других источников, включая установку

i915.enable_psr=0
среди прочего, но без изменений!

Наконец, я прочитал на reddit о том, как установить

intel_idle.max_cstate=1
в

GRUB_CMDLINE_LINUX_DEFAULT
и не наблюдал зависаний за целую неделю работы при регулярном использовании!

Для получения дополнительной информации посетите https://bbs.archlinux.org/viewtopic.php?id=263884

Ответ или решение

Решение проблемы зависания системы Ubuntu 20.04

Введение

Вы столкнулись с проблемой периодических зависаний вашей системы Ubuntu 20.04, которая имеет сообщение об ошибке [drm:intel_pipe_update_end [i915]] *ERROR* Atomic update failure on pipe A. Ваша установка происходит на ноутбуке MSI GF65 Thin 10SER с графическими процессорами Intel UHD и NVIDIA GeForce RTX 2060. Здесь приведены рекомендации и возможные решения данной проблемы.

Причины проблемы

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

Проверенные шаги, которые вы предприняли

  1. Отключение источников проблем: Вы уже пробовали различные параметры ядра такие как i915.enable_psr=0 и i915.enable_dc=0, а также включили ранний KMS. Вы также сменили драйвер отображения на modeset.

  2. Обновление ядра: Обновление до ядра версии 5.8 могло бы помочь, так как в более новых версиях исправлялись подобные проблемы.

  3. Конфигурация X.Org: Попытки с конфигурацией Intel в файле 10-intel.conf могут снизить производительность, но временно исключили сбои.

  4. Профиль Prime: Перевод на производительный режим с использованием только NVIDIA действительно помогает избежать зависаний, но увеличивает расход батареи.

Рекомендации по устранению неполадок и решениям

  1. Обновление ядра: Если вы еще не сделали этого, попробуйте обновить ядро до более поздней версии, такой как 5.11 или выше. В новых версиях ядра часто исправляют известные ошибки.

  2. Использование параметра intel_idle.max_cstate=1: Этот параметр в настройках GRUB, как упомянуто в вашем дополнительном сообщении, может помочь избежать зависаний. Для добавления:

    • Откройте файл конфигурации GRUB:
      sudo nano /etc/default/grub
    • Найдите строку GRUB_CMDLINE_LINUX_DEFAULT и добавьте intel_idle.max_cstate=1:
      GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"
    • Обновите конфигурацию GRUB:
      sudo update-grub
  3. Проверка и обновление микрокода: Убедитесь, что у вас установлен последний микрокод для Intel. Установите пакет intel-microcode:

    sudo apt update
    sudo apt install intel-microcode
  4. Логирование и диагностика: Запускайте journalctl -b -1 -e для проверки журналов перед зависаниями. Это может помочь выявить другие потенциальные ошибки.

  5. Используйте настройки X.Org: Если изменение драйвера не дает результата, попробуйте использовать nvidia с настройкой, которая позволит вам переключать графические процессоры по мере необходимости, снижая потребление.

  6. Долгосрочное решение: Как одно из долгосрочных решений, вы можете рассмотреть возможность использования более новых дистрибутивов Linux или обновление на Ubuntu 22.04 LTS, где драйверы и ядро могут иметь улучшения, которые устранят данную проблему.

Заключение

Системные зависания в Ubuntu 20.04 на ноутбуках с чипами Intel и NVIDIA могут быть довольно сложными для диагностики и исправления. Рекомендуется следовать данным рекомендациям и, при необходимости, рассматривать возможность использования профессиональной помощи, если проблема сохраняется. Удачи в устранении неполадок!

Оцените материал
Добавить комментарий

Капча загружается...