https://bugs.kde.org/show_bug.cgi?id=523394
Bug ID: 523394
Summary: read the describtion
Classification: I don't know
Product: kde
Version First unspecified
Reported In:
Platform: Arch Linux
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: general
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
Created attachment 194527
--> https://bugs.kde.org/attachment.cgi?id=194527&action=edit
Disabling font antialiasing does not affect Plasma Shell or QML-based System
Settings
**Title**
Plasma Shell and QML-based System Settings do not fully follow KDE font
antialiasing, subpixel, and hinting settings
**Product**
plasmashell
**Suggested component**
general
**Severity**
normal
**Version**
6.7.3
---
## Summary
Font-rendering settings selected in:
**System Settings → Text & Fonts → Fonts**
are correctly written to the user’s Fontconfig configuration, but Plasma Shell
and QML-based parts of System Settings do not appear to follow them
consistently.
In particular:
1. Setting **Anti-Aliasing: Disabled** produces `antialias: False` in
Fontconfig, but text in Plasma Shell and QML-based System Settings remains
visibly antialiased.
2. Changing the hinting setting, for example from Slight to Medium, produces
the expected Fontconfig value, but the visual appearance of Plasma Shell text
does not clearly change.
3. The Plasma Qt Quick rendering path appears to behave differently from
ordinary Fontconfig-aware applications.
4. Changing Qt Quick’s rendering backend with environment variables affects
Plasma text, proving that Plasma is using a separate rendering path, but it
still does not make Plasma fully follow KDE’s Fonts settings.
---
## System information
Operating system: Arch Linux
Kernel: Linux 7.1.4-arch1-1
Architecture: x86_64
KDE Plasma version: 6.7.3
plasma-desktop package: 6.7.3-1
plasma-workspace package: 6.7.3-1
Qt Base package: 6.11.1-1
Qt Declarative package: 6.11.1-3
Session type: Wayland
Hardware:
* Laptop: ASUS ZenBook UM5401A
* Processor: AMD Ryzen 7 5800H
* Graphics: Integrated AMD Radeon graphics
* Display: 2.8K OLED laptop display
System output:
```text
=== SYSTEM ===
Linux arian314 7.1.4-arch1-1 #1 SMP PREEMPT_DYNAMIC Sat, 18 Jul 2026 17:30:57
+0000 x86_64 GNU/Linux
=== PLASMA ===
plasmashell 6.7.3
=== PACKAGES ===
plasma-desktop 6.7.3-1
plasma-workspace 6.7.3-1
qt6-base 6.11.1-1
qt6-declarative 6.11.1-3
=== SESSION ===
wayland
```
---
## Steps to reproduce the antialiasing issue
1. Log in to a KDE Plasma Wayland session.
2. Open:
**System Settings → Text & Fonts → Fonts**
3. Set:
* Anti-Aliasing: Disabled
4. Click Apply.
5. Log out and log back in, or reboot, to ensure that Plasma Shell and all
applications restart.
6. Open the following interfaces:
* Application Launcher
* Plasma panel
* Plasma widgets
* System Settings sidebar
* QML-based System Settings pages
7. Compare their text with an application that follows Fontconfig settings.
8. Run:
```bash
fc-match -v sans |
grep -E 'antialias|rgba|hintstyle|lcdfilter'
```
---
## Actual result
Fontconfig reports that antialiasing is disabled:
```text
antialias: False(w)
hintstyle: 2(i)(w)
rgba: 5(i)(w)
lcdfilter: 1(i)(w)
```
The user’s Fontconfig file also contains:
```xml
<match target="font">
<edit mode="assign" name="antialias">
<bool>false</bool>
</edit>
</match>
```
However, text in Plasma Shell and QML-based System Settings remains visibly
antialiased.
The glyph edges remain smoothed in areas such as:
* Application Launcher
* Plasma panel text
* Plasma widget labels
* System Settings navigation sidebar
* QML-based configuration pages
Other applications that honor the Fontconfig setting can show a visible change
when antialiasing is disabled.
---
## Expected result
When Anti-Aliasing is set to Disabled in KDE System Settings, KDE desktop
components should also render text without antialiasing.
This should include:
* Plasma Shell
* Application Launcher
* Plasma panel
* Plasma widgets
* System Settings
* Shared KDE QML controls
The Fonts page should act as the main desktop-wide source of truth for font
rendering.
If some Qt Quick interfaces cannot support this setting, the Fonts page should
clearly explain which components are unaffected.
---
## Hinting issue
The same inconsistency appears to affect font hinting.
For example, setting:
* Anti-Aliasing: Enabled
* Hinting: Medium
* Subpixel rendering: None or RGB
correctly changes the Fontconfig configuration.
For Medium hinting, Fontconfig reports:
```text
hintstyle: 2
```
However, Plasma Shell text does not appear to change in the same way as text in
applications that use the normal Fontconfig rendering path.
This suggests that Plasma Shell’s Qt Quick renderer may not fully use the
hinting value selected in KDE System Settings.
---
## Subpixel rendering issue
The subpixel rendering setting also does not appear to affect Plasma Shell
consistently.
Changing between:
* None
* RGB
* BGR
* Vertical RGB
* Vertical BGR
can affect Fontconfig-aware applications, but Plasma Shell text may remain
visually unchanged or use a different antialiasing mode.
This is especially noticeable when comparing Plasma Shell with traditional Qt
Widgets or GTK applications on the same display.
---
## Qt Quick rendering experiments
To investigate the issue, I tested Qt Quick environment variables.
### Test 1: Force grayscale distance-field antialiasing
I created an environment configuration containing:
```ini
QSG_DISTANCEFIELD_ANTIALIASING=gray
```
This visibly improved the appearance of text in Plasma Shell and System
Settings.
However, after setting this variable, changing the KDE antialiasing and
subpixel settings no longer affected Plasma Shell.
This is expected because the environment variable explicitly forces Qt Quick’s
distance-field renderer to use grayscale antialiasing.
The test demonstrated that Plasma Shell’s text appearance is controlled by the
Qt Quick rendering path rather than only by KDE’s Fontconfig settings.
---
### Test 2: Disable Qt Quick distance-field rendering
I removed the previous variable and created:
```text
~/.config/environment.d/90-qt-font-rendering.conf
```
with:
```ini
QML_DISABLE_DISTANCEFIELD=1
```
After rebooting, Plasma Shell inherited the variable successfully.
Verification:
```bash
tr '\0' '\n' < /proc/$(pidof plasmashell)/environ |
grep -E 'QML_DISABLE_DISTANCEFIELD|QSG_DISTANCEFIELD'
```
Output:
```text
QML_DISABLE_DISTANCEFIELD=1
```
This visibly changed the rendering of Plasma Shell text, confirming that the
variable was active and that Qt Quick changed its text-rendering backend.
However, even with distance-field rendering disabled:
* Anti-Aliasing: Disabled still did not remove antialiasing from Plasma Shell.
* Medium hinting still did not appear to be applied consistently.
* KDE’s Fonts settings still did not fully control Plasma Shell text.
Therefore, switching to native Qt Quick rendering alone does not solve the
problem.
---
## Additional test with KDE QML label components
As an experiment, I attempted to force native rendering and disable
antialiasing in shared KDE QML Label components by adding properties similar
to:
```qml
renderType: Text.NativeRendering
antialiasing: false
```
to the Plasma and desktop Label components.
This did not solve the issue globally.
The test was reverted by reinstalling the affected KDE packages.
This experiment suggests that Plasma uses multiple text components, including:
* Label
* Text
* TextEdit
* TextInput
* custom delegates
* shadowed text components
* compiled QML components
Therefore, patching one or two shared Label files is not sufficient.
This was only an investigation and is not part of the required reproduction
procedure.
---
## Fontconfig configuration
There is no custom system-wide file at:
```text
/etc/fonts/local.conf
```
The system contains the standard Fontconfig structure:
```text
/etc/fonts/fonts.conf
/etc/fonts/conf.d/
```
The antialiasing configuration is written in the user configuration under:
```text
~/.config/fontconfig/fonts.conf
```
The effective Fontconfig output confirms that KDE saved the requested settings
correctly.
Therefore, the problem does not appear to be caused by a conflicting
`/etc/fonts/local.conf` file.
---
## Reproducibility
The issue is reproducible after:
* Applying the setting
* Restarting Plasma Shell
* Logging out and logging back in
* Rebooting the computer
The issue also remains reproducible with and without:
```ini
QML_DISABLE_DISTANCEFIELD=1
```
The variable changes the appearance of Plasma text, but it does not make Plasma
fully follow the KDE Fonts settings.
---
## Impact
This creates inconsistent font rendering across the KDE desktop.
For example:
* A normal application may render text with antialiasing disabled.
* Plasma Shell continues rendering smoothed text.
* System Settings itself may not follow the settings it provides.
* Changing hinting or subpixel options affects some applications but not Plasma
Shell.
This makes it difficult to configure consistent text rendering across the
desktop.
It is also confusing because the user interface presents these options as
global font-rendering settings without explaining that Plasma Shell and Qt
Quick applications may ignore some of them.
---
## Suspected technical cause
I am not certain where the correct fix belongs.
The issue may involve one or more of the following:
1. Plasma Shell’s Qt Quick text rendering does not read the KDE or Fontconfig
antialiasing preference.
2. QML `Text` and `Label` components default to antialiasing enabled.
3. Qt Quick’s distance-field renderer does not use Fontconfig hinting and
subpixel settings in the same way as native text rendering.
4. KDE’s shared QML style does not propagate the global font-rendering
preferences to QML text components.
5. The Fonts KCM writes Fontconfig settings but does not communicate equivalent
settings to the Qt Quick scene graph.
6. Qt may not provide a complete API for synchronizing desktop antialiasing,
hinting, and subpixel preferences with all Qt Quick text items.
Please reassign this report if the correct component is:
* Plasma Framework
* qqc2-desktop-style
* System Settings Fonts KCM
* KDE Frameworks
* Qt Quick
* Qt Declarative
---
## Suggested behavior
Ideally, KDE should expose a shared Qt Quick font-rendering policy based on the
Fonts settings.
For example, Plasma and KDE QML controls could inherit:
* Whether antialiasing is enabled
* Hinting strength
* Subpixel order
* Grayscale versus subpixel rendering
* Native versus distance-field rendering, where appropriate
At minimum, disabling antialiasing should affect KDE’s own desktop shell and
System Settings interface.
If this is impossible because of a Qt limitation, KDE System Settings should
state that the options only affect Fontconfig-aware applications and do not
fully affect Plasma Shell or Qt Quick interfaces.
---
## Attachments
I will attach:
1. Screenshot with Anti-Aliasing enabled.
2. Screenshot with Anti-Aliasing disabled.
3. Screenshot comparing Plasma Shell with a Fontconfig-aware application.
4. Screenshot showing Medium hinting selected.
5. The complete diagnostic output file:
```text
kde-font-report.txt
```
The screenshots will use the same text, font size, scaling, and display
configuration so that the differences can be compared accurately.
--
You are receiving this mail because:
You are watching all bug changes.