ValveSoftware / steam-runtime

A runtime environment for Steam applications
Other
1.19k stars 86 forks source link

Upgrade fontconfig to silence unknown element "description", "its:rules", and "its:translateRule" warnings #482

Open techtonik opened 2 years ago

techtonik commented 2 years ago

Your system information

Please describe your issue in as much detail as possible:

Lot of startup errors like:

Fontconfig warning: "/etc/fonts/conf.d/70-no-bitmaps.conf", line 8: unknown element "description"
Fontconfig warning: "/etc/fonts/conf.d/80-delicious.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/80-delicious.conf", line 5: unknown element "its:translateRule"
Fontconfig warning: "/etc/fonts/conf.d/90-synthetic.conf", line 4: unknown element "its:rules"
Fontconfig warning: "/etc/fonts/conf.d/90-synthetic.conf", line 5: unknown element "its:translateRule"

Which are because Steam uses very old fontconfig version.

See also https://github.com/ValveSoftware/steam-for-linux/issues?q=is%3Aissue+is%3Aopen+fontconfig

Steps for reproducing this issue:

  1. run steam
  2. look at the output
smcv commented 2 years ago

This is fontconfig (or libfontconfig if you prefer), not libconfig. @kisak-valve or @techtonik, please could you retitle the issue?

Is there a functional problem here, other than warnings appearing? Fontconfig warnings about unknown element "xyz" generally just mean that your host system's font configuration contains newer configuration options that are not understood by this version of fontconfig and will be ignored. However, the description looks like something that is not important anyway, and its:rules and its:translateRule are to do with translating text into non-English languages, which again looks like something that older versions can safely ignore.

The Steam Runtime is based on Ubuntu 12.04, and upgrading individual libraries can trigger compatibility issues in games and other libraries, so they are not generally upgraded unless it is absolutely critical to do so.

Newer libraries installed on your host system will be used in preference to the versions from the Steam Runtime, so you can avoid these warnings by installing 32- and 64-bit versions of fontconfig. On Ubuntu, that's something like this:

sudo apt install libfontconfig1:i386 libfontconfig1:amd64