Latest Fedora update broke Google Chrome and some extensions UI

I’ve been using Linux since spring 2002.
Yes, for 21 years.
And only once had intend to return to the windows - in the fall of 2002.
But I stayed with Linux.
And I don’t regret it at all.

P.S.
my wife is a linux-woman
my daughter is a linux-girl
my grandson is a linux-kid

2 Likes

That worked here, where I run Wayland on Geforce 108Ti using the default Fedora driver, NV132.

Thanks!

I’m having the same issue today after rebooting with new updates.

I thought it was NVIDIA so I updated the driver, same issue.

I uninstalled the NVIDIA driver (and didn’t install nouveau so using the iGPU), same issue.

Now without NVIDIA at all and having disabled GPU usage in Chrome (chrome://flags → Disable GPU rasterization disabled GPU in settings), things are a bit more stable, but the screen still blinks sometimes.

The issue is that things that use Electron are still broken (eg. Zoom, Slack, etc)

E.g.: in Zoom I can’t click the “View” button sometimes. It doesn’t draw on the screen anymore and it was working before the reboot. It’s hard to pinpoint what’s the issue.

Kernel: 6.2.15-300.fc38.x86_64
iGPU: Iris Xe 96EU (i9-12900HK)
dGPU: NVIDIA RTX 3060Ti mobile
NVIDIA driver: 525.116.04
intel-gpu-firmware-20230515-150
xorg-x11-drv-intel-2.99.917-55.20210115
oneVPL-intel-gpu-23.1.3-2

This is what I was able to see in journalctl:

May 29 19:22:23 google-chrome.desktop[4458]: // Vertex SKSL
May 29 19:22:23 google-chrome.desktop[4458]: #extension GL_NV_shader_noperspective_interpolation: require
May 29 19:22:23 google-chrome.desktop[4458]: uniform float4 sk_RTAdjust;in float2 position;in float coverage;in float2 localCoord;in float4 texSubset;noperspective out float2 vloc>
May 29 19:22:23 google-chrome.desktop[4458]: float2 position = position.xy;vlocalCoord_S0 = localCoord;vtexSubset_S0 = texSubset;vcoverage_S0 = coverage;sk_Position = position.xy0>
May 29 19:22:23 google-chrome.desktop[4458]: // Fragment SKSL
May 29 19:22:23 google-chrome.desktop[4458]: #extension GL_NV_shader_noperspective_interpolation: require
May 29 19:22:23 google-chrome.desktop[4458]: uniform sampler2D uTextureSampler_0_S0;
May 29 19:22:23 google-chrome.desktop[4458]: noperspective in float2 vlocalCoord_S0;flat in float4 vtexSubset_S0;noperspective in float vcoverage_S0;void main() {// Stage 0, QuadP>
May 29 19:22:23 google-chrome.desktop[4458]: half4 outputColor_S0 = half4(1);float2 texCoord;texCoord = vlocalCoord_S0;float4 subset;subset = vtexSubset_S0;texCoord = clamp(texCoo>
May 29 19:22:23 google-chrome.desktop[4458]: sk_FragColor = outputColor_S0 * outputCoverage_S0;}}
May 29 19:22:23 google-chrome.desktop[4458]: // Vertex GLSL
May 29 19:22:23 google-chrome.desktop[4458]: #version 300 es
May 29 19:22:23 google-chrome.desktop[4458]: #extension GL_NV_shader_noperspective_interpolation : require
May 29 19:22:23 google-chrome.desktop[4458]: precision mediump float;
May 29 19:22:23 google-chrome.desktop[4458]: precision mediump sampler2D;
May 29 19:22:23 google-chrome.desktop[4458]: uniform highp vec4 sk_RTAdjust;
May 29 19:22:23 google-chrome.desktop[4458]: in highp vec2 position;
May 29 19:22:23 google-chrome.desktop[4458]: in highp float coverage;
May 29 19:22:23 google-chrome.desktop[4458]: in highp vec2 localCoord;
May 29 19:22:23 google-chrome.desktop[4458]: in highp vec4 texSubset;
May 29 19:22:23 google-chrome.desktop[4458]: noperspective out highp vec2 vlocalCoord_S0;
May 29 19:22:23 google-chrome.desktop[4458]: flat out highp vec4 vtexSubset_S0;
May 29 19:22:23 google-chrome.desktop[4458]: noperspective out highp float vcoverage_S0;
May 29 19:22:23 google-chrome.desktop[4458]: void main() {
May 29 19:22:23 google-chrome.desktop[4458]:     highp vec2 position = position;
May 29 19:22:23 google-chrome.desktop[4458]:     vlocalCoord_S0 = localCoord;
May 29 19:22:23 google-chrome.desktop[4458]:     vtexSubset_S0 = texSubset;
May 29 19:22:23 google-chrome.desktop[4458]:     vcoverage_S0 = coverage;
May 29 19:22:23 google-chrome.desktop[4458]:     gl_Position = vec4(position, 0.0, 1.0);
May 29 19:22:23 google-chrome.desktop[4458]:     gl_Position = vec4(gl_Position.xy * sk_RTAdjust.xz + gl_Position.ww * sk_RTAdjust.yw, 0.0, gl_Position.w);
May 29 19:22:23 google-chrome.desktop[4458]: }
May 29 19:22:23 google-chrome.desktop[4458]: // Fragment GLSL
May 29 19:22:23 google-chrome.desktop[4458]: #version 300 es
May 29 19:22:23 google-chrome.desktop[4458]: #extension GL_NV_shader_noperspective_interpolation : require
May 29 19:22:23 google-chrome.desktop[4458]: precision mediump float;
May 29 19:22:23 google-chrome.desktop[4458]: precision mediump sampler2D;
May 29 19:22:23 google-chrome.desktop[4458]: out mediump vec4 sk_FragColor;
May 29 19:22:23 google-chrome.desktop[4458]: uniform sampler2D uTextureSampler_0_S0;
May 29 19:22:23 google-chrome.desktop[4458]: noperspective in highp vec2 vlocalCoord_S0;
May 29 19:22:23 google-chrome.desktop[4458]: flat in highp vec4 vtexSubset_S0;
May 29 19:22:23 google-chrome.desktop[4458]: noperspective in highp float vcoverage_S0;
May 29 19:22:23 google-chrome.desktop[4458]: void main() {
May 29 19:22:23 google-chrome.desktop[4458]:     mediump vec4 outputColor_S0 = vec4(1.0);
May 29 19:22:23 google-chrome.desktop[4458]:     highp vec2 texCoord;
May 29 19:22:23 google-chrome.desktop[4458]:     texCoord = vlocalCoord_S0;
May 29 19:22:23 google-chrome.desktop[4458]:     highp vec4 subset;
May 29 19:22:23 google-chrome.desktop[4458]:     subset = vtexSubset_S0;
May 29 19:22:23 google-chrome.desktop[4458]:     texCoord = clamp(texCoord, subset.xy, subset.zw);
May 29 19:22:23 google-chrome.desktop[4458]:     outputColor_S0 = texture(uTextureSampler_0_S0, texCoord, -0.5);
May 29 19:22:23 google-chrome.desktop[4458]:     highp float coverage = vcoverage_S0;
May 29 19:22:23 google-chrome.desktop[4458]:     mediump vec4 outputCoverage_S0 = vec4(coverage);
May 29 19:22:23 google-chrome.desktop[4458]:     {
May 29 19:22:23 google-chrome.desktop[4458]:         sk_FragColor = outputColor_S0 * outputCoverage_S0;
May 29 19:22:23 google-chrome.desktop[4458]:     }
May 29 19:22:23 google-chrome.desktop[4458]: }
May 29 19:22:23 google-chrome.desktop[4458]: Errors:
May 29 19:22:23 google-chrome.desktop[4458]: link failed but did not provide an info log
May 29 19:22:23 google-chrome.desktop[4458]: [5644:5644:0529/192223.270176:ERROR:shared_context_state.cc(77)] Skia shader compilation error

I found a workaround through this Chromium bug report that pointed to this Arch Linux thread:

cd ~/.config/google-chrome/
rm -rf 'Your Profile Directory'/GPUCache

Things are working again for me. I even reinstalled the NVIDIA driver and it’s all fine.

2 Likes

Thanks, that solution works for me using intel graphics.

This problem is now documented in Common Issues here:

Curiosity is good, but Linux systems are giving you much more opportunity to shoot yourself in foot. That’s because they are “open to the bone”, and give you freedom to tinker however you like. It takes time and effort to get to some level of proficiency. It’s good to learn basics, and not to explore too many new things at once (it messes your head). Btw. updates are good thing. Learn how to use dnf system as soon as possible.
I wish you as much great time with Fedora as I had for last 23 years (started with Red Hat before Fedora became Fedora).

It looks like you updated and later downloaded chrome from google’s website and not from google’s repo with chrome for fedora. Or, did I misunderstood?

$ dnf info google-chrome-stable*

?

I had the same thing, the problem with Chrome was fixed by disabling hardware acceleration in Chrome. The symptoms looked like a combination of improper rendering, where images were displayed as garbage, as if non-image files were being displayed as images, and Javascript animations were simply removing the animated item from the page, permanently, as if the elements were removed from the DOM. (They were not removed, just removed from rendering)

There is no difference, it’s the same repo.

It seems to me that a similar solution is also suitable for opera-stable.
At least works for me.

@sparcher Have you experienced this problem with Opera as well? I guess it makes sense, theoretically it affects everything Chromium-based (if GPU acceleration is enabled there).

Yes, I had problems with the opera-stable.
First I disabled hardware acceleration.
Then searched

$ find ~/.config/opera -type d -name “GPUCache
/home/archer/.config/opera/GPUCache
/home/archer/.config/opera/ShaderCache/GPUCache
/home/archer/.config/opera/GrShaderCache/GPUCache

and cleaned them manually.

Then enabled hardware acceleration
and everything work.

P.S. OS = LXQT & Cinamon

I had some other software that also used chrome that presented the same issues. the fixes here are only partial not 100% working just a quick workaround the issues should remain on many parts.
I did not check much more because I need chrome to work so I just left fedora in stand by for a while

Can’t do much about it when Google decides to break standards though.

On one of the my laptops, I haven’t updated the system in a long time.

mesa and kernel was updated today and I updated the system.

I haven’t noticed any problems yet.

I just ran a general update and this issue is now fixed. Chrome was updated, as was Fedora, so I have no clue where the fix came from. If you were involved in creating the fix, thank you!

2 Likes

I’ve stumbled over this issue this morning with Slack and Vivaldi, which is quite late regarding the time the issue is known. Deleting any CPUcache directories found in ~/.config/vivaldi and .config/Slack/ fixed the issue, though. But: Any ideas why this happened so late to me?

Antes de tudo me desculpa pela demasiada demora em responder a sua pergunta mas tentarei dizer em outras palavras o que eu fiz.

Eu não atualizei, eu desinstalei.

Depois eu fiz o download do pacote do site da Google que solicita escolher um dos pacotes a seguir:

  1. Pacote .deb de 64 bits para as plataformas Debian e Ubuntu.

  2. Pacote .rpm de 64 bits para as plataformas Fedora e openSUSE.

Eu escolhi o número 2 mas por algum motivo que eu desconheço o aplicativo Programas recusou o pacote.

Então eu exclui e fiz outro download.

Desta vez o pacote foi instalado pelo aplicativo Programas normalmente e atualizado.

Eu não utilizei linha de comando via Terminal.

Será que eu consegui esclarecer a sua pergunta?

Não se preocupe. Todos nós estamos em processo de aprendizado.

Eu, para não dizer que não sei nada, digo que sei muito pouco.