You are not logged in.
Hello everyone,
I recently installed Arch Linux with GNOME as my desktop environment and Wayland as the windowing system. However, I have been facing a font rendering problem where the fonts appear blurry and not as sharp as expected, even before I made any changes to the default font settings.
I have tried adjusting the font settings in GNOME Settings, including font scaling, hinting, and antialiasing, but the issue persists. Additionally, I have installed popular font packages such as ttf-dejavu and noto-fonts to ensure the availability of standard fonts.
The problem seems to affect the entire interface, making the text less readable and causing discomfort during extended usage.
System Details:
GNOME version: 44.3
Windowing system: Wayland
Kernel version: Linux 6.1.39-3-lts
Graphics: Intel(R) HD Graphics 620 (KBL GT2)
I have also run glxinfo to check the graphics renderer, but it doesn't seem to provide any information related to the font rendering issue.
I have examined the font configuration files in /etc/fonts/conf.d/ and /etc/fonts/fonts.conf, but I could not identify any conflicting settings.
I am seeking assistance from the Arch Linux and GNOME communities to help me diagnose and resolve this font rendering problem. Any suggestions, tips, or potential solutions are greatly appreciated.
Thank you for your time and support.
The images:
Problem image 1:
Problem image 2:
About system:
Display configuration:
Last edited by sudarshan68 (2023-08-10 06:53:37)
Offline
You forgot to link the screencaps.
Offline
OP tried to embed them but used the URL of a webpage…
https://ibb.co/gFrSd5q
https://ibb.co/j3WSXrM
https://ibb.co/7YjGY48
https://ibb.co/ch0Mtgc
@sudarshan68 please look at them from a different device (phone), do they actually look "blurry" to you there?
If not, run gnome on X11, see whether the output still looks blurry and please post your Xorg log, https://wiki.archlinux.org/title/Xorg#General (mostly because idk whether there's any way to extract any useful data about the display server when mutter pretends to be one…)
Online
I switched my display server to "Gnome classis on Xorg" and windowing system = "X11". The fonts don't look blurry anymore. It's a sharp display. But could not find any "Xorg log files" in my PC.
Offline
Did you click the wiki I linked? Explains where to look.
This is most likely some HiDPI issue and one of the outputs being scaled, what raises the question: is there more than one?
(Though the xorg log is neatly gonna answer that and a bunch of other things…)
Online
Thank you for your response @seth. I have reviewed the log files mentioned in the provided link.
However, I am willing to share the log files if needed for further analysis.
Please let me know if there are any specific log files you would like me to share.
Any further guidance would be greatly appreciated.
I ran: `grep -iE 'dpi|scaling|HiDPI' .local/share/xorg/Xorg.0.log`
[ 70.062] (WW) The directory "/usr/share/fonts/100dpi" does not exist.
[ 70.063] (WW) The directory "/usr/share/fonts/75dpi" does not exist.
[ 70.372] (==) modeset(0): DPI set to (96, 96)
[ 70.695] (II) event4 - PixArt Dell MS116 USB Optical Mouse: device set to 1000 DPI
[ 70.699] (II) event4 - PixArt Dell MS116 USB Optical Mouse: device set to 1000 DPI
Also: `grep -iE 'dpi|scaling|HiDPI' .local/share/xorg/Xorg.0.log.old`
[ 1364.495] (WW) The directory "/usr/share/fonts/100dpi" does not exist.
[ 1364.495] (WW) The directory "/usr/share/fonts/75dpi" does not exist.
[ 1364.804] (==) modeset(0): DPI set to (96, 96)
[ 1365.077] (II) event8 - PixArt Dell MS116 USB Optical Mouse: device set to 1000 DPI
[ 1365.081] (II) event8 - PixArt Dell MS116 USB Optical Mouse: device set to 1000 DPI
I have uploaded both the log files in the link given below:
https://www.file.io/gLKj/download/SuR3HVtCc4fD
If link does not work: `https://www.file.io/gLKj/download/SuR3HVtCc4fD`
Thank you in advance.
Offline
There's only one i915 chip and one monitor at 1366x768 - which is rather not prone to cause issues.
The link is btw. now gone (what sucks, because I have deleted the files and forgot to take a closer look for weird stuff in the EDID)
However, this doesn't really explain any blurriness in wayland.
In gnome/wayland, what's the output of "xrandr -q" and what dimensions does a fullscreen screenhot have?
Online
@seth The following is the output of the command `xrand -q`
Xorg Display:
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 16384 x 16384
eDP-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 309mm x 173mm
1366x768 60.01*+ 39.97
1280x720 60.00 59.99 59.86 59.74
1024x768 60.04 60.00
960x720 60.00
928x696 60.05
896x672 60.01
1024x576 59.95 59.96 59.90 59.82
960x600 59.93 60.00
960x540 59.96 59.99 59.63 59.82
800x600 60.00 60.32 56.25
840x525 60.01 59.88
864x486 59.92 59.57
700x525 59.98
800x450 59.95 59.82
640x512 60.02
700x450 59.96 59.88
640x480 60.00 59.94
720x405 59.51 58.99
684x384 59.88 59.85
640x400 59.88 59.98
640x360 59.86 59.83 59.84 59.32
512x384 60.00
512x288 60.00 59.92
480x270 59.63 59.82
400x300 60.32 56.34
432x243 59.92 59.57
320x240 60.05
360x202 59.51 59.13
320x180 59.84 59.32
HDMI-1 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
Wayland Display:
Screen 0: minimum 16 x 16, current 1366 x 768, maximum 32767 x 32767
eDP-1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 310mm x 170mm
1366x768 59.80*+
1024x768 59.92
800x600 59.86
640x480 59.38
320x240 59.52
1152x720 59.97
960x600 59.96
928x580 59.88
800x500 59.50
768x480 59.90
720x480 59.71
640x400 59.95
320x200 58.96
1280x720 59.86
1024x576 59.90
864x486 59.92
720x400 59.55
640x350 59.77
A fullscreen screenshot has: 1366 × 768 pixels dimensions.
Last edited by sudarshan68 (2023-08-07 16:34:12)
Offline
Please use [code][/code] tags. Edit your post in this regard.
Unfortunately that doesn't explain any kind of blurriness, did you enable https://wiki.archlinux.org/title/HiDPI# … al_scaling ?
Online
@seth I have not enabled fractional scaling for my system. Fractional scaling comes under experimental features of GNOME.
when i run the following command:
> gsettings get org.gnome.mutter experimental-features
> @as []
Thank you a lot @seth for the edit suggestion.
Can there be any other reason? If not then maybe we can close this chat.
Offline
Did you change any of Gnome's scaling factors? Specifically, what's the output of "gsettings list-recursively org.gnome.desktop.interface | grep scaling"?
Did you set any scaling related environment variables such as GDK_SCALE? What's the output of "env | grep -i scale"?
Last edited by 3beb6e7c46a615a (2023-08-07 17:27:02)
Offline
The irritating aspect is that only wayland seems affected (what would have made fractional scaling a good contender)
Answer lunaryorn's questions and ideally provide a photo of the screen that shows the issue (use some tripod or a makeshift-stand using some books or so, motion blur from a shaky hand isn't gonna help here
Online
@lunaryorn Thank you for providing a hint. Also my scaling factor is set to default i.e. `1.0`
The output are as follows:
> gsettings list-recursively org.gnome.desktop.interface | grep scaling
> org.gnome.desktop.interface scaling-factor uint32 0
> org.gnome.desktop.interface text-scaling-factor 1.0
> env | grep -i scale
The following images are taken from a phone using books as a stability stand. Sorry for it, that's all i could manage.
Sample images are as below:
Sample image 1: https://i.ibb.co/kJ7wTwm/sample-1.jpg
Sample image 2: https://i.ibb.co/mSLXQ6s/sample-2.jpg
Thanking you in advance. @lunaryorn and @seth
Hope this helps.
Last edited by sudarshan68 (2023-08-09 07:28:13)
Offline
Please don't use sceenshots to show command outputs; copy the output into a code block instead.
How is your display configured? Can you show a screenshot of "gnome-control-center display" (ideally don't include it in your post directly, but upload it to an image hoster and just share the link; this makes your post easier to read)? Perhaps also run "gdbus call -e -d org.gnome.Mutter.DisplayConfig -o /org/gnome/Mutter/DisplayConfig -m org.gnome.Mutter.DisplayConfig.GetCurrentState | curl -Ffile=@- https://0x0.st" and share the URL you get back; this creates a complete dump of your Gnome display configuration.
Does this problem affect all applications? As far as I can see all screenshots showed Gtk3/4 applications; does it also happen with Qt applications?
Offline
Samples look like *maybe* improper hinting, https://wiki.archlinux.org/title/Font_c … 4_programs - but that would affect X11 as well
Online
@lunaryorn Thank you for your reply.
The command:
"gdbus call -e -d org.gnome.Mutter.DisplayConfig -o /org/gnome/Mutter/DisplayConfig -m org.gnome.Mutter.DisplayConfig.GetCurrentState | curl -Ffile=@- https://0x0.st"
Link Generated: https://0x0.st/H_2F.txt
Fonts in other applications do seem fine. In system also, larger fonts are proper but texts with small font size seem blurry. As for QT applications it seem fine as the fonts are larger.
@seth I checked the link and i did that setting few days ago.
> cat .config/gtk-4.0/settings.ini
> [Settings]
> gtk-hint-font-metrics=true
Last edited by sudarshan68 (2023-08-09 07:29:19)
Offline
larger fonts are proper but texts with small font size seem blurry
fc-conflist
Online
@seth This is the output of the command.
> fc-conflist
+ /etc/fonts/conf.d/10-hinting-slight.conf: Set hintslight to hintstyle
+ /etc/fonts/conf.d/10-scale-bitmap-fonts.conf: Bitmap scaling
+ /etc/fonts/conf.d/10-sub-pixel-rgb.conf: Enable sub-pixel rendering with the RGB stripes layout
+ /etc/fonts/conf.d/10-yes-antialias.conf: Enable antialiasing
+ /etc/fonts/conf.d/11-lcdfilter-default.conf: Use lcddefault as default for LCD filter
+ /etc/fonts/conf.d/20-unhint-small-dejavu-lgc-sans-mono.conf: No description
+ /etc/fonts/conf.d/20-unhint-small-dejavu-lgc-sans.conf: No description
+ /etc/fonts/conf.d/20-unhint-small-dejavu-lgc-serif.conf: No description
+ /etc/fonts/conf.d/20-unhint-small-dejavu-sans-mono.conf: No description
+ /etc/fonts/conf.d/20-unhint-small-dejavu-sans.conf: No description
+ /etc/fonts/conf.d/20-unhint-small-dejavu-serif.conf: No description
+ /etc/fonts/conf.d/20-unhint-small-vera.conf: Disable hinting for Bitstream Vera fonts when the size is less than 8ppem
+ /etc/fonts/conf.d/30-metric-aliases.conf: Set substitutions for similar/metric-compatible families
+ /etc/fonts/conf.d/40-nonlatin.conf: Set substitutions for non-Latin fonts
+ /etc/fonts/conf.d/45-generic.conf: Set substitutions for emoji/math fonts
+ /etc/fonts/conf.d/45-latin.conf: Set substitutions for Latin fonts
+ /etc/fonts/conf.d/48-spacing.conf: Add mono to the family when spacing is 100
+ /etc/fonts/conf.d/49-sansserif.conf: Add sans-serif to the family when no generic name
+ /etc/fonts/conf.d/50-user.conf: Load per-user customization files
+ /etc/fonts/conf.d/51-local.conf: Load local customization file
+ /etc/fonts/conf.d/57-dejavu-sans-mono.conf: No description
+ /etc/fonts/conf.d/57-dejavu-sans.conf: No description
+ /etc/fonts/conf.d/57-dejavu-serif.conf: No description
+ /etc/fonts/conf.d/58-dejavu-lgc-sans-mono.conf: No description
+ /etc/fonts/conf.d/58-dejavu-lgc-sans.conf: No description
+ /etc/fonts/conf.d/58-dejavu-lgc-serif.conf: No description
+ /etc/fonts/conf.d/60-generic.conf: Set preferable fonts for emoji/math fonts
+ /etc/fonts/conf.d/60-latin.conf: Set preferable fonts for Latin
+ /etc/fonts/conf.d/65-fonts-persian.conf: No description
+ /etc/fonts/conf.d/65-nonlatin.conf: Set preferable fonts for non-Latin
+ /etc/fonts/conf.d/69-unifont.conf: No description
+ /etc/fonts/conf.d/69-urw-bookman.conf: No description
+ /etc/fonts/conf.d/69-urw-c059.conf: No description
+ /etc/fonts/conf.d/69-urw-d050000l.conf: No description
+ /etc/fonts/conf.d/69-urw-fallback-backwards.conf: No description
+ /etc/fonts/conf.d/69-urw-fallback-generics.conf: No description
+ /etc/fonts/conf.d/69-urw-fallback-specifics.conf: No description
+ /etc/fonts/conf.d/69-urw-gothic.conf: No description
+ /etc/fonts/conf.d/69-urw-nimbus-mono-ps.conf: No description
+ /etc/fonts/conf.d/69-urw-nimbus-roman.conf: No description
+ /etc/fonts/conf.d/69-urw-nimbus-sans.conf: No description
+ /etc/fonts/conf.d/69-urw-p052.conf: No description
+ /etc/fonts/conf.d/69-urw-standard-symbols-ps.conf: No description
+ /etc/fonts/conf.d/69-urw-z003.conf: No description
+ /etc/fonts/conf.d/70-no-bitmaps.conf: No description
+ /etc/fonts/conf.d/80-delicious.conf: No description
+ /etc/fonts/conf.d/90-synthetic.conf: No description
+ /etc/fonts/fonts.conf: Default configuration file
- /usr/share/fontconfig/conf.avail/05-reset-dirs-sample.conf: Re-define fonts dirs sample
- /usr/share/fontconfig/conf.avail/09-autohint-if-no-hinting.conf: Enable autohinter if font doesn't have any hinting
- /usr/share/fontconfig/conf.avail/10-autohint.conf: Enable autohinter
- /usr/share/fontconfig/conf.avail/10-hinting-full.conf: Set hintfull to hintstyle
- /usr/share/fontconfig/conf.avail/10-hinting-medium.conf: Set hintmedium to hintstyle
- /usr/share/fontconfig/conf.avail/10-hinting-none.conf: Set hintnone to hintstyle
- /usr/share/fontconfig/conf.avail/10-hinting-slight.conf: Set hintslight to hintstyle
- /usr/share/fontconfig/conf.avail/10-no-antialias.conf: Disable antialiasing
- /usr/share/fontconfig/conf.avail/10-scale-bitmap-fonts.conf: Bitmap scaling
- /usr/share/fontconfig/conf.avail/10-sub-pixel-bgr.conf: Enable sub-pixel rendering with the BGR stripes layout
- /usr/share/fontconfig/conf.avail/10-sub-pixel-none.conf: Disable sub-pixel rendering
- /usr/share/fontconfig/conf.avail/10-sub-pixel-rgb.conf: Enable sub-pixel rendering with the RGB stripes layout
- /usr/share/fontconfig/conf.avail/10-sub-pixel-vbgr.conf: Enable sub-pixel rendering with the vertical BGR stripes layout
- /usr/share/fontconfig/conf.avail/10-sub-pixel-vrgb.conf: Enable sub-pixel rendering with the vertical RGB stripes layout
- /usr/share/fontconfig/conf.avail/10-unhinted.conf: Disable hinting
- /usr/share/fontconfig/conf.avail/10-yes-antialias.conf: Enable antialiasing
- /usr/share/fontconfig/conf.avail/11-lcdfilter-default.conf: Use lcddefault as default for LCD filter
- /usr/share/fontconfig/conf.avail/11-lcdfilter-legacy.conf: Use lcdlegacy as default for LCD filter
- /usr/share/fontconfig/conf.avail/11-lcdfilter-light.conf: Use lcdlight as default for LCD filter
- /usr/share/fontconfig/conf.avail/20-unhint-small-dejavu-lgc-sans-mono.conf: No description
- /usr/share/fontconfig/conf.avail/20-unhint-small-dejavu-lgc-sans.conf: No description
- /usr/share/fontconfig/conf.avail/20-unhint-small-dejavu-lgc-serif.conf: No description
- /usr/share/fontconfig/conf.avail/20-unhint-small-dejavu-sans-mono.conf: No description
- /usr/share/fontconfig/conf.avail/20-unhint-small-dejavu-sans.conf: No description
- /usr/share/fontconfig/conf.avail/20-unhint-small-dejavu-serif.conf: No description
- /usr/share/fontconfig/conf.avail/20-unhint-small-vera.conf: Disable hinting for Bitstream Vera fonts when the size is less than 8ppem
- /usr/share/fontconfig/conf.avail/25-unhint-nonlatin.conf: Disable hinting for CJK fonts
- /usr/share/fontconfig/conf.avail/30-metric-aliases.conf: Set substitutions for similar/metric-compatible families
- /usr/share/fontconfig/conf.avail/35-lang-normalize.conf: No description
- /usr/share/fontconfig/conf.avail/40-nonlatin.conf: Set substitutions for non-Latin fonts
- /usr/share/fontconfig/conf.avail/45-generic.conf: Set substitutions for emoji/math fonts
- /usr/share/fontconfig/conf.avail/45-latin.conf: Set substitutions for Latin fonts
- /usr/share/fontconfig/conf.avail/48-spacing.conf: Add mono to the family when spacing is 100
- /usr/share/fontconfig/conf.avail/49-sansserif.conf: Add sans-serif to the family when no generic name
- /usr/share/fontconfig/conf.avail/50-user.conf: Load per-user customization files
- /usr/share/fontconfig/conf.avail/51-local.conf: Load local customization file
- /usr/share/fontconfig/conf.avail/57-dejavu-sans-mono.conf: No description
- /usr/share/fontconfig/conf.avail/57-dejavu-sans.conf: No description
- /usr/share/fontconfig/conf.avail/57-dejavu-serif.conf: No description
- /usr/share/fontconfig/conf.avail/58-dejavu-lgc-sans-mono.conf: No description
- /usr/share/fontconfig/conf.avail/58-dejavu-lgc-sans.conf: No description
- /usr/share/fontconfig/conf.avail/58-dejavu-lgc-serif.conf: No description
- /usr/share/fontconfig/conf.avail/60-generic.conf: Set preferable fonts for emoji/math fonts
- /usr/share/fontconfig/conf.avail/60-latin.conf: Set preferable fonts for Latin
- /usr/share/fontconfig/conf.avail/65-fonts-persian.conf: No description
- /usr/share/fontconfig/conf.avail/65-khmer.conf: No description
- /usr/share/fontconfig/conf.avail/65-nonlatin.conf: Set preferable fonts for non-Latin
- /usr/share/fontconfig/conf.avail/69-unifont.conf: No description
- /usr/share/fontconfig/conf.avail/69-urw-bookman.conf: No description
- /usr/share/fontconfig/conf.avail/69-urw-c059.conf: No description
- /usr/share/fontconfig/conf.avail/69-urw-d050000l.conf: No description
- /usr/share/fontconfig/conf.avail/69-urw-fallback-backwards.conf: No description
- /usr/share/fontconfig/conf.avail/69-urw-fallback-generics.conf: No description
- /usr/share/fontconfig/conf.avail/69-urw-fallback-specifics.conf: No description
- /usr/share/fontconfig/conf.avail/69-urw-gothic.conf: No description
- /usr/share/fontconfig/conf.avail/69-urw-nimbus-mono-ps.conf: No description
- /usr/share/fontconfig/conf.avail/69-urw-nimbus-roman.conf: No description
- /usr/share/fontconfig/conf.avail/69-urw-nimbus-sans.conf: No description
- /usr/share/fontconfig/conf.avail/69-urw-p052.conf: No description
- /usr/share/fontconfig/conf.avail/69-urw-standard-symbols-ps.conf: No description
- /usr/share/fontconfig/conf.avail/69-urw-z003.conf: No description
- /usr/share/fontconfig/conf.avail/70-no-bitmaps.conf: Reject bitmap fonts
- /usr/share/fontconfig/conf.avail/70-yes-bitmaps.conf: Accept bitmap fonts
- /usr/share/fontconfig/conf.avail/80-delicious.conf: No description
- /usr/share/fontconfig/conf.avail/90-synthetic.conf: No description
is there anything else i could do?
Offline
Which of the texts in https://i.ibb.co/kJ7wTwm/sample-1.jpg and https://i.ibb.co/mSLXQ6s/sample-2.jpg do you consider "small" and blurry?
What happens to them if you
- change the hinting to hintfull?
- disable antialiasing?
Online
@seth In this https://i.ibb.co/kJ7wTwm/sample-1.jpg
Allows raising the volume above 100% This can result in loss of audio quality
This line seems blurry.
Offline
Also
if you
- change the hinting to hintfull?
- disable antialiasing?
I *think* the hinting blurs out vertical lines, this might be because of the grayscale hinting instead of using subpixels - or because the font is too small to be usefully antialiased.
Online
@seth When i change the values of hinting and anti-aliasing it somehow, it looks good under the following condition.
Hinting: Medium
Antialiasing: Standard (grayscale)
So i guess this is it.
Offline
So problem solved?
In case, please always remember to mark resolved threads by editing your initial posts subject - so others will know that there's no task left, but maybe a solution to find.
Thanks.
Online
Thank you @seth and @lunaryorn for your time and help. Your help is really appreciated and it solved my problem. Also i learned many things while figuring this out.
Take care guys.
Offline