Chrome 自升级至 85.0.4183.83 后出现奇怪的闪烁

Chrome 自升级至 85.0.4183.83 后出现奇怪的闪烁

自从在我的 Ubuntu 20.04.1 机器上更新到 Google Chrome 85.0.4183.83(官方版本)以来,Chrome 出现了一些奇怪的闪烁。特别是在左上角,键盘输入或鼠标移动时会显示大块像素。以下 GIF 是我在输入此问题时在此页面上录制的。

有没有永久的解决办法可以解决这个问题?似乎在设置中禁用硬件加速是一种解决方法。

我在他们的问题跟踪器上找不到任何错误报告。

Chrome 像素故障

inxi的图形输出:

Graphics:  Device-1: Advanced Micro Devices [AMD/ATI] Hawaii PRO [Radeon R9 290/390] vendor: ASUSTeK driver: radeon v: kernel 
       bus ID: 01:00.0 chip ID: 1002:67b1 
       Display: x11 server: X.Org 1.20.8 driver: ati,fbdev unloaded: modesetting,radeon,vesa compositor: gnome-shell 
       resolution: 2560x1440~60Hz, 1920x1200~60Hz 
       OpenGL: renderer: AMD HAWAII (DRM 2.50.0 5.4.0-42-generic LLVM 10.0.0) v: 4.5 Mesa 20.0.8 direct render: Yes 

chrome://gpu 的输出

在此处输入图片描述

完整输出:https://pastebin.com/Lkbe8FuV

答案1

就我而言,我会去chrome://flags/

然后启用:

#ignore-gpu-blacklist
#enable-vulkan

我不知道以后是否会出现任何问题,但是现在对我来说它有效。

答案2

我为此提出了一个错误票:

https://bugs.chromium.org/p/chromium/issues/detail?id=1122224#c14

已经有一个解决方法:

使用--use-gl=desktop或运行--use-cmd-decoder=validating

顺便说一句,与这个问题无关,我看到你的系统正在使用“ati,fbdev”驱动程序和 DRM 2.45

据我所知,您的显卡应该使用 amdgpu(注意:开源驱动程序称为 amdgpu,闭源驱动程序称为 amdgpu-pro)或 radeonsi,从而启用 DRM 3.x,您应该会看到整体图形性能得到改善。ati 驱动程序真的非常老了。

答案3

此问题已在 Chrome 86 中修复。请删除其他答案中建议的解决方法,尤其--use-gl=desktop是和--use-cmd-decoder=validating。这些解决方法的作用是恢复到已弃用的渲染器。继续使用该渲染器会减少我们从新的更通用的渲染器中获得的测试。

由于启用 Vulkan 也被认为是一种解决方法,我个人很高兴您尝试一下,但请注意,Vulkan 实现尚未经过广泛测试,尚未为用户做好准备。如果您继续使用 Vulkan,请在下面提交错误https://crbug.com/new

此外,为了防止将来再出现此类问题,请考虑使用(或偶尔试用)Chrome Beta。那里的问题可以在同一版本中修复,然后再影响更广泛的受众。要安装 Chrome Beta:sudo apt install google-chrome-beta

干杯!

答案4

Ubuntu 20.04 上挂起计算机后 Chrome 浏览器出现问题似乎是相关的,建议的解决方法tiangolo 的回答对我有用:

你可以只终止浏览器的 GPU 进程

  • 打开任务管理器:

    • 点击Shift+ Esc(正如指出的那样@NYCeyes 在评论中)。
    • 或者,转到 Chrome 主菜单(右上角 3 个点)→更多工具任务管理器
  • 按工艺分类任务姓名。

  • 查找调用的进程GPU 进程

  • 点击End process

Chrome 任务管理器 - GPU 进程 - 结束进程

这将“清除”所有有问题的图像噪音。Chrome 将立即自动创建新的 GPU 进程。

笔记:您可以自动化该过程,检查Andrew Bruce 的回答将这些步骤放入自动运行的脚本中。

我认为问题类似于 GPU 进程使用内存,假设它具有睡眠周期之前的旧状态,但它只是有一些来自默认状态的默认随机噪声。所以我想 Ubuntu 不会在睡眠周期中保存和恢复 GPU 内存(我认为它不应该这样做),但 Chrome 进程没有检测到这一点。通过终止进程,它会“释放”该 GPU 内存,然后 Chrome 会创建一个新进程来重新生成任何所需的 GPU 内存状态(这是即时的)。

相关内容