archlinux intel gpu优化解决视频图片画面割裂的问题
Posted ITKEY_
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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:
`++:. `-/+/
.` `/
显示器组成:
- 笔记本内置显示器 2.5K的屏幕 (一般我不启动,合盖)
- HDMI接口的1080p 小米23寸显示器(副屏)
- type-c接口的4K PHILIPS 27寸显示器(主屏)
现象
- 在
i3wm
中播放视频和快速浏览图片有明显画面割裂感。 - 在
KDE
或者GNOME
桌面环境中一切正常。
原因分析
- 因为在
KDE
中是正常的,所以可以排除是GPU驱动问题。 KDE
或者GNOME
,awesome+picom
都是正常的,那么可以判断可能是i3缺少什么导致,或者有什么BUG。- i3环境中,不连接HDMI接口的1080p 显示器也没有问题。
解决办法
网上的解决办法是i3+compton,而这个办法对我是无效的。
以下两种都不算完美的解决办法,但至少对我是有效的。
解决办法一:不用i3切换其他桌面环境
- 在想看视频的时候切到
KDE
或者GNOME
桌面环境中,写代码或者需要专注时切到i3
。 - 我使用
awesome
代替i3
,同样是平铺窗口环境。工作娱乐都可以。
当然需要awesome配合picom。
我的开机启动设置如下:
-- 合成器
awful.spawn.with_shell("picom -bc")
解决办法二:不连接HDMI接口的1080P显示器
经过我反复的测试发现在i3环境中(有picom),只要不连接 HDMI接口的1080p。就不会有画面撕裂的情况。不清楚是不是因为
1K屏与4K屏混用导致的这个问题。
但是就算连接了HDMI接口的1080P显示器
在其他桌面环境中就是正常的。会不是是触发了i3的某个bug呢?
总结
虽然并不算完美的解决方案。总算一定程度上解决了这个痛点了。为了这个我花了很多时间研究,如果对您有一点点帮助的话,我想要个点赞。
以下内容是探索的过程,可以忽略。
探究过程
测试方法
- https://screen.bmcx.com/#test-solid-red
- 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
我尝试安装compton
,实际安装出来的是picom
。用了以后可以显示透明的内容了。
原本画面撕裂是一整条斜线,现在变成了中间部分的斜线了。并没有完美的解决我的问题。
KDE中使用i3是否能解决这个问题?
我参考了以下教程
https://github.com/heckelson/i3-and-kde-plasma
确实可以在kde中使用i3做为管理器了,问题依然存在。
解决办法
首先说明i3wm
环境下的完美解决方案我暂时没有找到,i3
+picom能有一定的效果,但是不够完美。
对我有效的解决方案是:
- 在想看视频的时候切到
KDE
或者GNOME
桌面环境中,写代码或者需要专注时切到i3
。 - 我使用
awesome
代替i3
,同样是平铺窗口环境。工作娱乐都可以。
当然需要awesome配合picom。
我的开机启动设置如下:
-- 合成器
awful.spawn.with_shell("picom -bc")
补充说明1
我本以为i3上是解决不了的了。但是我又无意中发现i3+picom的方式 画面又正常了。具体的原因我就无法了解了。
猜测:
- 有没有一种可能是因为我后来安装的
GNOME
桌面环境或者awesome
,自带了什么软件包或者什么驱动之类的,变相的解决了这个问题的呢? - 当然我近期也更新过系统
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
以上是关于archlinux intel gpu优化解决视频图片画面割裂的问题的主要内容,如果未能解决你的问题,请参考以下文章
解决intel TGL iGPU 与 nvidia GPU不能同时使用的问题
ArchLinux双显卡配置Intel-UHD630+NVIDIA1060
视频解码性能对比opencv + cuvid + gpu vs. ffmpeg + cpu