Fonts in GTK application in KDE Plasma 6.0.3 just look bad

This is going to be hard to describe, but ever since changing to Plasma 6.0.3 on Artix Linux, GTK fonts just look bad. Like they have no anti-aliasing and aren’t smooth or TrueType or something. The fonts in Plasma-related applications, like System Settings, look just fine, and are set to Roboto 11pt there. I’m on Xorg as Weyland just refused to start, with no error output.

And if you have xdg-desktop-portal-gnome package installed, remove it.

And install xdg-desktop-portal-gtk package, then reboot.

If this doesn’t work, try with Noto Sans fonts.

1 Like

Maybe related to this?

I don’t have those packages installed. I’ll check that thread more but my fonts aren’t really squished like that. More just lower quality and very basic looking.

Where can I change to Noto Sans fonts in gtk apps?

Just make sure xdg-desktop-portal-gtk is installed and reboot.

Selected font in Plasma settings is applied globally to Qt and GTK3/4 apps

1 Like

Thanks, I’m trying Noto Sans. Another hint, in Waterfox I saw an emoji as the Unicode character symbol box, which I didn’t notice before. I set the font in Waterfox to Noto Sans as well now

I find that while GTK apps (Firefox for example) use the correct font family, changing the font weight has no effect on the appearance of text.

So, I don’t know if something changed with gtk or with plasma, but font weight will work if definte it in your gtk.css file. This is the only way I have found to do it. Unsure if whether this is a bug that needs to be filed with kde-gtk-config? Anyway, for bold fonts in gtk apps what I have found that works for me is editing ~/.config/gtk-3.0/gtk.css and appending the font weight there like this using a wildcard to apply to all apps:

* {
   font-weight: Bold;

I am unsure of whether hinting needs to be set there as well as I cannot really tell the difference between different hintings, but someone should inform upstream that this needs to be set in order for font weight to be applied. There may be some other solution for this issue, but this is the only thing I could find that worked for me.