KDE 多显示器问题

KDE 多显示器问题

我的 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 上的同步。
当然,天下没有免费的午餐:根据您使用的应用程序,可能会出现一些屏幕撕裂的情况。

相关内容