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

2023-05-16

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.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")

解决办法二:不连接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

我尝试安装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

我本以为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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

archlinux intel gpu优化解决视频图片画面割裂的问题 的相关文章

  • 循环地址对齐如何影响 Intel x86_64 上的速度?

    我发现相同的 C 代码编译为完全相同的机器指令但位于不同对齐的地址时性能下降了 15 当我的小主循环从 0x415220 开始时 它比从 0x415250 开始时要快 我在 Intel Core2 Duo 上运行它 我在 x86 64 Ub
  • Arch Linux 中没有 OpenGL 3 标头

    我正在尝试使用 FreeGLUT 编译一个非常简单的 Hello world OpenGL 3 3 程序 在我找到的所有教程中 它们都包含标题 gl3 h 问题是我没有这样的头文件 ls l usr include GL total 216
  • Linux 上的 OpenCL,集成英特尔图形芯片

    我想用OpenCL在 Debian 8 上 我读到在本页 http streamcomputing eu blog 2011 12 29 opencl hardware support Linux 上不支持 Intel 的 GPU 这篇文章
  • 如何使用 eclipse Nsight 仅使用一个 GPU 调试 CUDA

    我收到错误 所有 cuda 设备均用于显示 在调试时无法使用 使用Ubuntu 有没有什么方法可以使用 Nsight eclipse 仅使用一个 GPU 进行调试 我见过类似的解决方案 sudo 服务 lightdm 停止 杀死 X 但这也
  • 在 Cython 中使用半精度 NumPy 浮点数

    我正在尝试从一些 Cython 代码将 float16 数据发送到 Nvidia P100 卡 当我使用 float32 时 我可以在 Cython 中定义我的类型 如下所示 DTYPE np float32 ctypedef np flo
  • DRAM 访问的性能计数器

    我想找回DRAM 存取次数在我的应用程序中 准确地说 我需要区分数据和代码访问之间 该处理器是一个Intel R Core TM i7 4720HQ CPU 2 60GHz Haswell 基于英特尔软件开发人员手册 第 3 卷 https
  • TensorFlow 是否使用 GPU 上的所有硬件?

    The 英伟达 GP100 https images nvidia com content pdf tesla whitepaper pascal architecture whitepaper pdf有30个TPC电路和240个 纹理单元
  • 在 Manjaro 上安装 MongoDB

    我在 Manjaro Linux 上安装 MongoDB 社区服务器时遇到困难 没有关于如何在基于 Arch 的系统上安装它的官方文档 并且 Pacman 在 AUR 存储库中找不到它 有人尝试过安装它吗 这是我安装时所做的 由于包装是无法
  • 鉴于 GPU 有任务队列并且是异步的,计算 FPS 的正确方法是什么?

    我始终认为计算 FPS 的正确方法是简单地计算绘制循环迭代所需的时间 互联网上的大部分内容似乎都是一致的 But 现代显卡被视为异步服务器 因此绘制循环会发出 GPU 上已有的顶点 纹理 等数据的绘制指令 这些调用不会阻塞调用线程 直到 G
  • 英特尔 SGX 开发者许可和开源软件

    是否可以获得许可的开发人员证书 用于在生产模式下签署经过安全审查 社区开发的开源 SGX 软件二进制文件 并将其发布到 apt 或 rpm 等开源存储库上 我刚刚询问了Intel SGX团队 他们说只有经过验证的供应商才能获得证书并在生产模
  • BOOST_LIKELY 和 __builtin_expect 仍然相关吗?

    我明白所解释的内容here https stackoverflow com questions 7346929 why do we use builtin expect when a straightforward way is to us
  • 使用 ruby​​-install/ruby-build 在 Archlinux 上安装 Ruby 2.1.x 和 2.3.x 时出现 OpenSSL 错误

    我在 Archlinux 上使用 ruby install 构建旧版本的 Ruby 时遇到了一些问题 我怀疑 ruby build 也会发生同样的情况 尝试安装 Ruby 2 1 5 2 1 6 2 3 0 2 3 1 2 3 4 后 我看
  • 同时使用 2 个 GPU 调用 cudaMalloc 时性能较差

    我有一个应用程序 可以在用户系统上的 GPU 之间分配处理负载 基本上 每个 GPU 都有一个 CPU 线程来启动一个GPU处理间隔当由主应用程序线程定期触发时 考虑以下图像 使用 NVIDIA 的 CUDA 分析器工具生成 作为示例GPU
  • 如何在使用 GPU 支持编译的 macOS 上安装 Xgboost?

    我尝试在过去 3 天的 MacOS Mojave 10 14 6 上安装集成了 GPU 支持的 xgboost 但是没有成功 我尝试了两种方法 pip 安装 xgboost xgboost 安装在这里 并且在没有 GPU 选项的情况下成功运
  • C# - 获取 GPU 的总使用百分比

    我正在向我的程序添加一些新功能 这些功能当前通过串行连接将 CPU 使用情况和 RAM 使用情况发送到 Arduino 请参阅this https create arduino cc projecthub thesahilsaluja cp
  • iOS 上的 OpenCV - GPU 使用情况?

    我正在尝试开发一个 iOS 应用程序 可以对来自相机的视频执行实时效果 就像 iPad 上的 Photobooth 一样 我熟悉 OpenCV 的 API 但如果大多数处理是在 CPU 上完成而不是在 GPU 上完成 我担心 iOS 上的性
  • 在 x86 Intel VT-X 非根模式下,是否可以在每个指令边界传递中断?

    除了不将中断传送到虚拟处理器的某些正常指定条件 cli if 0 等 之外 客户机中的所有指令实际上都是可中断的吗 也就是说 当传入的硬件中断先传递给 LAPIC 然后传递给处理器时 据说会发生一些内部魔法 将其转换为虚拟中断给来宾 使用虚
  • Tensorflow:docker 镜像和 -gpu 后缀

    在具有 GPU 支持的 Tensorflow 的 Docker 映像中 例如 tensorflow tensorflow 2 2 0 gpu 安装的python包是tensorflow gpu 如图所示pip freeze 安装任何依赖于的
  • 超出 CreateConstantBufferView 处虚拟地址的末尾

    我正在遵循 使用 DirectX12 进行游戏编程 ch 6 代码 但在 ID3DDevice CreateConstantBufferView 中 我发现 D3D12 错误 D3D12 错误 ID3D12Device CreateCons
  • GPU的编程语言有哪些

    我读过一篇文章 指出 GPU 是超级计算的未来 我想知道在GPU上编程使用什么编程语言 OpenCL 是开放式跨平台解决方案 可在 GPU 和 CPU 上运行 另一个是 NVIDIA 为其 GPU 构建的 CUDA HLSL Cg 等少数几

