Вопрос или проблема
Моя система 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/ и не получил ошибок (результаты ниже):
Я также сделал чистую установку 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.
Проверенные шаги, которые вы предприняли
-
Отключение источников проблем: Вы уже пробовали различные параметры ядра такие как
i915.enable_psr=0
иi915.enable_dc=0
, а также включили ранний KMS. Вы также сменили драйвер отображения наmodeset
. -
Обновление ядра: Обновление до ядра версии 5.8 могло бы помочь, так как в более новых версиях исправлялись подобные проблемы.
-
Конфигурация X.Org: Попытки с конфигурацией Intel в файле
10-intel.conf
могут снизить производительность, но временно исключили сбои. -
Профиль Prime: Перевод на производительный режим с использованием только NVIDIA действительно помогает избежать зависаний, но увеличивает расход батареи.
Рекомендации по устранению неполадок и решениям
-
Обновление ядра: Если вы еще не сделали этого, попробуйте обновить ядро до более поздней версии, такой как 5.11 или выше. В новых версиях ядра часто исправляют известные ошибки.
-
Использование параметра
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
- Откройте файл конфигурации GRUB:
-
Проверка и обновление микрокода: Убедитесь, что у вас установлен последний микрокод для Intel. Установите пакет
intel-microcode
:sudo apt update sudo apt install intel-microcode
-
Логирование и диагностика: Запускайте
journalctl -b -1 -e
для проверки журналов перед зависаниями. Это может помочь выявить другие потенциальные ошибки. -
Используйте настройки X.Org: Если изменение драйвера не дает результата, попробуйте использовать
nvidia
с настройкой, которая позволит вам переключать графические процессоры по мере необходимости, снижая потребление. -
Долгосрочное решение: Как одно из долгосрочных решений, вы можете рассмотреть возможность использования более новых дистрибутивов Linux или обновление на Ubuntu 22.04 LTS, где драйверы и ядро могут иметь улучшения, которые устранят данную проблему.
Заключение
Системные зависания в Ubuntu 20.04 на ноутбуках с чипами Intel и NVIDIA могут быть довольно сложными для диагностики и исправления. Рекомендуется следовать данным рекомендациям и, при необходимости, рассматривать возможность использования профессиональной помощи, если проблема сохраняется. Удачи в устранении неполадок!