How To: Improve Font Rendering in Gnome?

Greetings lovely community,

I switched to EndeavourOS Gnome from PopOS and one thing I’ve noticed that is different is the font rendering. I understand EOS doesn’t config the fonts like some other distros might and that’s fine, but when I change my fonts via Gnome Tweaks tool to the same fonts that I used in PopOS, it still doesn’t quite look the same in my GTK apps like Files, Tilix, or even when I use Vivaldi. When I compare my EOS fonts with apps I use, to some screenshots I took when I was on PopOS, the fonts ALMOST match up, but the EOS ones just don’t look as nice and/or as smooth.The fonts in EOS just look slightly squished just a pixel or two, but enough that it’s noticeable to affect the readability. If I use the same fonts shouldn’t it look exactly the same between either distro? Is there any package I could install to get font rendering to look how I’d like it to in PopOS or some config file that I have to create or edit perhaps to achieve this? Is it even possible or am I kind of out of luck with this idea? Thanks again for any help, you all have been very helpful for resolving my questions so far and I appreciate it very much!

These are the fonts I’m using right now in case it helps (same fonts and sizes as on PopOS):
Screenshot from 2021-07-27 21-58-02

System specs: Acer Aspire i5-core E5-576G-5762 Laptop

[scott@endeavourOS ~]$ inxi -Fxxxza --no-host
System:
  Kernel: 5.10.53-1-lts x86_64 bits: 64 compiler: gcc v: 11.1.0 
  parameters: BOOT_IMAGE=/boot/vmlinuz-linux-lts 
  root=UUID=2c6a8f39-939c-47a4-9d95-dabf69e6f5c6 rw nvidia-drm.modeset=1 
  quiet loglevel=3 nowatchdog 
  Desktop: GNOME 40.3 tk: GTK 3.24.30 wm: gnome-shell dm: GDM 40.0 
  Distro: EndeavourOS base: Arch Linux 
Machine:
  Type: Laptop System: Acer product: Aspire E5-576G v: V1.32 serial: <filter> 
  Mobo: KBL model: Ironman_SK v: V1.32 serial: <filter> UEFI: Insyde v: 1.32 
  date: 10/24/2017 
Battery:
  ID-1: BAT1 charge: 18.2 Wh (100.0%) condition: 18.2/62.2 Wh (29.3%) 
  volts: 12.7 min: 11.1 model: PANASONIC AS16B5J type: Li-ion 
  serial: <filter> status: Full 
CPU:
  Info: Quad Core model: Intel Core i5-8250U bits: 64 type: MT MCP 
  arch: Kaby Lake note: check family: 6 model-id: 8E (142) stepping: A (10) 
  microcode: EA cache: L2: 6 MiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx 
  bogomips: 28800 
  Speed: 800 MHz min/max: 400/3400 MHz Core speeds (MHz): 1: 800 2: 800 
  3: 800 4: 800 5: 800 6: 800 7: 800 8: 800 
  Vulnerabilities: Type: itlb_multihit status: KVM: VMX disabled 
  Type: l1tf 
  mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable 
  Type: mds mitigation: Clear CPU buffers; SMT vulnerable 
  Type: meltdown mitigation: PTI 
  Type: spec_store_bypass 
  mitigation: Speculative Store Bypass disabled via prctl and seccomp 
  Type: spectre_v1 
  mitigation: usercopy/swapgs barriers and __user pointer sanitization 
  Type: spectre_v2 mitigation: Full generic retpoline, IBPB: conditional, 
  IBRS_FW, STIBP: conditional, RSB filling 
  Type: srbds mitigation: Microcode 
  Type: tsx_async_abort status: Not affected 
Graphics:
  Device-1: Intel UHD Graphics 620 vendor: Acer Incorporated ALI driver: i915 
  v: kernel bus-ID: 00:02.0 chip-ID: 8086:5917 class-ID: 0300 
  Device-2: NVIDIA GP108M [GeForce MX150] vendor: Acer Incorporated ALI 
  driver: nvidia v: 470.57.02 alternate: nouveau,nvidia_drm bus-ID: 01:00.0 
  chip-ID: 10de:1d10 class-ID: 0302 
  Device-3: Chicony HD WebCam type: USB driver: uvcvideo bus-ID: 1-7:3 
  chip-ID: 04f2:b571 class-ID: 0e02 
  Display: x11 server: X.org 1.20.12 compositor: gnome-shell driver: 
  loaded: modesetting,nvidia resolution: <missing: xdpyinfo> 
  OpenGL: renderer: NVIDIA GeForce MX150/PCIe/SSE2 v: 4.6.0 NVIDIA 470.57.02 
  direct render: Yes 
Audio:
  Device-1: Intel Sunrise Point-LP HD Audio vendor: Acer Incorporated ALI 
  driver: snd_hda_intel v: kernel alternate: snd_soc_skl bus-ID: 00:1f.3 
  chip-ID: 8086:9d71 class-ID: 0403 
  Sound Server-1: ALSA v: k5.10.53-1-lts running: yes 
  Sound Server-2: JACK v: 1.9.19 running: no 
  Sound Server-3: PulseAudio v: 14.2 running: yes 
  Sound Server-4: PipeWire v: 0.3.32 running: no 
Network:
  Device-1: Intel Dual Band Wireless-AC 3168NGW [Stone Peak] driver: iwlwifi 
  v: kernel port: 4000 bus-ID: 03:00.0 chip-ID: 8086:24fb class-ID: 0280 
  IF: wlan0 state: up mac: <filter> 
  Device-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
  vendor: Acer Incorporated ALI driver: N/A modules: r8169 port: 3000 
  bus-ID: 04:00.1 chip-ID: 10ec:8168 class-ID: 0200 
