发布于 

Archlinux 解决 KDE X11 多显示器屏幕撕裂的问题

Archlinux 解决 KDE X11 多显示器屏幕撕裂的问题

起因

为了写代码方便,购置了一块便携屏幕作为竖屏,和原先的显示屏幕组合使用,如下图所示。

image.png
image.png

但是在 X11 下的 kde 显示时,屏幕会撕裂,并且很严重,十分影响体验。换成 Wayland ,则一切良好,但是由于我需要远程连接寝室的电脑,使用 Nomachine 原创连接时,对 Wayland 的支持不好,找了很多方法也没有解决,最终只能回到 X11。硬件信息如下

image.png
image.png

解决过程

参照 Intel graphics - ArchWiki 安装 xf86-video-intel 驱动,并且按照教程配置。

image.png
image.png

出现了非常多的问题,并且找了很多方法都无法完全解决

  1. 开机无法进入登陆界面,一直卡在命令行初始化
  2. 进入桌面屏幕抖动

解决方法就是,ctrl alt F2 切换到其他 tty ,删除 xf86-video-intel 驱动和添加的配置文件。

结果不断了解,xf86-video-intel 驱动已经不建议使用,X11 已经自带了 intel 核显驱动 modesetting

于是为开始查找 modesettingtearing 信息,最终在 Tearfree in modesetting driver is now available but it does not work : archlinux 发现了蛛丝马迹。

  1. /etc/X11/xorg.conf.d 下面添加配置文件如下
    /etc/X11/xorg.conf.d/20-intel.conf
    1
    2
    3
    4
    5
    6
    7
    8
    Section "Device"
    Identifier "Intel Graphics"
    Driver "modesetting"
    Option "TearFree" "true"
    Option "AsyncFlipSecondaries" "true"
    Option "VariableRefresh" "true"
    Option "DoubleShadow" "true"
    EndSectio

其中最主要的是 Driver 选项和 TearFree 选项。但其实按照文章所说,在当时,TearFree 版本的 Xorg 还没有正式发布。需要手动升级才会有效果,命令如下

1
yay -S xorg-server-git

如果不出以外,重启后就不会出现屏幕撕裂的现象了。

总结

Wayland 确实比 X11 优秀太多,但由于软件兼容性的问题,目前还是无法完全过渡到Wayland ,只能在 X11 下将就着用。