Summary: | plasma-workspace lookandfeel needs to be ported to QtQuickControls2 to support HiDPI screens | ||
---|---|---|---|
Product: | [Applications] systemsettings | Reporter: | Andreas Schneider <asn> |
Component: | kcm_lookandfeel | Assignee: | Plasma Bugs List <plasma-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | bugseforuns, kde, kde, matheus4551, nate, plasma-bugs, simonandric5 |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://cgit.kde.org/plasma-desktop.git/commit/?id=0b91f62e6920d9720958385fb70e80f20b79c58d | Version Fixed In: | 5.13.0 |
Attachments: | LockScreen |
Description
Andreas Schneider
2018-02-16 13:01:57 UTC
Created attachment 110718 [details]
LockScreen
That has nothing to do with QtQuick Controls 1 or 2. What exactly is the problem? Warning: Qt Quick Controls 1.x are not compatible with Qt's automatic high-DPI scaling. There is currently no available solution for high-DPI support in applications wishing to mix Qt Quick Controls and Qt Quick Controls 2. Quoted from: https://doc.qt.io/qt-5/qtquickcontrols2-highdpi.html The fonts and icons look blurry, here is a screenshot: https://xor.cryptomilk.org/plasma_lockscreen.png The same problem had Elisa with Qt Quick Controls v1: https://xor.cryptomilk.org/elisa/elisa.png And this is how it looks after switchting to Qt Quick Controls 2.2 https://xor.cryptomilk.org/elisa/elisa-controls2.png Labels (which we're talking about here) are just subclasses of QQuickItem.Text It just so happens that Kirigami's desktop-theme sets a different renderType. Won't make a difference for the lock screen, as we're use the Plasma components and Plasma labels. Main QQC thing we're using is StackView and Action which are GUI-less anyway. Porting to Plamsa Components3 (which is QQC2 confusingly) also has the same render type as it does now. So it uses a bad text rendering type which doesn't support scaling correctly? Native instead of Qt? Yes, Text.NativeRendering is affected by a bug for non-integer scale factors that causes this issue: https://bugreports.qt.io/browse/QTBUG-67007 The QQC2-desktop-style package works around this bug by forcing the use of Text.QtRendering, which works fine. However that only works for QQC2 controls, not QQC1 controls or PlasmaComponents controls, which is what are used in the logout overlay. I have submitted a patch to resolve that: https://phabricator.kde.org/D11244 Though this bug was originally filed against the logout overlay, it looks like it's now tracking the Look & Feel KCM. The logout overlay issue is tracked by Bug 391691, and should be fixed by my patch. |