搭载英特尔显卡的 Ubuntu Xorg 20.04 出现屏幕撕裂

搭载英特尔显卡的 Ubuntu Xorg 20.04 出现屏幕撕裂

我对 Linux 和 Ubuntu 还不太熟悉。昨天刚刚在我的 ASUS ZenBook S13 上将其换成了 Windows 10。

我注意到很多画面撕裂,不仅是在快速移动的视频中,甚至当我将鼠标悬停在存档管理器中的文件上或在 Firefox 中滚动时也是如此(是的,我已经激活了Firefox 内部 VSync 选项)。

我尝试了一些方法,例如Tear Free true20-intel.conf文件中。这个选项解决了我的撕裂问题,但带来了另一个更大的问题。看看它对我的桌面做了什么。但这些只出现在我的桌面上,而不出现在浏览器等其他窗口上,而且它们会有所不同,有时是 3 个。

Wayland 似乎也解决了这个问题,但是有几个原因让我不想使用 Wayland,比如没有分数缩放、抗锯齿效果较差以及光标在系统窗口(如终端或设置)上的大小是原来的两倍这个奇怪的错误。

当我激活文件中的其他选项20-intel.conf(例如Triple buffer true或 )时Accel method uxa,我无法登录,只有当我使用 Wayland 时才可以。

我的期望是,我可以使用正常的 Ubuntu(没有 Wayland)而不会出现任何屏幕撕裂。

我提供了有关我的 VGA 控制器和下面我的文件的当前状态的信息20-intel.conf

00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (Whiskey Lake) (prog-if 00 [VGA controller])
        DeviceName: VGA
        Subsystem: ASUSTeK Computer Inc. UHD Graphics 620 (Whiskey Lake)
        Flags: bus master, fast devsel, latency 0, IRQ 146
        Memory at b0000000 (64-bit, non-prefetchable) [size=16M]
        Memory at a0000000 (64-bit, prefetchable) [size=256M]
        I/O ports at 3000 [size=64]
        Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
        Capabilities: <access denied>
        Kernel driver in use: i915
        Kernel modules: i915

20-intel.conf

Section "Device"
    Identifier "Intel Graphics"
    Driver "intel"
#   Option "AccelMethod" "uxa"
    Option "TearFree" "true"
#   Option "TripleBuffer "true"
EndSection

答案1

不幸的是,这对我来说不起作用。我可以通过修改/etc/X11/xorg.conf.d/20-intel-graphics.conf文件以包含 DRI3 来修复这个问题,我发现这里

Section "Module"
    Load "dri3"
EndSection

Section "Device"
    Identifier  "Intel Graphics"
    Driver      "intel"
    Option      "DRI"   "3"
EndSection

答案2

我通过替换包含以下配置来解决了这个/etc/X11/xorg.conf.d/20-intel.conf问题/usr/share/X11/xorg.conf.d/20-intel.conf

Section "Device"
    Identifier "Intel Graphics"
    Driver "modesetting"
EndSection

我不再有撕裂感并且能够使用 waylandfree Ubuntu。:)

希望这对任何人都有帮助!

PS:我使用以下方法测试了撕裂情况这个 YouTube 视频(癫痫警告!)并且像中风一样移动窗户。

答案3

以上方法都不适用于我,但我发现了一些简单的方法:

xrandr --output HDMI3 --transform 1,0,-1,0,1,-1,0,0,1

这会将屏幕向下移动一个像素,向右移动一个像素。我确实会丢失一行和一列的像素,但它会阻止鼠标指针击中左边缘或上边缘,而这似乎是我遇到的这种情况的诱因。

答案4

您可以尝试在 SMplayer 或 Xorg 中的其他播放器中禁用纵横比,这对我来说已经解决了该问题。

编辑:你试过使用合成器吗?比如 kwin/Picom,可以轻松修复撕裂,也适用于 AMD

相关内容