44

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

4
  • I don't know if it would help but have you tried using vulkan? You have to enable the Universe repository sudo add-apt-repository universe then update your package list sudo apt update and then install the vulkan packages sudo apt install libvulkan1 mesa-vulkan-drivers vulkan-utils and then open Google Chrome go to chrome://flags and search and enable the options for "vulkan."
    – mchid
    Sep 7 '20 at 22:44
  • omg, that blowed my mind for weeks now
    – Alator
    Sep 25 '20 at 6:04
  • Do you think this issue is related to the glitches after sleep/suspend reported here? askubuntu.com/questions/1273399/… Sep 25 '20 at 18:16
  • Had the same issue... launching with --use-gl=desktop as described below seems to have worked Oct 1 '20 at 8:02
39

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.

8
  • Worked for me. I Will report back in the next couple of days if it seizes to work. Sep 7 '20 at 18:57
  • 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
    – mchid
    Sep 7 '20 at 22:47
  • This worked for me as well, together with the hint of Matias to fix my drivers in the first place. Thanks! Sep 10 '20 at 12:52
  • 1
    It worked for me, but made chrome very slow, especially when there are many tabs opened, i.e. 20+. Sep 15 '20 at 6:26
  • 1
    The first one seems to have been renamed to "#ignore-gpu-blocklist". Oct 12 '20 at 19:11
25

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.

11
  • 5
    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? Aug 29 '20 at 12:31
  • 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) Aug 29 '20 at 15:50
  • 1
    A tutorial how to edit Gnome application specification for Chrome in Linux: lukas.zapletalovi.com/2020/09/…
    – lzap
    Sep 3 '20 at 9:56
  • 2
    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
    Oct 3 '20 at 2:09
  • 1
    @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.
    – Shahbaz
    Oct 7 '20 at 5:36
6

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!

2
  • 2
    Thanks. However, I have Chromium Version 88.0.4288.0, and I can see the problem is not fixed.
    – Han Shen
    Oct 11 '20 at 21:05
  • @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.
    – Shahbaz
    Oct 12 '20 at 4:02
4

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

1

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

1
  • 1
    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!
    – Shahbaz
    Dec 2 '20 at 6:44

Not the answer you're looking for? Browse other questions tagged or ask your own question.