通过 DP 或 HDMI 连接外接显示器时,我的笔记本电脑会冻结

通过 DP 或 HDMI 连接外接显示器时,我的笔记本电脑会冻结

我有一台新的 DELL 7440 笔记本电脑,装有 Ubuntu 22.04.03,我使用的是 Xorg 而不是 Wayland。当我通过扩展坞 Dell WD19TB 的 Display Port 或直接使用 HDMI 电缆连接外接显示器时,一段时间后笔记本电脑会冻结。我仍然可以移动“指针”,但系统变得无法使用,必须关闭。在未连接外接显示器的情况下使用笔记本电脑时不会发生这种情况。

我在系统日志文件中发现了以下消息:

Jan 14 11:42:41 grossi-Latitude-7440 kernel: [ 2827.331368] i915 0000:00:02.0: [drm] *ERROR* flip_done timed out
Jan 14 11:42:41 grossi-Latitude-7440 kernel: [ 2827.331377] i915 0000:00:02.0: [drm] *ERROR* [PLANE:82:plane 1B] commit wait timed out
Jan 14 11:42:51 grossi-Latitude-7440 kernel: [ 2837.571179] i915 0000:00:02.0: [drm] *ERROR* [CRTC:131:pipe B] flip_done timed out
Jan 14 11:43:01 grossi-Latitude-7440 kernel: [ 2847.810994] i915 0000:00:02.0: [drm] *ERROR* flip_done timed out
Jan 14 11:43:01 grossi-Latitude-7440 kernel: [ 2847.811004] i915 0000:00:02.0: [drm] *ERROR* [CRTC:131:pipe B] commit wait timed out
Jan 14 11:43:11 grossi-Latitude-7440 kernel: [ 2858.050798] i915 0000:00:02.0: [drm] *ERROR* flip_done timed out
Jan 14 11:43:11 grossi-Latitude-7440 kernel: [ 2858.050809] i915 0000:00:02.0: [drm] *ERROR* [CONNECTOR:272:DP-3] commit wait timed out

我快速搜索了一下,猜测这可能是内核错误。有人可以确认一下并指出具体错误,以便我可以在修复时收到通知吗?

答案1

我也是,我用的是三星 Book2,Ubuntu 22.04.3,内核 6.5.0-14-generic 和 wayland。我用的是两个屏幕,其中一个屏幕卡住了,另一个屏幕没有卡住。

jan 19 08:18:07 book2 kernel: i915 0000:00:02.0:
[drm] *ERROR* [CRTC:131:pipe B] flip_done timed out

如果你等待,大约 20 分钟后它就会恢复正常。如果你锁定(Ctrl + Alt + Shift + L)并等待几秒钟它也会恢复正常。

答案2

对于那些感兴趣的人,linux 系统似乎已将其归咎于 vsync 问题。这个问题似乎从 6.x 内核开始就出现了。我在 22.04 上运行一台配备英特尔 12700H 和 Nvidia GTX1650 的笔记本电脑,升级到 525 驱动程序似乎并不重要。

这一页1指的是自由桌面这让我找到了解决方案在另一个答案中。我将尝试启动参数(首先是 6.7 内核;6.7 不适用于 22.04)。一旦结果出来,我就会回来。

答案3

根据 @Jeroen 的评论,我已经处理同一个问题一个星期了。前面的评论中提到的启动参数以及https://gitlab.freedesktop.org/drm/intel/-/issues/8685似乎可以工作(过去几天没有崩溃)但它又回来了。

在同一个 gitlab 上,一个月前有一条评论说它已经在 v6.7 上进行了修补,因此看来更改内核版本是目前唯一可行的途径,但据我所知,6.7 尚未在 22.04 上可用。

答案4

添加i915.dmc_firmware_path=GRUB 对我来说是有用的(Ubuntu 22.04.4,6.5.0-21-generic)。

# Edit grub and add `i915.dmc_firmware_path=` to `GRUB_CMDLINE_LINUX_DEFAULT`.
vi /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="i915.dmc_firmware_path= quiet splash"

保存并更新 grub

update-grub

相关内容