Hi, Am Samstag, 30. Juni 2018, 10:00:18 CEST schrieb Mykola Krachkovsky:
пʼÑÑниÑÑ, 29 ÑеÑÐ²Ð½Ñ 2018 Ñ. 16:33:24 EEST Fabian Vogt напиÑано:
X was not designed for HiDPI and especially not mixed-DPI environments. It has only a single dpi specifier for the whole screen (spanning all monitors) and it is on all drivers, except the proprietary Nvidia driver, 96x96dpi. Each monitor geometry is available via XRandR though. I'm using SDDM config:
[XDisplay] ServerArguments=-nolisten tcp -dpi 142
to explicitly set 142 DPI
But still, X has no support of mixed DPI, and when my external monitor has about 96-100 DPI, it looks not good :(
Did you also set EnableHiDPI=true? As you already set -dpi manually, the Qt patch which will be added won't have an effect here, sorry. However, once the Qt changes landed we can make EnableHiDPI=true in sddm the default, as this is the only reason it's not the case already.
This is reported upstream as https://bugreports.qt.io/browse/QTBUG-67928 IMHO, that should be fixed in X drivers in the first place, not Qt. Am I wrong?
Not really, but it would also not fix it as the interpretation of that value depends on the toolkit. If you have 96/192 dpi monitors, should X report 96 or 192 as global dpi? Or even 144 as the average? Neither is correct, really.
You can revert to the old behaviour by setting "Xft.dpi: 96" (most configuration dialogs call it "Force font DPI") or by setting QT_FONT_DPI=96 in the environment. As for now, I forced to set "Xft.dpi: 142" for GTK apps, as they ignore X parameters and are forced to 96 DPI, unless Xft.dpi is set. And that is very bad. Especially, as GDK_SCALE couldn't be fractional and 2 is too big for me and 1 is too small. So how those changes will affect non-Qt apps, like GTK? If Xft.dpi isn't set they became broken. And if I'll set Xft.dpi how new behaviour would work?
If you want fonts to be drawn at 142dpi on your primary monitor, setting Xft.dpi is correct. Depending how you want Qt applications to scale on the secondary one, you can set QT_SCREEN_SCALE_FACTORS to fractional values as well (e.g. "1.5;1"). You might need to set QT_AUTO_SCREEN_SCALE_FACTOR=0 as well. For GTK, you can play around with GDK_DPI_SCALE. To get a 1.5 scale GDK_SCALE=2 GDK_DPI_SCALE=0.75 should work. GTK applications do not support mixed-DPI on X11 at all, AFAIK. Cheers, Fabian -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org