我的 kubuntu 笔记本电脑上有两台外部显示器,一台在工作时分辨率为 1920x1200,另一台在家里分辨率为 1920x1080。
当我连接到任一显示器时,有一半的时间屏幕会以奇怪的方式平铺并且变得无法使用并迫使我重新启动。
屏幕问候语(sddm
如上图所示)和我在插入显示器之前登录时都会发生这种情况。
鼠标仍然根据事物的实际位置移动和改变光标,但我看到的都是错误的且一成不变的。系统仍然有效,我可以远程登录或通过 Ctrl-Alt-Console 登录。
# lshw -c video
*-display
description: VGA compatible controller
product: TigerLake-LP GT2 [Iris Xe Graphics]
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
logical name: /dev/fb0
version: 01
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list rom fb
configuration: depth=32 driver=i915 latency=0 mode=1920x1080 resolution=1920,1080 visual=truecolor xres=1920 yres=1080
resources: iomemory:600-5ff iomemory:400-3ff irq:160 memory:6052000000-6052ffffff memory:4000000000-400fffffff ioport:3000(size=64) memory:c0000-dffff memory:4010000000-4016ffffff memory:4020000000-40ffffffff
$ lsmod
video 61440 3 dell_wmi,dell_laptop,i915
...
当这种情况发生时,我看不到任何特别的东西Xorg.log
。我也尝试过killall plasmashell; kstart5 plasmashell
但没有效果。
我该如何进一步诊断或修复它?!?
编辑:添加 xrandr 输出。 (注意,我还没有再次发生过崩溃;发生这种情况时我会添加它。也许@MC68020是对的......)
$ xrandr -q # Only laptop, no external monitor
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
eDP1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 310mm x 170mm
1920x1080 60.00*+ 59.93
1680x1050 59.88
1400x1050 59.98
1600x900 60.00 59.95 59.82
1280x1024 60.02
1400x900 59.96 59.88
1280x960 60.00
1368x768 60.00 59.88 59.85
1280x800 59.81 59.91
1280x720 59.86 60.00 59.74
1024x768 60.00
1024x576 60.00 59.90 59.82
960x540 60.00 59.63 59.82
800x600 60.32 56.25
864x486 60.00 59.92 59.57
640x480 59.94
720x405 59.51 60.00 58.99
640x360 59.84 59.32 60.00
DP1 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
$ xrandr -q # With working home monitor
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)
LVDS-1-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 382mm x 215mm
1920x1080 60.00*+ 60.00
1680x1050 60.00
1400x1050 60.00
1600x900 60.00
1280x1024 60.00
1400x900 60.00
1280x960 60.00
1440x810 60.00
1368x768 60.00
1280x800 60.00
1280x720 60.00
1024x768 60.00
960x720 60.00
928x696 60.00
896x672 60.00
1024x576 60.00
960x600 60.00
960x540 60.00
800x600 60.00
840x525 60.00
864x486 60.00
700x525 60.00
800x450 60.00
640x512 60.00
700x450 60.00
640x480 60.00
720x405 60.00
684x384 60.00
640x360 60.00
512x384 60.00
512x288 60.00
480x270 60.00
400x300 60.00
432x243 60.00
320x240 60.00
360x202 60.00
320x180 60.00
VGA-1-1 disconnected (normal left inverted right x axis y axis)
$ xrandr -q # With working work monitor
Screen 0: minimum 8 x 8, current 3840 x 1200, maximum 32767 x 32767
eDP1 connected primary 1920x1080+1920+120 (normal left inverted right x axis y axis) 310mm x 170mm
1920x1080 60.00*+ 59.93
1680x1050 59.88
1400x1050 59.98
1600x900 60.00 59.95 59.82
1280x1024 60.02
1400x900 59.96 59.88
1280x960 60.00
1368x768 60.00 59.88 59.85
1280x800 59.81 59.91
1280x720 59.86 60.00 59.74
1024x768 60.00
1024x576 60.00 59.90 59.82
960x540 60.00 59.63 59.82
800x600 60.32 56.25
864x486 60.00 59.92 59.57
640x480 59.94
720x405 59.51 60.00 58.99
640x360 59.84 59.32 60.00
DP1 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
DP2-1 disconnected (normal left inverted right x axis y axis)
DP2-2 disconnected (normal left inverted right x axis y axis)
DP2-3 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 520mm x 320mm
1920x1200 59.95*+
1920x1080 60.00 50.00 59.94
1600x1200 60.00
1680x1050 59.88
1600x900 60.00
1280x1024 60.02
1440x900 59.90
1280x800 59.91
1280x720 60.00 50.00 59.94
1024x768 60.00
800x600 60.32
720x576 50.00
720x480 60.00 59.94
640x480 60.00 59.94
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
$ xrandr -q # LAST EDIT: With partially duplicated home monitor.
# By this I mean instead of having an 'extend to left'
# I get an unusable copy of my main screen. But it's recoverable
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 32767 x 32767
eDP1 connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 310mm x 170mm
1920x1080 60.00*+ 59.93
1680x1050 59.88
1400x1050 59.98
1600x900 60.00 59.95 59.82
1280x1024 60.02
1400x900 59.96 59.88
1280x960 60.00
1368x768 60.00 59.88 59.85
1280x800 59.81 59.91
1280x720 59.86 60.00 59.74
1024x768 60.00
1024x576 60.00 59.90 59.82
960x540 60.00 59.63 59.82
800x600 60.32 56.25
864x486 60.00 59.92 59.57
640x480 59.94
720x405 59.51 60.00 58.99
640x360 59.84 59.32 60.00
DP1 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 530mm x 300mm
1920x1080 60.00*+
1600x900 60.00
1280x1024 75.02 60.02
1152x864 75.00
1024x768 75.03 60.00
800x600 75.00 60.32
640x480 75.00 59.94
720x400 70.08
DP2 disconnected (normal left inverted right x axis y axis)
DP2-1 disconnected (normal left inverted right x axis y axis)
DP2-2 disconnected (normal left inverted right x axis y axis)
DP2-3 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
HDMI3 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
答案1
KDE 多显示器问题
是的,确实,领先的 KDE 开发人员写得更糟:可用性的祸害。
根据 Marco Martin 的博客文章,由于重大重构,5.27 的情况应该会变得更好。
大多数问题是由于使用连接器 ID 来识别屏幕和映射 Plasma 桌面以及遏制到屏幕。
这效果很差,因为连接器 ID 可以并且确实在各种情况下发生变化。结果,事情常常变得一团糟,行为要么是随机的,要么是一贯错误的。
xrandr -q
因此,作为我的OP评论的一部分,要求提供各种报告。
在这种情况下,合成器当然会让事情变得更糟。因此,我的第一个建议是完全禁用合成。 (通过system settings>Display&Monitor>Compositor
菜单。
我从您的编辑中了解到这可能会有所帮助。
但实际上有可能只有 vblank 上的同步会破坏合成器计算。
因此,如果需要合成器或愿意深入研究,可以重新启用合成器(通过系统设置菜单)并通过KWIN_X11_NO_SYNC_TO_VBLANK=1
环境变量设置禁用 vblank 上的同步。
当然,天下没有免费的午餐:根据您使用的应用程序,可能会出现一些屏幕撕裂的情况。