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

Reply via email to