我的 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/) 与英特尔 iGPU 相关。
我的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(将 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 Profile 更改为性能模式(即仅使用 nvidia gpu 而不使用 intel gpu)时,dmesg 中不会出现任何这些错误。然而,这对我来说不是一个解决方案,因为这个选项会很快耗尽我的电池。
我是 Ubuntu 的新用户,如果有人能帮我或者提供解决方法,让我的系统稳定,不会崩溃,我将不胜感激。如果您需要任何其他信息,请告诉我。提前致谢!
2020/12/20更新:
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
resolution: 1920x1080~144Hz
OpenGL: renderer: Mesa Intel UHD Graphics (CML GT2) v: 4.6 Mesa 20.0.8
2020/12/21更新:
好的,我一直在使用 Nvidia Prime 性能配置文件运行我的系统(我认为这意味着 iGPU 没有被使用,只有 dGPU - nvidia - 被使用),我在听 Spotify 时刚刚冻结了(这也恰好是我电脑过去冻结的原因之一),但这次我没有在此会话中记录任何 Atomic 更新错误,也没有journalctl -b -1 -e
记录任何相关内容(至少对我来说)。我将关注这个问题的答案我如何知道为什么 20.04 崩溃?然后我会更新主题。如果您需要任何输出/信息来更好地理解问题,请告诉我。
2020/12/23更新:
我进行了一次内存测试https://www.memtest86.com/并得到 0 个错误(结果如下):
我还全新安装了 Ubuntu、Mint 和 Manjaro。它们都会显示 Atomic 更新错误dmesg
。我将笔记本电脑送去维修,因为我认为问题是由于硬件故障造成的。
所以笔记本电脑从 RMA 出来后他们告诉我它没有任何问题。不幸的是,我不得不切换到 Windows,因为我无法承受像上面描述的不稳定的系统。将来我可能会尝试安装较新版本的 Ubuntu 来检查问题是否仍然存在。
答案1
我一直在关注这个帖子,因为去年 12 月切换到 Arch 后,我在一张使用了大约 6 年的卡上也遇到了类似的问题,希望在这里找到线索。
与此同时,我尝试了这个帖子中的建议(除了我没有 GuC 支持)以及其他地方的建议,包括设置
i915.enable_psr=0
除此以外,没有任何变化!
最后在 reddit 上阅读有关设置的信息
intel_idle.max_cstate=1
在
GRUB_CMDLINE_LINUX_DEFAULT
在正常使用一周的时间内没有出现死机现象!