You are not logged in.

#1 2017-10-06 21:04:08

phoerious
Member
Registered: 2016-11-26
Posts: 6

Font rendering broken in some applications after upgrade

Hi, sorry for the stupid title, but I'm not quite sure how else to call this.
After my last system upgrade (quite a few packages, so I can't specifically say which one broke it), font rendering in the following applications is heavily broken:

- Google Chrome
- Thunderbird
- Firefox
- SDDM

(possibly some more, but at least all KDE and most plain Qt and GTK applications are working fine).

In Chrome, the main effect is that numbers are rendered in white with a barely visible gray outline and large spaces in between. Parts of the GUI are totally unreadable (such as the address and bookmarks bar as well as the right-click context menu). Chrome is also lagging quite annoyingly.

Screenshot:

https://i.imgur.com/dotOuKn.png

Thunderbird, on the other hand is completely broken. Screenshot 2 shows my full screen. The window's minimum size is larger than that and the application is completely unusable:

https://i.imgur.com/aviNM0Q.png

I also can't take a screenshot of just the Thunderbird window without KWin crashing (screenshotting the whole screen works, though).

To fix this, I tried already:

- downgrading nvidia drivers to a known working version
- reinstalling freetype2, pango, cairo
- reinstalling all installed packages to ensure consistency
- deleting GTK config files
- downgrading kernel to LTS version
- switching from nvidia to nvidia-dkms and back
- turning off subpixel rendering

None of these steps brought me any closer to a solution and I'm running out of ideas. The fact that I'm not getting any error messages, neither in one of the affected application's terminal output nor in my system or xsession logs, isn't helping either. Otherwise I'd probably have found a working solution with the help of Google by now.

KWin compositing and glxgears work just fine.

Do you have any ideas what the problem might be or what I could try next? Thanks!

Mod note: changed oversized images to urls. Please read the Code of Conduct and only post thumbnails. -- WorMzy

Last edited by phoerious (2017-10-06 21:18:22)

Offline

#2 2017-10-06 21:17:24

jasonwryan
Anarchist
From: .nz
Registered: 2009-05-09
Posts: 30,426
Website

Re: Font rendering broken in some applications after upgrade

Have you tried another theme?


Moving to NC...


Arch + dwm   •   Mercurial repos  •   Surfraw

Registered Linux User #482438

Offline

#3 2017-10-06 21:19:56

phoerious
Member
Registered: 2016-11-26
Posts: 6

Re: Font rendering broken in some applications after upgrade

Ah, yes. Forgot to add that to the list. I tried all installed GTK themes, but the behavior is the same as with Breeze-GTK.

BTW this is not a newbie problem.

Last edited by phoerious (2017-10-06 21:43:54)

Offline

#4 2017-10-07 08:48:09

berbae
Member
From: France
Registered: 2007-02-12
Posts: 1,304

Re: Font rendering broken in some applications after upgrade

Post the file ~/.config/gtk-3.0/settings.ini
Maybe it is since: upgraded gtk3 (3.22.21-1 -> 3.22.24-1)
Personally I use the Breeze theme in openbox and it works with Chromium and Thunderbird.

Last edited by berbae (2017-10-07 08:48:32)

Offline

#5 2017-10-07 09:41:06

phoerious
Member
Registered: 2016-11-26
Posts: 6

Re: Font rendering broken in some applications after upgrade

Maybe I wasn't clear enough. It's not a theming issue. It's to do with font loading / font rendering being messed up in only some applications. SDDM is not GTK and other GTK applications work fine. Again, I also don't know why this is in the Newbie Corner now. If it was just some messed up GTK theme, I wouldn't be posting at all.

To reconcile: fonts are not loaded or displayed correctly. Numbers are especially bad. Some parts of the GUI render no fonts at all (or with the background's color, who knows). The most recent version of Chrome also renders large gaps in between words.

I noticed that web fonts are rendered mostly right, but any fonts loaded from the system are not. They are replaced by a standard font that is rendered in the most broken way imaginable. The DOM view of the Chrome web developer tools is rendered with the same font and not the usual monospace font. Applying a font-family style to an element on a website has no effect if it's not a web font. Chrome is also lagging quite badly.

In Thunderbird it's even worse. Some fonts are gigantic and mess up the whole layout making the application unusable.

I suspect some sort of bug in freetype, cairo or the Nvidia driver or any interaction between these. But I'm not sure. Maybe it's some misconfiguration somewhere. But it's certainly not a theming problem. I tried resetting configurations in my ~/.config/fontconfig folder, but without success.

Last edited by phoerious (2017-10-07 09:43:35)

Offline

#6 2017-10-07 10:53:12

phoerious
Member
Registered: 2016-11-26
Posts: 6

Re: Font rendering broken in some applications after upgrade

Alright, I found the problem. Until recently, the following (global) fontconfig worked perfectly fine to enable color emoji and override the standard DejaVu emoji:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
  <match target="pattern">
    <edit name="family" mode="prepend">
      <string>Noto Color Emoji</string>
    </edit>
  </match>
</fontconfig>

This doesn't seem to work anymore with the most recent fontconfig / freetype2 versions (or maybe the new noto-fonts-emoji package is to blame). The current noto-fonts-emoji package, however, appears to ship another /etc/fonts/conf.avail/66-noto-color-emoji.conf which does work. But unfortunately, it only defines aliases for emoji fonts and does not prepend the emoji font to the default sans-serif font. Therefore I still see the ugly B/W DejaVu emoji and only missing glyphs are replaced by Noto emoji.

Adding the following match section seems to do the job:

<match>
    <test name="family"><string>sans-serif</string></test>
    <edit name="family" mode="prepend" binding="strong">
        <string>DejaVu Sans No Emoji</string>
        <string>Noto Color Emoji</string>
    </edit>
</match>

but it only works in Chrome and breaks font rendering again in Thunderbird (although not as badly as before, since it's restricted to match sans-serif).

I'd be much obliged if someone has any tips how to get it working again in a way that doesn't break my email client.

Last edited by phoerious (2017-10-07 10:57:59)

Offline

#7 2017-10-07 11:23:43

Slithery
Administrator
From: Norfolk, UK
Registered: 2013-12-01
Posts: 5,776

Re: Font rendering broken in some applications after upgrade

I know that a recent cairo update included native support for coloured emoji, what happens if you remove all of your custom fontconfig settings?


No, it didn't "fix" anything. It just shifted the brokeness one space to the right. - jasonwryan
Closing -- for deletion; Banning -- for muppetry. - jasonwryan

aur - dotfiles

Offline

#8 2017-10-07 11:26:20

phoerious
Member
Registered: 2016-11-26
Posts: 6

Re: Font rendering broken in some applications after upgrade

Well, that's how I found the problem in the first place. If I remove all configs, I get standard font rendering in all its ugliness with embedded bitmaps fonts here and there and with the default font's built-in B/W emoji glyphs.

Offline

#9 2017-10-07 12:53:48

mapi
Member
Registered: 2017-09-23
Posts: 4

Re: Font rendering broken in some applications after upgrade

I had a similar problem a while ago with fonts in urxvt.

It seems that freetype 2.8.1 refuses to load some fonts. Looks like it could be a problem with the fonts themselves.

For the time being I downgraded to freetype2 2.8-2

Offline

Board footer

Powered by FluxBB