| Summary: | On X11, QT_SCREEN_SCALE_FACTORS causes pixelated rendering of some QT apps when fractional scaling is on (Telegram, MegaSync...) | ||
|---|---|---|---|
| Product: | [Plasma] plasmashell | Reporter: | Pavel Shirshov <pshirshov> |
| Component: | Startup process | Assignee: | Plasma Bugs List <plasma-bugs-null> |
| Status: | RESOLVED WORKSFORME | ||
| Severity: | normal | CC: | kde, nate |
| Priority: | NOR | ||
| Version First Reported In: | 5.27.7 | ||
| Target Milestone: | 1.0 | ||
| Platform: | Other | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
David, do you know the context of this? Sorry it took us so long to get to this. I can't reproduce it in current git master, which will shortly become Plasma 6.3. Are you still able to reproduce the issue in Plasma 6.2.5 or later? Thanks! ๐๐งน โ ๏ธ This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information, then set the bug status to REPORTED. If there is no change for at least 30 days, it will be automatically closed as RESOLVED WORKSFORME. For more information about our bug triaging procedures, please read https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging. Thank you for helping us make KDE software even better for everyone! ๐๐งน This bug has been in NEEDSINFO status with no change for at least 30 days. Closing as RESOLVED WORKSFORME. |
I'm using Plasma with hiDPI displays, so I have fractional scaling turned on. When fractional scaling is on, plasma-workspace sets environment variable QT_SCREEN_SCALE_FACTORS. For some reason this variable causes strange rendering issues with Telegram, MegaSync and some other QT applications. The only way to remove this variable is to patch startplasma-x11.cpp: ``` diff --color -ru a/startkde/startplasma-x11.cpp b/startkde/startplasma-x11.cpp --- a/startkde/startplasma-x11.cpp 2022-08-23 17:55:27.827687762 +0100 +++ b/startkde/startplasma-x11.cpp 2022-08-23 17:56:11.170498094 +0100 @@ -48,7 +48,7 @@ KConfigGroup kscreenGroup = cfg.group("KScreen"); const auto screenScaleFactors = kscreenGroup.readEntry("ScreenScaleFactors", QByteArray()); if (!screenScaleFactors.isEmpty()) { - qputenv("QT_SCREEN_SCALE_FACTORS", screenScaleFactors); + // qputenv("QT_SCREEN_SCALE_FACTORS", screenScaleFactors); } ``` I haven't noticed any rendering issues with this variable unset, only improvements.