Bluetooth:
  Device-1: Intel Wireless-AC 3168 Bluetooth type: USB driver: btusb v: 0.8 
  bus-ID: 1-5:2 chip-ID: 8087:0aa7 class-ID: e001 
  Report: rfkill ID: hci0 rfk-id: 0 state: up address: see --recommends 
Drives:
  Local Storage: total: 238.47 GiB used: 125.97 GiB (52.8%) 
  SMART Message: Unable to run smartctl. Root privileges required. 
  ID-1: /dev/sda maj-min: 8:0 vendor: SK Hynix model: HFS256G39TND-N210A 
  size: 238.47 GiB block-size: physical: 4096 B logical: 512 B 
  speed: 6.0 Gb/s rotation: SSD serial: <filter> rev: 1P10 scheme: GPT 
Partition:
  ID-1: / raw-size: 237.97 GiB size: 233.17 GiB (97.99%) 
  used: 125.97 GiB (54.0%) fs: ext4 dev: /dev/sda2 maj-min: 8:2 
  ID-2: /boot/efi raw-size: 512 MiB size: 511 MiB (99.80%) 
  used: 296 KiB (0.1%) fs: vfat dev: /dev/sda1 maj-min: 8:1 
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) 
  ID-1: swap-1 type: file size: 512 MiB used: 0 KiB (0.0%) priority: -2 
  file: /swapfile 
Sensors:
  System Temperatures: cpu: 61.0 C mobo: N/A gpu: nvidia temp: 52 C 
  Fan Speeds (RPM): N/A 
Info:
  Processes: 272 Uptime: 21h 37m wakeups: 7 Memory: 15.51 GiB 
  used: 4.73 GiB (30.5%) Init: systemd v: 249 tool: systemctl Compilers: 
  gcc: 11.1.0 Packages: 1205 pacman: 1198 lib: 287 flatpak: 7 Shell: Bash 
  v: 5.1.8 running-in: tilix inxi: 3.3.05 

These are the least things i know about as i don’t really bother much with fonts. I basically stick with what ever shows up. I’m also not a big gnome user either. It has to look pretty bad before i worry about messing with it. :grin:

I’m afraid I’m in the same boat as ricklinux. I don’t know much about this and I rarely take action unless font rendering is really bad and that’s not the case right now with my first and recent install of EndeavourOS. One thing I noticed in your screen capture is that you might try ticking “Subpixel (for LCD screens)” in Tweaks. I saw a bit of improvement with that. Good luck.

By the way, Pop OS does have some pretty fine font rendering. It’s a beauty. But EndeavourOS is much more fun.

1 Like

Try changing your antialiasing to subpixel rather than grayscale. Also running with some other fonts might help although that is a guess. If you have access to these: RGB, hinting slight, DPI 96. I don’t use Gnome but if it helps… :slightly_smiling_face:

This is a must:

1 Like

Am I into noticing this or what? Can you please expand on this topic? My fonts look fine but I would like to know more. Thanks @keybreak .

Sorry i can’t really expand anything more than what’s already written (and it’s impossible to capture on screenshot), but without it on most monitors should look like “weird / wrong” font rendering, you know…badly aliased glyphs, some weird rgb pixels around some letters…Just wrong.

It’s bad upstream defaults decisions at some point.

Yep true. Screenshots don’t really show anything anyway. Defaults sometimes suck. There are plenty of good examples for that but don’t get me started on a whole bunch of topics! :wink:

1 Like

Has anyone here ever followed this guide for improving font rendering. FYI, it’s a Manjaro wiki, so I’m a little bit hesitant to use a different distros wiki instructions which is meant for their own system than EnOS, unless the process would be the same done in any other Arch-based distro. Would this be worth something to try or avoided I wonder? I don’t want to tinker too much that I end up making this worse, so it’s not mission critical that I try this, but definitely wondering if anyone else has or considers it safe to give it a try. Also, I wonder if I did it, would it be easy to revert the changes if I wanted to go back?

https://wiki.manjaro.org/index.php/Improve_Font_Rendering

It doesn’t look too far out there - for any Linux system (not just Arch-based). Note that it refers to the Archwiki at the end! As to the specifics of what it is setting, I agree with the settings, but have never used the method as described - it can all be done in my XFCE GUI, and SHOULD be doable in Gnome GUI from what I recall back in the day…

1 Like

Scotty_Trees, I just tried out the font tweaks on Manjaro Gnome (latest stable) and it worked noticeably well. I found that fonts before the tweaks were a bit thin and faint in places. After the tweaks they are more uniform and easier to read. I’m no font expert so I can’t offer you a more technical appraisal but I observed differences in Evolution’s mail and calendar windows, Gnome Files and especially at the Distrowatch website in Firefox. I’ll apply the tweaks late next week on EOS. I don’t expect results to be any different.

1 Like

Ping me next week for when you do the EnOS results, I shall look forward to it! And happy to hear the link I provided helped improve the fonts on your Manjaro system :slight_smile:

Best way to have better fonts. Use KDE! :laughing:

1 Like

I’m gonna assume you didn’t read the posts title OR you just really enjoy talking to me, hehe.
On a side note, how do you mute someone? Asking for no reason :stuck_out_tongue:

Just having a little font fun. :crazy_face:

1 Like

Or Pop OS :slight_smile:

Unexpectedly found some time to try out the font tweaks in EOS. Looks great! Give it a try, Scotty_Trees.

1 Like

Forgot to give you some proper thanks…
…Thanks, Scotty_Trees.

1 Like