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:`++:. `-/+/ .` `/
显示器组成:
i3wm
中播放视频和快速浏览图片有明显画面割裂感。KDE
或者GNOME
桌面环境中一切正常。KDE
中是正常的,所以可以排除是GPU驱动问题。KDE
或者GNOME
,awesome+picom
都是正常的,那么可以判断可能是i3缺少什么导致,或者有什么BUG。网上的解决办法是i3+compton,而这个办法对我是无效的。
以下两种都不算完美的解决办法,但至少对我是有效的。
KDE
或者GNOME
桌面环境中,写代码或者需要专注时切到i3
。awesome
代替i3
,同样是平铺窗口环境。工作娱乐都可以。-- 合成器
awful.spawn.with_shell("picom -bc")
经过我反复的测试发现在i3环境中(有picom),只要不连接 HDMI接口的1080p。就不会有画面撕裂的情况。不清楚是不是因为
1K屏与4K屏混用导致的这个问题。
但是就算连接了HDMI接口的1080P显示器
在其他桌面环境中就是正常的。会不是是触发了i3的某个bug呢?
虽然并不算完美的解决方案。总算一定程度上解决了这个痛点了。为了这个我花了很多时间研究,如果对您有一点点帮助的话,我想要个点赞。
以下内容是探索的过程,可以忽略。
因为我使用的是i3窗口管理器,有可能有些服务默认没有加载导致的?
所以我打算使用KDE测试一下。
测试结果:
我在KDE中测试了一下,发现确实不存在这个问题。看来是我的i3缺少了什么导致的。这样可以排除的我gpu显卡驱动的问题了。
如题,用的i3wm,在浏览网页或拖动窗口是就会发生撕裂现象。 用compton解决了,原来用的xcompmgr
在网上看到如上这样的说法。
我也来测试一下。
sudo pacman -S picom
exec_always --no-startup-id picom -bc
我尝试安装compton
,实际安装出来的是picom
。用了以后可以显示透明的内容了。
原本画面撕裂是一整条斜线,现在变成了中间部分的斜线了。并没有完美的解决我的问题。
我参考了以下教程
https://github.com/heckelson/i3-and-kde-plasma
确实可以在kde中使用i3做为管理器了,问题依然存在。
首先说明i3wm
环境下的完美解决方案我暂时没有找到,i3
+picom能有一定的效果,但是不够完美。
对我有效的解决方案是:
KDE
或者GNOME
桌面环境中,写代码或者需要专注时切到i3
。awesome
代替i3
,同样是平铺窗口环境。工作娱乐都可以。-- 合成器
awful.spawn.with_shell("picom -bc")
我本以为i3上是解决不了的了。但是我又无意中发现i3+picom的方式 画面又正常了。具体的原因我就无法了解了。
猜测:
GNOME
桌面环境或者awesome
,自带了什么软件包或者什么驱动之类的,变相的解决了这个问题的呢?pacman -Syyu
。也有可能是更新了什么解决了问题。反正最初的时候我仅有i3
+KDE
+阉割版本的GNOME
的时候i3是确实有画面撕裂的问题的。现在问题又没有了。等后面知道具体的原因时我在补充吧。
经过我后来排除情况,竟然是我外接了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