过去三天我遇到了随机冻结。如果发生这种情况时我在 YouTube 上查看,音频会继续播放,但屏幕冻结,键盘或光标不执行任何操作。
我试图查看sudo journalctl
,这就是我发现的:
led 04 10:44:02 arch-thinkpad kernel: i915 0000:00:02.0: [drm] *ERROR* Atomic update failure on pipe C (start=113031 end=113032) time 340 us, min 1073, max 1079, scanline start 1062, end 1085
led 04 11:09:15 arch-thinkpad kernel: i915 0000:00:02.0: [drm] *ERROR* Atomic update failure on pipe C (start=203838 end=203839) time 273 us, min 1073, max 1079, scanline start 1072, end 1090
led 04 11:15:47 arch-thinkpad kernel: i915 0000:00:02.0: [drm] *ERROR* Atomic update failure on pipe C (start=227329 end=227330) time 278 us, min 1073, max 1079, scanline start 1066, end 1085
uname -a
返回:
Linux arch-thinkpad 5.10.4-arch2-1 #1 SMP PREEMPT Fri, 01 Jan 2021 05:29:53 +0000 x86\_64 GNU/Linux
我使用:i3wm、picom、pulseaudio。我有配备英特尔处理器的 lenovo x390 Yoga。
我该如何诊断和解决这个问题?
编辑:将 linux 内核升级到 5.10.16 解决了我的问题。尽管如此,我还是会接受@Sylvain POULAIN 的回答,因为它对问题的复杂看法并提供了替代解决方案。
答案1
5.10.15 没有解决这个问题。我仍然有同样的错误。自内核 > 4.19.85(2019 年 11 月!)以来,英特尔错误确实很烦人
作为解决方法,需要启用 i915 guc,如 Archlinux Wiki 中所述:https://wiki.archlinux.org/index.php/Intel_graphics#Enable_GuC_/_HuC_firmware_loading并在其他模块之前加载
恢复 :
- 通过编辑将 guc 参数添加到内核参数
/etc/default/grub
GRUB_CMDLINE_LINUX="i915.enable_guc=2"
/etc/modprobe.d/i915.conf
通过添加文件将 guc 选项添加到 i915 模块:
options i915 enable_guc=2
- 将 i915 添加到
/etc/mkinitcpio.conf
:
MODULES=(i915)
- 重建内核 initramfs(成功构建后需要重新启动):
# mkinitcpio -P
- 删除 xf86-video-intel (驱动程序已在内核中):
# pacman -Rscn xf86-video-intel
答案2
我想我通过降级linux内核解决了这个问题。我通过安装实现了降级器包使用yay
:
yay -S downgrader
然后我运行了downgrader linux
哪个游戏的内核缓存版本列表:
Downgrade package: linux
1: linux-5.9.arch1-https://archive.archlinux.org/packages/l/linux/linux-5.9.arch1-1-x86_64.pkg.tar.zst [installed]
2: linux-5.9.9.archhttps://archive.archlinux.org/packages/l/linux/linux-5.9.9.arch1-1-x86_64.pkg.tar.zst (from ALA)
3: linux-5.9.8.archhttps://archive.archlinux.org/packages/l/linux/linux-5.9.8.arch1-1-x86_64.pkg.tar.zst (from ALA)
4: linux-5.9.7.archhttps://archive.archlinux.org/packages/l/linux/linux-5.9.7.arch1-1-x86_64.pkg.tar.zst (from ALA)
5: linux-5.9.6.archhttps://archive.archlinux.org/packages/l/linux/linux-5.9.6.arch1-1-x86_64.pkg.tar.zst (from ALA)
6: linux-5.9.5.archhttps://archive.archlinux.org/packages/l/linux/linux-5.9.5.arch2-1-x86_64.pkg.tar.zst (from ALA)
7: linux-5.9.4.archhttps://archive.archlinux.org/packages/l/linux/linux-5.9.4.arch1-1-x86_64.pkg.tar.zst (from ALA)
8: linux-5.9.3.archhttps://archive.archlinux.org/packages/l/linux/linux-5.9.3.arch1-1-x86_64.pkg.tar.zst (from ALA)
9: linux-5.9.2.archhttps://archive.archlinux.org/packages/l/linux/linux-5.9.2.arch1-1-x86_64.pkg.tar.zst (from ALA)
10: linux-5.9.14.archttps://archive.archlinux.org/packages/l/linux/linux-5.9.14.arch1-1-x86_64.pkg.tar.zst (from ALA)
11: linux-5.9.13.archttps://archive.archlinux.org/packages/l/linux/linux-5.9.13.arch1-1-x86_64.pkg.tar.zst (from ALA)
12: linux-5.9.12.archttps://archive.archlinux.org/packages/l/linux/linux-5.9.12.arch1-1-x86_64.pkg.tar.zst (from ALA)
13: linux-5.9.11.archttps://archive.archlinux.org/packages/l/linux/linux-5.9.11.arch2-1-x86_64.pkg.tar.zst (from ALA)
14: linux-5.9.11.archttps://archive.archlinux.org/packages/l/linux/linux-5.9.11.arch1-1-x86_64.pkg.tar.zst (from ALA)
15: linux-5.9.10.archttps://archive.archlinux.org/packages/l/linux/linux-5.9.10.arch1-1-x86_64.pkg.tar.zst (from ALA)
16: linux-5.9.1.archhttps://archive.archlinux.org/packages/l/linux/linux-5.9.1.arch1-1-x86_64.pkg.tar.zst (from ALA)
17: linux-5.8.arch1-https://archive.archlinux.org/packages/l/linux/linux-5.8.arch1-2-x86_64.pkg.tar.zst (from ALA)
18: linux-5.8.arch1-https://archive.archlinux.org/packages/l/linux/linux-5.8.arch1-1-x86_64.pkg.tar.zst (from ALA)
19: linux-5.8.9.archhttps://archive.archlinux.org/packages/l/linux/linux-5.8.9.arch2-1-x86_64.pkg.tar.zst (from ALA)
20: linux-5.8.9.archhttps://archive.archlinux.org/packages/l/linux/linux-5.8.9.arch1-1-x86_64.pkg.tar.zst (from ALA)
21: linux-5.8.8.archhttps://archive.archlinux.org/packages/l/linux/linux-5.8.8.arch1-1-x86_64.pkg.tar.zst (from ALA)
22: linux-5.8.7.archhttps://archive.archlinux.org/packages/l/linux/linux-5.8.7.arch1-1-x86_64.pkg.tar.zst (from ALA)
23: linux-5.8.6.archhttps://archive.archlinux.org/packages/l/linux/linux-5.8.6.arch1-1-x86_64.pkg.tar.zst (from ALA)
24: linux-5.8.5.archhttps://archive.archlinux.org/packages/l/linux/linux-5.8.5.arch1-1-x86_64.pkg.tar.zst (from ALA)
25: linux-5.8.4.archhttps://archive.archlinux.org/packages/l/linux/linux-5.8.4.arch1-1-x86_64.pkg.tar.zst (from ALA)
26: linux-5.8.3.archhttps://archive.archlinux.org/packages/l/linux/linux-5.8.3.arch1-1-x86_64.pkg.tar.zst (from ALA)
27: linux-5.8.2.archhttps://archive.archlinux.org/packages/l/linux/linux-5.8.2.arch1-1-x86_64.pkg.tar.zst (from ALA)
28: linux-5.8.14.archttps://archive.archlinux.org/packages/l/linux/linux-5.8.14.arch1-1-x86_64.pkg.tar.zst (from ALA)
29: linux-5.8.13.archttps://archive.archlinux.org/packages/l/linux/linux-5.8.13.arch1-1-x86_64.pkg.tar.zst (from ALA)
30: linux-5.8.12.archttps://archive.archlinux.org/packages/l/linux/linux-5.8.12.arch1-1-x86_64.pkg.tar.zst (from ALA)
我选择第一个,继续安装sudo reboot
。现在当我跑步时uname -a
我得到:
Linux arch-thinkpad 5.9.0-arch1-1 #1 SMP PREEMPT Mon, 12 Oct 2020 18:52:13 +0000 x86_64 GNU/Linux
降级后我没有遇到任何冻结情况。如果发生任何事情或者我会得到更好的问题诊断,我会更新这个答案。
编辑:升级到 5.10.16 解决了该问题