https://bugs.kde.org/show_bug.cgi?id=471443
Ilya Fedin <fedin-ilja2...@ya.ru> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|general |Startup process CC| |k...@davidedmundson.co.uk Target Milestone|--- |1.0 Assignee|unassigned-b...@kde.org |plasma-b...@kde.org Product|kde |plasmashell Version|unspecified |5.27.6 --- Comment #2 from Ilya Fedin <fedin-ilja2...@ya.ru> --- Hope plasmashell is the correct component, the bug is in startkde which is a part of plasma-workspace. The underlying problem is Plasma uses debug environment variables Qt provides instead of the proper API[1] such as Xft.dpi in xrdb and Xft/DPI in xsettings. The second one could be changed without re-login. Since the way Plasma sets up the scaling[3][4] is a debug one[2], it completely disregards the hints set by applications, such as no fractional scaling support[5] so Qt applies fractional scaling forcefully what leads to UI corruption. I'd say this is even worse than the effect of setting GTK debug environment variables which Plasma was doing in the past. Moreover, during the evolution of the codebase it has happened that a part of this logic has ended up being in startplasma-x11.cpp[3] and a part resides now in startplasma.cpp[4]. This leads to Xwayland Qt 5 applications being forbidden to scale. QT_AUTO_SCREEN_SCALE_FACTOR[4] is also a deprecated variable that was replaced by QT_ENABLE_HIGHDPI_SCALING during Qt 5 lifetime (seem to be undocumented) and is not being read by Qt 6 so Qt 6 applications end up being double-scaled. What Plasma should is to stop using Qt's debug environment variables, at all. This never makes any good, just like with gtk and likely any other library. If it needs its apps to be fractionally scaled then it should do that properly: by opting in every application, as that's the way upstream in the face of Qt has provided. Every other way screws up third-party applications which may not have support for fractional scaling. [1] https://doc.qt.io/qt-6/highdpi.html#configuring-x11 (undocumented in Qt 5 but mostly the same) [2] https://doc.qt.io/qt-6/highdpi.html#environment-variable-reference (poorly documented in Qt 5) [3] https://invent.kde.org/plasma/plasma-workspace/-/blob/master/startkde/startplasma-x11.cpp#L46-54 [4] https://invent.kde.org/plasma/plasma-workspace/-/blob/master/startkde/startplasma.cpp#L328-330 [5] https://doc.qt.io/qt-5/qguiapplication.html#highDpiScaleFactorRoundingPolicy -- You are receiving this mail because: You are watching all bug changes.