我遇到了以下问题:我的笔记本电脑已挂起并通过 Thunderbolt 连接到扩展坞。当我按下某个键唤醒笔记本电脑时,外接显示器(通过扩展坞连接)打开,一切正常。然后,几秒钟后,它短暂变黑,然后再次打开,但这次出现了屏幕撕裂。我在日志中发现以下消息:
Mär 31 11:10:22 findus kernel: [drm:drm_dp_mst_dpcd_read [drm_kms_helper]] *ERROR* mstb 000000004c46c010 port 3: DPCD read on addr 0x4b0 for 1 bytes NAKed
Mär 31 11:10:26 findus systemd[1]: Starting autorandr execution hook...
Mär 31 11:10:26 findus /usr/lib/gdm3/gdm-x-session[2595]: (II) intel(0): Enabled output DP1-2
Mär 31 11:10:26 findus /usr/lib/gdm3/gdm-x-session[2595]: (II) intel(0): Enabled output DP1-2
Mär 31 11:10:26 findus dunst[3923]: CRITICAL: Get monitors reported 0 monitors. Falling back to single monitor mode.
Mär 31 11:10:26 findus /usr/lib/gdm3/gdm-x-session[2595]: (EE) intel(0): Failed to prepare CRTC for page flipping, disabling TearFree
Mär 31 11:10:26 findus /usr/lib/gdm3/gdm-x-session[2728]: [../i3bar/src/xcb.c:1042] ERROR: PropertyNotify received for unknown window 00800874
Mär 31 11:10:26 findus /usr/lib/gdm3/gdm-x-session[2728]: [../i3bar/src/xcb.c:1042] ERROR: PropertyNotify received for unknown window 00e0038d
Mär 31 11:10:26 findus /usr/lib/gdm3/gdm-x-session[2595]: (II) intel(0): switch to mode [email protected] on DP1-2 using pipe 0, position (0, 0), rotation normal, reflection none
Mär 31 11:10:26 findus terminator[19558]: gdk_event_set_source_device: assertion 'GDK_IS_DEVICE (device)' failed
Mär 31 11:10:26 findus terminator[19558]: gdk_device_get_source: assertion 'GDK_IS_DEVICE (device)' failed
Mär 31 11:10:26 findus terminator[19558]: gdk_event_set_source_device: assertion 'GDK_IS_DEVICE (device)' failed
Mär 31 11:10:26 findus autorandr[292558]: autorandr running as user cmosig (started from batch instance)
Mär 31 11:10:26 findus autorandr[292558]: home (detected)
Mär 31 11:10:26 findus autorandr[292558]: beamer
Mär 31 11:10:26 findus autorandr[292558]: laptop
Mär 31 11:10:26 findus /usr/lib/gdm3/gdm-x-session[2728]: [../i3bar/src/xcb.c:1042] ERROR: PropertyNotify received for unknown window 00e0039e
Mär 31 11:10:26 findus /usr/lib/gdm3/gdm-x-session[2728]: [../i3bar/src/xcb.c:1042] ERROR: PropertyNotify received for unknown window 0080088f
Mär 31 11:10:26 findus /usr/lib/gdm3/gdm-x-session[2728]: [../i3bar/src/xcb.c:864] ERROR: Error getting _XEMBED_INFO property: error_code 3
Mär 31 11:10:26 findus autorandr[292553]: Running autorandr as cmosig for display :0
Mär 31 11:10:26 findus systemd[1]: autorandr.service: Succeeded.
Mär 31 11:10:26 findus systemd[1]: Finished autorandr execution hook.
Mär 31 11:10:32 findus kernel: [drm:drm_dp_mst_dpcd_read [drm_kms_helper]] *ERROR* mstb 000000004c46c010 port 1: DPCD read on addr 0x4b0 for 1 bytes NAKed
其中一行写着“禁用 TearFree”,所以它可能与此有关。有人知道我该如何解决这个问题吗?这是 autorandr 的计时问题吗?我可以提供其他有用的信息吗?
(我可以通过在不同的 autorandr 配置之间来回切换一次来解决撕裂问题。但这真的很烦人......)
答案1
添加Option "TripleBuffer" "true"
英特尔驱动程序配置文件20-intel.conf
似乎可以解决该问题。
编辑:这似乎没有完全解决问题。这有帮助,但在暂停系统后,我仍然经常遇到屏幕撕裂的情况。