Chrome causing weird flickering since upgrade to 85.0.4183.83

15,603

Solution 1

This issue is fixed in Chrome 86. Please remove workarounds suggested in the other answers especially --use-gl=desktop and --use-cmd-decoder=validating. What those workarounds do is revert to a deprecated renderer. Continued use of that renderer would reduce testing we get from the new more versatile renderer.

Since enabling Vulkan was also suggested as a workaround, I'm personally glad you are trying it out, but beware that the Vulkan implementation is not yet widely tested and isn't considered ready for users. If you do continue using Vulkan, please file bugs under https://crbug.com/new.

Also, to prevent such issues in the future, please consider using (or occasionally trying out) Chrome Beta. The issues there can be fixed in the same version and before reaching the wider audience. To install Chrome Beta: sudo apt install google-chrome-beta.

Cheers!

Solution 2

In my case, I go to chrome://flags/

Then enable:

#ignore-gpu-blacklist
#enable-vulkan

I don't know if there will be any problems later, but it works for me now.

Solution 3

I raised a bug ticket for this:

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

There is already a workaround:

Run with --use-gl=desktop or --use-cmd-decoder=validating

Btw unrelated to this problem, I see your system is using 'ati,fbdev' drivers and DRM 2.45

AFAIK your card should be using either amdgpu (note: the open source driver is called amdgpu, the closed source driver is called amdgpu-pro) or radeonsi, thus enabling DRM 3.x and you should see improved overall graphics performance. The ati driver is a really, really old one.

Solution 4

I disabled hardware acceleration and it works. Settings > Advance Settings > System > uncheck the hardware acceleration

Solution 5

Problems with Chrome browser after suspending the computer on Ubuntu 20.04 seems to be related and the suggested workaround in tiangolo's answer worked for me:

You can kill just the browser's GPU process

  • Open the Task Manager:

    • Hit Shift+Esc (as pointed out by @NYCeyes in the comments).
    • Or alternatively, go to the Chrome main menu (3 dots on the top right corner) → More ToolsTask Manager.
  • Sort by process Task name.

  • Find the process called GPU Process.

  • Click on End process.

Chrome Task Manager - GPU Process - End process

That will "clean" all the glitchy image noise. And Chrome will immediately create a new GPU process automatically.

Note: You can automatize the process, check Andrew Bruce's answer putting these steps in a script that runs automatically.

I assume the problem is something like the GPU process using memory assuming it has the old state as before the sleep cycle, but it just has some default random noise from the default state. So I imagine Ubuntu doesn't save and restore GPU memory on a sleep cycle (I don't think it should) but the Chrome process doesn't detect that. And by killing the process it "frees" that GPU memory and then Chrome creates a new process that re-generates any needed GPU memory state (that's instant).

Share:
15,603
oliverguenther
Author by

oliverguenther

Updated on September 18, 2022

