On Linux, Obsidian not respect desktop environment font settings

Steps to reproduce

Install flatpak and
flatpak install flathub md.obsidian.Obsidian

Open sandbox vault
Confirm white or gray white font are very colorfulness

Screenshot, zoom, discovered subpixel font rendering

Expected result

I have disabled subpixel font, and use only grayscale in LXQt font settings:
Firefox render website use grayscale without adding colored edge to font

Actual result

Obsidian use subpixel font and does not apply settings from user

Environment

  • Operating system: Linux fedora 37 6.1.13-200.fc37.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Feb 22 17:53:57 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
  • Debug info:

SYSTEM INFO:
Obsidian version: v1.1.16
Installer version: v1.1.16
Operating system: #1 SMP PREEMPT_DYNAMIC Wed Feb 22 17:53:57 UTC 2023 6.1.13-200.fc37.x86_64
Login status: not logged in
Insider build toggle: off
Live preview: on
Legacy editor: off
Base theme: dark
Community theme: none
Snippets enabled: 0
Restricted mode: on

RECOMMENDATIONS:
none


Additional information

I see you have a release with “The editor text should now always stay clear using subpixel-antialiasing, instead of jumping to blurry grayscale from time to time.”

https://forum.obsidian.md/t/obsidian-release-v0-10-8/11323

But no, subpixel always hurts my eyes, I’m comfortable with grayscale AA

May I have a CSS hack or a switch in settings, or obsidian may turn off subpixel to respect LXQt desktop environment settings?

we don’t provide support for the flatpak version becuse we don’t make it.

Nevertheless, I don’t consider this a bug and if you wanna use specific fonts configurations, use CSS.

This indeed is a flatpak issue

And what CSS property should I use to enable grayscale font antialiasing instead of RGB?

OK, there is no CSS property is required.
According to flatpak issues 4742, I made a script to fix this

Save this code to FixFlatpakFont.sh, chmod +x FixFlatpakFont.sh

#!/bin/bash
FONT_CONF="$HOME/.config/fontconfig"
DEST="$HOME/.var/app/$1/config/fontconfig"

ln -s $FONT_CONF $DEST

And run ./FixFlatpakFont.sh md.obsidian.Obsidian, close Obsidian, open again, confirm font rendering is fixed.

For other flatpak apps, look at ls ~/.var/app, folders inside this path go to script first argument.

Looking at several apps, it might be feasible to fix this without a workaround script:

Can you see if removing the symlink and then running either of these fixes your issue?

$ flatpak run --filesystem=xdg-config/fontconfig:ro md.obsidian.Obsidian
$ flatpak run --filesystem=xdg-config/fontconfig:ro --persist=xdg-config/fontconfig md.obsidian.Obsidian

If they work, then I can update the flatpak permissions.

1 Like