Details
-
Bug
-
Resolution: Out of scope
-
P3: Somewhat important
-
None
-
5.10.1
-
None
-
OpenSUSE Linux 42.2 x86-64, Qt 5.10, Plasma desktop, 192 DPI (forced using Plasma).
Currently, neither of QT_AUTO_SCREEN_SCALE_FACTOR, QT_SCALE_FACTOR or QT_SCREEN_SCALE_FACTORS environment variables are set.
To enable HiDpi scaling to reproduce this bug, use QT_SCREEN_SCALE_FACTORS=2 (or any other number > 1).OpenSUSE Linux 42.2 x86-64, Qt 5.10, Plasma desktop, 192 DPI (forced using Plasma). Currently, neither of QT_AUTO_SCREEN_SCALE_FACTOR, QT_SCALE_FACTOR or QT_SCREEN_SCALE_FACTORS environment variables are set. To enable HiDpi scaling to reproduce this bug, use QT_SCREEN_SCALE_FACTORS=2 (or any other number > 1).
Description
In Linux/X11, most systems have font hinting enabled (using fontconfig) for much better font rendering (less blurring).
On HiDpi displays (e.g. dpi=192), if not using any QT_SCALE environment variables, all Qt applications render fonts at 192 dpi with hinting enabled, so font rendering looks good. However, most (all) applications have rendering issues because the sizes in Qt are specified in pixels. Especially at DPIs higher than 192 (my laptop has 288 DPI).
For proper scaling Qt scaling environment variables are suggested (like QT_SCREEN_SCALE_FACTORS=2). This causes all applications to render their widget sizes nicely (just like at 96 dpi, but scaled), but, it has a major drawback - font hinting is completely disabled. Note that this is the default mode for many distributions.
I'd love to use the scaling mode (otherwise my desktop is broken in most applications), but the absence of font hinting really hurts my eyes.
I'm attaching to screenshots:
1. QT_SCREEN_SCALE_FACTORS=2 kwrite (font hinting is disabled, fonts are blurry).
2. kwrite at 192 dpi (font hinting is disabled, fonts look good).