• archlinux intel gpu优化解决视频图片画面割裂的问题


    archlinux在物理机中常起使用已经有大半年了,有一个问题一直没解决。那就是浏览器中快速拖动滚动条,或者看运行速度比较快的视频时,会有明显的画面割裂感。重现这一个现象的最好办法,就是找个动画片,2倍速播放,画面中间会有一条斜线。

    主要是大部分时间是影响不大的。不影响写代码和日常办公。所以这个问题一直没有处理。

    环境信息

    开始之前先看一下我的环境信息:

                       -`                    itkey@vivobook 
                      .o+`                   -------------- 
                     `ooo/                   OS: Arch Linux x86_64 
                    `+oooo:                  Host: VivoBook_ASUSLaptop K3402ZA_K3402ZA 1.0 
                   `+oooooo:                 Kernel: 5.15.76-1-lts 
                   -+oooooo+:                Uptime: 11 mins 
                 `/:-:++oooo+:               Packages: 1397 (pacman) 
                `/++++/+++++++:              Shell: zsh 5.9 
               `/++++++++++++++:             Resolution: 1920x1080, 3840x2160 
              `/+++ooooooooooooo/`           WM: i3 
             ./ooosssso++osssssso+`          Theme: Breeze [GTK2/3] 
            .oossssso-````/ossssss+`         Icons: breeze [GTK2/3] 
           -osssssso.      :ssssssso.        Terminal: kitty 
          :osssssss/        osssso+++.       CPU: 12th Gen Intel i5-12500H (16) @ 4.500GHz 
         /ossssssss/        +ssssooo/-       GPU: Intel Alder Lake-P 
       `/ossssso+/:-        -:/+osssso+-     Memory: 2414MiB / 15621MiB 
      `+sso+:-`                 `.-/+oso:
     `++:.                           `-/+/                           
     .`                                 `/                           
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    显示器组成:

    1. 笔记本内置显示器 2.5K的屏幕 (一般我不启动,合盖)
    2. HDMI接口的1080p 小米23寸显示器(副屏)
    3. type-c接口的4K PHILIPS 27寸显示器(主屏)

    现象

    1. i3wm中播放视频和快速浏览图片有明显画面割裂感。
    2. KDE或者GNOME桌面环境中一切正常。

    原因分析

    1. 因为在KDE中是正常的,所以可以排除是GPU驱动问题。
    2. KDE或者GNOMEawesome+picom都是正常的,那么可以判断可能是i3缺少什么导致,或者有什么BUG。
    3. i3环境中,不连接HDMI接口的1080p 显示器也没有问题。

    解决办法

    网上的解决办法是i3+compton,而这个办法对我是无效的。
    以下两种都不算完美的解决办法,但至少对我是有效的。

    解决办法一:不用i3切换其他桌面环境

    1. 在想看视频的时候切到KDE或者GNOME桌面环境中,写代码或者需要专注时切到i3
    2. 我使用awesome代替i3,同样是平铺窗口环境。工作娱乐都可以。
      当然需要awesome配合picom。
      我的开机启动设置如下:
    -- 合成器
    awful.spawn.with_shell("picom -bc")
    
    • 1
    • 2

    解决办法二:不连接HDMI接口的1080P显示器

    经过我反复的测试发现在i3环境中(有picom),只要不连接 HDMI接口的1080p。就不会有画面撕裂的情况。不清楚是不是因为
    1K屏与4K屏混用导致的这个问题。

    但是就算连接了HDMI接口的1080P显示器在其他桌面环境中就是正常的。会不是是触发了i3的某个bug呢?

    总结

    虽然并不算完美的解决方案。总算一定程度上解决了这个痛点了。为了这个我花了很多时间研究,如果对您有一点点帮助的话,我想要个点赞。


    以下内容是探索的过程,可以忽略。

    探究过程

    测试方法

    1. https://screen.bmcx.com/#test-solid-red
    2. http://tool.mkblog.cn/screentest/
      使用以上网站快速滚动鼠标滚动条,来实现画面快速切换颜色。这样就能看出一条对角线。

    KDE 一切正常只在i3窗口管理器中出现问题

    因为我使用的是i3窗口管理器,有可能有些服务默认没有加载导致的?
    所以我打算使用KDE测试一下。
    测试结果:
    我在KDE中测试了一下,发现确实不存在这个问题。看来是我的i3缺少了什么导致的。这样可以排除的我gpu显卡驱动的问题了。

    i3+compton?(有效,但不完美)

    如题,用的i3wm,在浏览网页或拖动窗口是就会发生撕裂现象。 用compton解决了,原来用的xcompmgr

    在网上看到如上这样的说法。
    我也来测试一下。

    sudo pacman -S picom
    exec_always --no-startup-id picom -bc
    
    • 1
    • 2

    我尝试安装compton,实际安装出来的是picom。用了以后可以显示透明的内容了。
    原本画面撕裂是一整条斜线,现在变成了中间部分的斜线了。并没有完美的解决我的问题。

    KDE中使用i3是否能解决这个问题?

    我参考了以下教程

    https://github.com/heckelson/i3-and-kde-plasma
    确实可以在kde中使用i3做为管理器了,问题依然存在。

    解决办法

    首先说明i3wm环境下的完美解决方案我暂时没有找到,i3+picom能有一定的效果,但是不够完美。
    对我有效的解决方案是:

    1. 在想看视频的时候切到KDE或者GNOME桌面环境中,写代码或者需要专注时切到i3
    2. 我使用awesome代替i3,同样是平铺窗口环境。工作娱乐都可以。
      当然需要awesome配合picom。
      我的开机启动设置如下:
    -- 合成器
    awful.spawn.with_shell("picom -bc")
    
    • 1
    • 2

    补充说明1

    我本以为i3上是解决不了的了。但是我又无意中发现i3+picom的方式 画面又正常了。具体的原因我就无法了解了。

    猜测:

    1. 有没有一种可能是因为我后来安装的GNOME桌面环境或者awesome,自带了什么软件包或者什么驱动之类的,变相的解决了这个问题的呢?
    2. 当然我近期也更新过系统pacman -Syyu。也有可能是更新了什么解决了问题。

    反正最初的时候我仅有i3+KDE+阉割版本的GNOME的时候i3是确实有画面撕裂的问题的。现在问题又没有了。等后面知道具体的原因时我在补充吧。

    补充说明2

    经过我后来排除情况,竟然是我外接了1080p的HDMI显示器后就会出现画面撕裂。

    参考

    《[已解决]画面撕裂的问题》
    https://bbs.archlinuxcn.org/viewtopic.php?id=5412
    《I3_(简体中文)#画面撕裂现象》
    https://wiki.archlinux.org/title/I3_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)#%E7%94%BB%E9%9D%A2%E6%92%95%E8%A3%82%E7%8E%B0%E8%B1%A1
    《picom》
    https://wiki.archlinux.org/title/Picom

  • 相关阅读:
    R语言置信区间计算(confidence interval)、计算均值对应的置信区间、为均值构建95%执行区间、使用glue包把最终结果以标准格式输出
    w字符编码
    如何选择消息队列
    Fundebug JavaScript插件支持监控HTTP请求数据
    oak深度相机入门教程-累积行人计数
    重排链表(leetcode)
    Unity学习笔记--使用 VisualStudio 反编译 dll 代码查看源码
    字符串查询--Python
    P2258 [NOIP2014 普及组] 子矩阵 day16
    5.Mybatis 缓存详解
  • 原文地址:https://blog.csdn.net/lxyoucan/article/details/127861690