-
Notifications
You must be signed in to change notification settings - Fork 179
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FYI: what to do in case of "Skia shader compilation error" reports on the terminal (Linux) #1265
Comments
To make the fix a little more persistent, so it survives a Ferdium restart: find ~/.config/chromium -maxdepth 4 -type d -name GPUCache -exec rm -r {}/* ; |
The idea is that the fix is required because the embedded Chromium framework doesn't detect that the cached GPU stuff has to be discarded/refreshed. You force that regeneration by removing the entire cache, and afterwards it's populated with "kosher" GPU stuff. That's all the permanence you should need, until a next Mesa/whatever update.
Also, it's `~/.config/Ferdium`, not `chromium`.
|
Oooopss ... I took the wrong script-lines :) . The issue happens with chromium, too. And: The one-time deletion doesn't help at the moment. The issue is still there, but someone took already care: https://bugs.chromium.org/p/chromium/issues/detail?id=1442633 In my case the Fredium tabs don't recover if you delete the GPU after startup. If you choose "reload ferdium" from the menu, the GPUCache Dir are automatically recreated and the content is still not there. As I have about 20 or so ferdium tabs, reloading them one by one is a pain .... |
Again: If I delete the GPUcache it's not populated with a proper cache. (I run nixos and have an Intel i915 Iris XE MAX with mesa libs from current nixos. But anyway: Either mesa or chrom(e|ium) have to fix the issue, it's not Ferdium's fault IMHO. |
No, it's most likely a Chromium issue because Firefox isn't affected for instance (FF does other weird things with Mesa though, like causing "permission denied" errors about /dev/dri/renderDXYZ devices that do not even exist).
Anyway, I meant a full, "cold" Ferdium restart. Ferdium itself also has a GPUCache for the application (~/.config/Ferdium/GPUCache) and I expect that you really need to quit and restart the application to see the effects of removing the files in there. As you probably know, deleting a file on *nix only removes the directory entry (hence the name, `rm`) but the file content itself isn't liberated as long as someone has the file open.
|
I observed issues in some other components, too. E.g. in spectacle (KDE screenshot tool). If you make a screenshot and try annotate it, you don't see the yellow overlay annotations ... might be a random coincidence ... |
KDE uses QtWebengine for lots of HTML-related things, which is also built around some version/variant of the Chromium framework. So yeah, one could expect issues there too. Good luck finding the corresponding GPUCache directory/ies!
For instance: `~/.local/share/konqueror/QtWebEngine/Default/GPUCache/`
|
Well, no, I will use that as my test case, if the issue has been resolved ... |
What test case? Cache directories can always be removed and will be recreated the next time they're required. Browsers often have a feature to clean them (Ferdium does too) which might also address the issue. Just don't expect any upstream fixes to trickle down to "old" versions of QtWebengine, unless it can be backported easily enough that your distro handles it! |
1.) Removing / cleaning the GPUCache Dir does NOT solve my issue. Upon restart they are automatically recreated with broken cache stuff. That why I chmodded them "0000", so Ferdium can't place stuff in there |
ATM I follow this bug report: https://bugs.chromium.org/p/chromium/issues/detail?id=1442633 |
1.) Removing / cleaning the GPUCache Dir does NOT solve my issue. Upon restart they are automatically recreated with broken cache stuff.
That sounds like a different or additional issue. This cache is populated with compiled shader "programmes", you can compare it to .pyc or .pyo files that contain the result of byte-compiling python code. If you run the same code through a different version of the interpreter it could print an error about those .pyc/pyo file(s); instead it replaces their content silently with a newly compiled version.
Chromium does the same under "normal" circumstances. When you remove the cache it also creates a new version that contains the newly compiled (and thus correct) binary representation of the shaders it has to run. Those are correct by definition, if your Mesa installation is correct. Apparently it is, if disabling the GPUCache restores normal behaviour for you.
What you're describing looks like a general bug in the code that writes compiled shaders to cache file, but such a bug should hit everyone (if it's in Chromium).
That said, if your machine is recent/powerful enough you probably won't notice a performance difference of disabling the GPUCache.
|
After an openSUSE Tumbleweed update the whole view of Joplins GUI was broken with some of the above error messages.
For the sake of completeness rm -rf ~/.config/Joplin/GPUCache did the job for me. After (re)starting Joplin, everything went back to normal. |
Since I got this on openSUSE tumbleweed too with the Zulip Desktop (which has actually more than one cache) I do: find ~/.config/ -name GPUCache -type d -exec rm -rf {} \; |
For some reason I had to resort to this kludge this morning after waking the computer. Hadn't updated anything, only installed Mutter for some testing yesterday (and uninstalled it again). That shouldn't have changed anything relevant for Ferdium though... |
Had a similar issue with RedisInsight, can confirm that clearing GPU cache works. Good find @euneuber and @stefankoop |
Also solved my issue with Arduino ide v2 looking blank and corrupted, seems like an issue with electron |
Your issue
I updated my libdrm yesterday and rebuilt Mesa after that.
After retarting Ferdium this morning I got rendering issues and endless error messages on the calling terminal:
Searching for "Skia shader compilation error" I found this ticket that also offered a solution:
https://bugs.chromium.org/p/chromium/issues/detail?id=1442633
The solution:
The strange thing is that Chromium does not report a change in the
GL_RENDERER
string.The text was updated successfully, but these errors were encountered: