[Mesa-users] About ~/.cache/mesa_shader_cache/
Vincas Dargis
vindrg at gmail.com
Sat Jun 16 18:27:53 UTC 2018
Hi mesa-users,
Side note: I'm adding AppArmor mailing list to CC because this
particular question is related to application confinement.
After recent Mesa-related upgrades in Debian Sid I've discovered that
some applications now requires access to ~/.cache/mesa_shader_cache/*
files, and because of that there is a need for the action to update
AppArmor profiles accordingly.
For example, Debian bug #901471 [0] reports that Thunderbird's AppArmor
profile should be updated as currently it blocks access to the cache.
After some monitoring I've discovered that some more applications needs
access to this cache too. If I run `sudo sysdig "fd.name contains
mesa_shader_cache"` I get list of applications while my KDE desktop
loads up after login (cleaned up output):
```
151409 18:49:41.211951605 7 ksplashqml (2928) < openat
fd=15(<f>/home/vincas/.cache/mesa_shader_cache/index)
429783 18:49:41.271510197 1 Xorg (1486) < openat
fd=17(<f>/root/.cache/mesa_shader_cache/41/ff7c9f54d65a8f742da917b5e1dfea98127500)
653552 18:49:41.318747530 7 ksplashqml (2928) < openat
fd=18(<f>/home/vincas/.cache/mesa_shader_cache/18/5d3f4867a025fdb21b5c4de0b14a38e29f87b9)
3161693 18:49:42.479339801 7 krunner (3020) < openat
fd=10(<f>/home/vincas/.cache/mesa_shader_cache/index)
3439202 18:49:42.759065546 5 yakuake (3082) < openat
fd=13(<f>/home/vincas/.cache/mesa_shader_cache/index)
6156946 18:49:43.652468504 3 plasmashell (3023) < openat
fd=17(<f>/home/vincas/.cache/mesa_shader_cache/index)
42286927 18:51:27.568422305 4 firefox (3905) < openat
fd=6(<f>/home/vincas/.cache/mesa_shader_cache/index)
... and so on...
```
What is interesting for me, that though there are quite some
applications that access `mesa_shader_cache`, it's note like _all_
applications would do that.
For example, Kate (KDE Framerworks/QT-based text editor) accesses it,
but xclock or gnote (GTK-based notes) does not. Thunderbird is not
Qt-based application (as Kate is), but it needs access too.
Basically, could you enlighten me on when to expect application to
access to this mesa_shader_cache? Is it any application what uses any
kind of OpenGL acceleration (not sure why Kate or Thunderbird would need
that)? Some other graphics-related API's (I'm not an expert here)?
Should we expect this with Nouveau, AMD graphics too (It's Intel in my
case where I've discovered this behavior)?
Could it be only Intel-specific (Thunderbird's stack shows
`i965_dri.so`, see [0]), or whole-mesa-specific?
I would like to propose appropriate changes to AppArmor
profiles/abstractions to fix current denied access to this cache when
needed. But this implies.. naming, documenting things, and I am not sure
if these changes in AppArmor should be handled as X-related,
Mesa-related, Intel-related, some-specific-API-related, etc, etc.
Thanks!
[0] https://bugs.debian.org/901471
More information about the mesa-users
mailing list