This isn't a bad idea. I've been somewhat frustrated with the situation
on X11 for a few years.
Given that the only true blocker for using Qt scaling is the fact that
it breaks mixed-DPI multimonitor quite badly, I think you are right that
we could express this trade-off in the UI, and let the user know what
their options are, and the risks of each one. Making HiDPI work better
on X11 would have a big impact given that Wayland isn't 100% ready yet.
I'd be interested in seeing merge requests for this. My recommendation
would be to put the setting in the KScreen KCM. It could be right under
the scaling slider, sort of like this:
Scaling style: ( ) Most compatible
Most compatible with multi-monitor setups, but
will cause some user interface controls to be
displayed with the wrong size.
(o) Prettiest
May cause problems with setups that have multiple
monitors with differing resolutions.
Nate
On 2/9/22 23:03, Fusion Future wrote:
Currently, Plasma on X11 disables `PLASMA_USE_QT_SCALING` by default to
avoid some more serious bugs (and many of them have been fixed [1]).
Bug 356446 [2] was marked "RESOLVED INTENTIONAL" because "it breaks
mixed-DPI screen arrangements" and there seems no way to overcome the
defect because of design flaws in upstream X11 library (if I understand
it correctly).
However, for any user who has only one screen or has multiple screens
with the same DPI value, and has to use X11 for whatever reason, the
visual experience becomes much worse after the user changes the global
scale factor and finds Plasma Desktop (or plasmashell) doesn't scale
correctly.
The problem can be alleviated by setting "PLASMA_USE_QT_SCALING=1"
environment variable, but the user may not be aware of that variable
when changing the scale factor and therefore leave a bad impression on
Plasma Desktop.
==============================
I have some suggestions to help the user understand why the environment
variable is not set by default:
1. Inform the user that Plasma Desktop will not obey the scale factor
when changing the value in KScreen KCM, and the technical reason.
2. Show an inline message to guide the user to add
"PLASMA_USE_QT_SCALING=1" in the environment variable list, and possible
consequences of doing so.
3. If possible, KScreen can provide an option to directly enable it when
the current session uses X11. [3]
(But where should the setting be saved? "~/.profile" or a config file
like "startkderc"? The latter may require modifying
"plasma-workspace/startkde/startplasma.cpp". I am not familiar with how
the start process works so I just put some ideas here.)
I am not sure if my suggestions are applicable. Any ideas are welcome!
==============================
References:
[1] https://bugs.kde.org/show_bug.cgi?id=356446 (See "Depends on")
[2] https://bugs.kde.org/show_bug.cgi?id=356446#c70
[3] https://bugs.kde.org/attachment.cgi?id=146517