随机推荐

  • Nginx 服务器 SSL 证书安装部署配置https

    我使用的是腾讯的云服务器 xff0c 所以直接参考腾讯的官方文档很容易就实现了 详见文档 xff1a https cloud tencent com document product 400 35244 腾讯云服务器 步骤 申请证书 htt
  • javascript 获取url中的参数

    方法封装 span class token keyword function span span class token function getAllUrlParams span span class token punctuation
  • npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果 包括路径,请确保路径正确,然后再试一次。

    项目场景 xff1a 使用HBuilder X导入项目后 xff0c 在内置终端执行npm install命令时报错 问题描述 报错提示如下 xff1a npm span class token operator span 无法将 npm
  • VirtualBox 常用命令

    查看虚拟机列表 VBoxManage list vms 我这里显示的是 windows10LTSC 2fa64002 44ca 4ec1 a76e cf56aee5105c 这个名称 xff0c 我们后面会用的到 开启虚拟机在后台运行 VB
  • windows10自动登录

    输入用户名密码 xff0c 有利于保护数据的安全 但是如果我使用的是虚拟机 xff0c 或者本身也不存在什么敏感数据 每次输入用户名密码就会显的繁琐了 那么怎么设置用户自动登录呢 xff1f 软件实现 以前我都是使用软件实现的 xff0c
  • i3 Android Emulator floating模拟器浮动

    在i3 wm窗口管理器中 xff0c 开发android应用 模拟器平铺效果不太好 xff0c 会一直闪屏 所以我希望android模拟器默认是浮动的效果 设置如下 xff1a span class token comment Androi
  • xmodmap开机自动启动

    xmodmap我在i3中设置的开机自动启动一直不生效 xff0c 因为一直忙也没有时间研究 就每次手动启动一下 手动启动总之还是麻烦 xff0c 忙里偷闲 xff0c 研究一下 现象 xmodmap命令设置开启自动启动 xff0c 无效 x
  • archlinux更新后fcitx5无法使用

    现象 今天遇到一个非常奇怪的事情 xff0c 我更新完archlinux以后发现我的fcitx5中文输入法无法使用了 严谨点说 xff1a kitty终端中可以使用 其他常见程序中都无法使用 i3wm和 KDE桌面环境中都无法正常使用 环境
  • archlinux 安装ibus-rime

    中州韵输入法引擎 xff08 英语 xff1a Rime Input Method Engine xff0c 又称Rime 输入法 xff09 是由佛振编写的开源中文输入法 xff0c 目前项目网站 源代码均托管在GitHub 注 1 基于
  • vscode xmodmap转义的esc无效解决办法

    在archlinux中使用xmodmap把大小写按键 映射成esc 在vim xff0c IDEA中使用正常 xff0c 但是在vscode 中按大小写转换键没法达成esc效果 解决办法 span class token string pr
  • archlinux fcitx5-rime五笔输入法

    Rime xff08 中州韵输入法引擎 xff09 是一款支持多种输入方案的输入法引擎 Rime 本身没有用于处理用户输入的前端 xff0c 需要配合输入法框架才能使用 xff0c 比如 Fcitx5 简体中文 或 IBus 简体中文 折腾
  • i3wm调整缩放

    4K显示器 xff0c i3wm默认显示字体太小了 如何调整呢 xff1f 如果您没有使用桌面环境 xff08 如 KDE Xfce 或其他为您操作 X 设置的环境 xff09 xff0c 您可以通过 Xresources 中的变量手动设置
  • linux解压rar

    在linux中比较常见的压缩包有gz tar zip bz2 我个人是比较喜欢使用zip xff0c 免费且通用 xff0c linux macOS和windows支持都不错 我的大部分同事使用的是windows 在Windows中比较常用
  • npm install报error code 1;npm run build报Node Sass does not yet support your current environment

    项目场景 xff1a 本人已提前安装了nodejs xff0c 且此文仅描述本人所遇问题及解决方案 有类似问题的朋友 xff0c 此文提供的解决方案仅供参考 HBuilder X 导入项目 xff0c npm install安装依赖 xff
  • 如何在 Ubuntu 安装 Microsoft Edge

    终端 CLI 方式 更喜欢从命令行安装软件 xff1f 我们为您提供保障 只需将以下命令复制 粘贴到您选择的终端模拟器中即可 第一 xff1a 设置脚本 这会将 Microsoft Edge 存储库添加到您的系统 xff0c 并导入 Mic
  • MATLAB学习笔记

    项目需要用到matlab xff0c 我是这方面的小白 做一下简单的笔记 xff0c 仅供自己查阅使用 链接 MATLAB 入门之旅 视频教程 https matlabacademy mathworks com R2022a cn port
  • windows11 虚拟桌面快捷键

    我大部时间在使用macOS xff0c Linux 已经无法离开虚拟桌面了 因为部分工作必须要在windows下完成 xff0c 所以就想适应一下windows11的虚拟桌面的快捷键 项目ValueWin 43 Tab任务视图Win 43
  • windows中使用curl

    curl这个工具在linux和macOS都经常使用 xff0c 感觉挺实用的 在windows中默认也带了一个但是用起来不太一样 xff0c 于是就想自己手动安装一个原汁原味的curl 下载安装 https curl se windows
  • Powershell命令行设置代理

    在linux中的命令行 xff0c 临时使用代理非常的方便 export ALL PROXY 61 socks5 127 0 0 1 1080 那么在windows有类似的环境变量吗 xff1f 答案是肯定的 PowerShell 命令行代
  • archlinux intel gpu优化解决视频图片画面割裂的问题

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