not all fontconfig files in /etc/fonts/conf.d are properly mounted

Bug #2017313 reported by Zoe
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
snapd
In Progress
Medium
Unassigned

Bug Description

Snapd appears to mount `/etc/fonts/conf.d`, and an `ls` of it will show all files in the directory. However, if one rules `fc-conflist` and compare it to the same command on the host system, one will see that not all of the files that are loaded on the host system are loaded within the snap.

Since all the files in this directory are symlinks, it turns out the ones that are loaded are in `/etc/fonts/conf.avail`, but the ones that *aren't* loaded are in `/usr/share/fontconfig/conf.avail`. This causes the font matching rules to be subtly different between the host OS and the snap ecosystem. On Lunar, this causes (for instance) the Steam Snap to choose `Free Serif` over `Liberation` fonts, causing the UI to look very incorrect, but also affects other programs in principle.

Edit: This file is definitely allowed (via AppArmor's <abstractions/fonts>, line 24), and attempting to access the directory (or files in it) doesn't produce any denials, but it doesn't appear to exist.

Zoe (zoopgoop)
description: updated
Zoe (zoopgoop)
description: updated
Revision history for this message
Sergio Cazzolato (sergio-j-cazzolato) wrote :

Hi, thanks for raising this. We are already working in a possible solution for that.

Changed in snapd:
status: New → Confirmed
importance: Undecided → High
Changed in snapd:
importance: High → Medium
status: Confirmed → Triaged
Revision history for this message
Sergio Costas (rastersoft-gmail) wrote :

Ok, more info about this: steam is overwritting /etc/fonts as a workaround for this bug. To trigger it, a version of steam without that layout entry is required, and also to not have the Arial font installed anywhere in the system.

Revision history for this message
Sergio Costas (rastersoft-gmail) wrote :
Changed in snapd:
status: Triaged → In Progress
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.