Comments

  • oliverguenther
    oliverguenther almost 2 years

    Since updating to Google Chrome 85.0.4183.83 (Official build) on my Ubuntu 20.04.1 machine, Chrome is exhibiting some weird flickering. Especially in the top left corner, chunks of pixels are showing on keyboard input or mouse movements. The following GIF I just recorded on this page while typing this question.

    Is there any permanent fix for this behavior? It seems that disabling hardware acceleration in the settings is a workaround for this.

    I couldn't find any bug reports on their issue tracker.

    Chrome pixel glitches

    Graphics output of 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 
    

    Output from chrome://gpu

    enter image description here

    Full output: https://pastebin.com/Lkbe8FuV

  • DrifterGuy
    DrifterGuy almost 4 years
    This workaround worked just fine! Would you mind sharing its reference? Is there a simpler way to launch google-chrome --use-gl=desktop without typing it on terminal? Maybe using a chrome://flags/? Or adding options to Ubuntu's Chrome icon?
  • Matias N Goldberg
    Matias N Goldberg almost 4 years
    I just edited the Chrome launcher in the Menu Editor to add "--use-gl=desktop". The "Menu Editor" may depend on which distro/desktop-environment you're running; but basically editing a launcher via UI is something you can easily look up online. alacarte, menulibre are tools designed for that (I use menulibre)
  • oliverguenther
    oliverguenther almost 4 years
    Thanks for the workaround and unrelated hint. I did not modify the drivers since 20.04.1 so will take another look at that.
  • Neal Fultz
    Neal Fultz almost 4 years
    I am having this problem using amdgpu, and the workaround (--use-gl=desktop) also worked. Thanks much.
  • lzap
    lzap almost 4 years
    A tutorial how to edit Gnome application specification for Chrome in Linux: lukas.zapletalovi.com/2020/09/…
  • Dark Templar
    Dark Templar almost 4 years
    Worked for me. I Will report back in the next couple of days if it seizes to work.
  • mchid
    mchid almost 4 years
    It might help to install the vulkan packages as well. You need to enable the Universe repository sudo add-apt-repository universe then update the package list sudo apt update and then install the following packages sudo apt install libvulkan1 mesa-vulkan-drivers vulkan-utils
  • oliverguenther
    oliverguenther almost 4 years
    This worked for me as well, together with the hint of Matias to fix my drivers in the first place. Thanks!
  • Dark Templar
    Dark Templar almost 4 years
    It worked for me, but made chrome very slow, especially when there are many tabs opened, i.e. 20+.
  • Shahbaz
    Shahbaz almost 4 years
    Chromium dev here (ANGLE actually, but close). I strongly suggest NOT reverting to the validating command decoder. This bug wasn't caught because there aren't enough Beta users on Linux to test the change away from the validating command decoder :( Adding this flag only reduces the testing we can possibly have. A workaround for a mesa bug (that caused this issue) has been merged in the next version of Chrome, so in the very least, please try and remember to remove these flags when that reaches Stable. My suggestion however would be to temporarily switch to Beta.
  • Shahbaz
    Shahbaz almost 4 years
    @DarkTemplar, apparently Chrome on Vulkan is slow on amdvlk (but not radv). See bugs.chromium.org/p/chromium/issues/detail?id=1122224#c44 Note that the Vulkan implementation is somewhat new, and hasn't had enough testing for all the driver issues to be worked around. I'm actually glad you are trying Chrome on Vulkan out (and please do file bugs), but please again bear in mind that this is not exactly ready for users.
  • Homero Esmeraldo
    Homero Esmeraldo almost 4 years
    @Shahbaz when should we expect that to be? And how do we switch to Beta?
  • Shahbaz
    Shahbaz almost 4 years
    @HomeroEsmeraldo, according to the release calendar (chromium.org/developers/calendar), Chrome 86 should have already been released on Oct 6 (I sudo apt update; sudo apt upgrade right now and can confirm that's the case). If you feel like trying out beta (which is much appreciated), sudo apt install google-chrome-beta.
  • avrono
    avrono over 3 years
    I tried the above and now my Chrome is very slow, especially with video. Also still exhibits strange flickering at times.
  • Han Shen
    Han Shen over 3 years
    Thanks. However, I have Chromium Version 88.0.4288.0, and I can see the problem is not fixed.
  • Shahbaz
    Shahbaz over 3 years
    @HanShen, might be something else. Please open a new bug. Don't forget to attach the contents of your chrome://gpu, and some video/screenshot of what the issue looks like.
  • Zsolt Katona
    Zsolt Katona over 3 years
    The first one seems to have been renamed to "#ignore-gpu-blocklist".
  • matreshkin
    matreshkin over 3 years
    For me it causes another problem when text is not drawn at all
  • Johan
    Johan over 3 years
    @Shahbaz do you have a reference to the Bug report or pull request?
  • Shahbaz
    Shahbaz over 3 years
    @Johan, the bug is right there in this answer :)
  • Johan
    Johan over 3 years
    @ShahbazI'm going blink or crazy or both. Thank you, of course it it.
  • Shahbaz
    Shahbaz over 3 years
    This issue should be fixed per this change. Please try it on the latest Chrome version. If the issue is still there, please try Chrome Beta as well. If the issue is not fixed in Beta, by all means please open a new issue!