[opensuse-factory] Leap 15.0: Scaling issues under X
Hi all, I'm just giving Leap 15.0 a try. I noticed that using KDE/plasma both fonts and GUI elements are scaled way too big for my current setup. The workaround I've found is using KDE system settings (/usr/bin/systemsettings5) and scaling to 1.1 (the default 1.0 does not work): - Anzeige + Monitor -> Anzeigen -> Anzeige skalieren -> 1.1 My current setup is a notebook (lid closed) with an external monitor. Monitor has a resolution of 1920x1200. Graphics adapater is an "nVidia GM107GLM [Quadro M1200 Mobile]". I installed the NVIDIA drivers according to https://en.opensuse.org/SDB:NVIDIA_drivers (because otherwise I couldn't get anything displayed on my external screen). The problem occurs for a newly created user, too (so I'm pretty sure it's not some messed up KDE user config or something). When using the notebook w/o an external display the issue does not manifest. It's somewhat annoying. Does anybody have any idea where it could configure/fix this? TIA -- Till -- Dipl.-Inform. Till Dörges doerges@pre-sense.de Tel. +49 - 40 - 244 2407 - 14 Fax +49 - 40 - 244 2407 - 24 PRESENSE Technologies GmbH Sachsenstr. 5, D-20097 HH Geschäftsführer/Managing Directors AG Hamburg, HRB 107844 Till Dörges, Jürgen Sander USt-IdNr.: DE263765024 -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On úterý 22. května 2018 15:50:41 CEST Till Dörges wrote:
Hi all,
I'm just giving Leap 15.0 a try.
I noticed that using KDE/plasma both fonts and GUI elements are scaled way too big for my current setup.
It may be related to changes done because of this bug: https://bugzilla.opensuse.org/show_bug.cgi?id=1089932 Basically there is long disagreement (lasting many years now) between X developers and application developers on where should applications get information about DPI and whether there should be some single DPI value somehow combined from all connected monitors. X used to provide a single DPI value, but single value no longer makes sense with multiple monitors. Plus there was no way to notify applications about the value changing. So this value is now deprecated and always set to 96 DPI. It can not be completely removed because it is part of the X protocol. Instead X provides DPI for individual monitors and can notify applications when the situation changes. Qt needs some single DPI value on start. In that bug Qt was changed to stop using this always-96DPI value and instead use the DPI of the primary monitor.
My current setup is a notebook (lid closed) with an external monitor. Monitor has a resolution of 1920x1200. Graphics adapater is an "nVidia GM107GLM [Quadro M1200 Mobile]".
Your external monitor does not seem to be high-DPI. When you use it, is it set as primary? Could you attach output of xrandr? Michal
On mardi, 22 mai 2018 16.18:54 h CEST Michal Srb wrote:
On úterý 22. května 2018 15:50:41 CEST Till Dörges wrote:
Hi all,
I'm just giving Leap 15.0 a try.
I noticed that using KDE/plasma both fonts and GUI elements are scaled way too big for my current setup.
It may be related to changes done because of this bug: https://bugzilla.opensuse.org/show_bug.cgi?id=1089932
Basically there is long disagreement (lasting many years now) between X developers and application developers on where should applications get information about DPI and whether there should be some single DPI value somehow combined from all connected monitors.
X used to provide a single DPI value, but single value no longer makes sense with multiple monitors. Plus there was no way to notify applications about the value changing. So this value is now deprecated and always set to 96 DPI. It can not be completely removed because it is part of the X protocol. Instead X provides DPI for individual monitors and can notify applications when the situation changes.
Qt needs some single DPI value on start. In that bug Qt was changed to stop using this always-96DPI value and instead use the DPI of the primary monitor.
My current setup is a notebook (lid closed) with an external monitor. Monitor has a resolution of 1920x1200. Graphics adapater is an "nVidia GM107GLM [Quadro M1200 Mobile]".
Your external monitor does not seem to be high-DPI. When you use it, is it set as primary? Could you attach output of xrandr?
Michal
I share your pain, I've the situation where my internal lcd is hidpi 3840x2160@288dpi my primary external 27" also hidpi 3840x2160 but @163dpi and the second external 24" monitor full hd at 1920x1080 @ 96 dpi.... I was playing with /etc/X11/xorg.conf.d/50-devices.conf Can be used to tell nvidia to not use any ediddpi data pick from monitor Work well with a average or fixed dpi that "works" on all Option "UseEdidDpi" "false" Option "DPI" "192x192" You can also used a prefered monitor (but beware you will have to change it when only you lcd is used) Option "UseEdidDpi" "DFP-4" Can be changed if useful (but doesn't seems to be supported by nvidia) Option "ConstantDPI" "true" -- Bruno Friedmann Ioda-Net Sàrl www.ioda-net.ch Bareos Partner, openSUSE Member, fsfe supporter GPG KEY : D5C9B751C4653227 irc: tigerfoot N�����r��y隊Z)z{.���r�+�맲��r��z�^�ˬz��N�(�֜��^� ޭ隊Z)z{.���r�+��0�����Ǩ�
Hi Michal, thanks for shedding some light on this! Am 22.05.2018 um 16:18 schrieb Michal Srb:
Your external monitor does not seem to be high-DPI. When you use it, is it set as primary?
Yes, the external monitor is set to primary using krandr.
Could you attach output of xrandr?
My external monitor is attached to DP-3.2. --- snip --- user@box:~> xrandr Screen 0: minimum 8 x 8, current 1920 x 1200, maximum 16384 x 16384 DP-3.2 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm 1920x1200 59.95*+ 1920x1080 60.00 1680x1050 59.95 1600x1200 60.00 1280x1024 60.02 1280x960 60.00 1024x768 60.00 800x600 60.32 640x480 59.94 DP-0 disconnected (normal left inverted right x axis y axis) DP-1 disconnected (normal left inverted right x axis y axis) DP-2 disconnected (normal left inverted right x axis y axis) DP-3 disconnected (normal left inverted right x axis y axis) DP-4 connected (normal left inverted right x axis y axis) 1920x1080 60.02 + 48.00 DP-5 disconnected (normal left inverted right x axis y axis) DP-6 disconnected (normal left inverted right x axis y axis) --- snap --- Thanks -- Till -- Dipl.-Inform. Till Dörges doerges@pre-sense.de Tel. +49 - 40 - 244 2407 - 14 Fax +49 - 40 - 244 2407 - 24 PRESENSE Technologies GmbH Sachsenstr. 5, D-20097 HH Geschäftsführer/Managing Directors AG Hamburg, HRB 107844 Till Dörges, Jürgen Sander USt-IdNr.: DE263765024 -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On úterý 22. května 2018 17:06:57 CEST Till Dörges wrote:
Screen 0: minimum 8 x 8, current 1920 x 1200, maximum 16384 x 16384 DP-3.2 connected 1920x1200+0+0 (normal left inverted right x axis y axis)
Your external monitor has almost perfect 96 DPI, but according to this xrandr output it is not set as primary. Also it seems that the changes from https://bugzilla.opensuse.org/ show_bug.cgi?id=1089932 are not yet in Leap 15. So some other change must have caused this. You could try to workaround it by setting QT_FONT_DPI=96 in your environment. Michal -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hi, Am Dienstag, 22. Mai 2018, 17:33:32 CEST schrieb Michal Srb:
On úterý 22. května 2018 17:06:57 CEST Till Dörges wrote:
Screen 0: minimum 8 x 8, current 1920 x 1200, maximum 16384 x 16384 DP-3.2 connected 1920x1200+0+0 (normal left inverted right x axis y axis)
Your external monitor has almost perfect 96 DPI, but according to this xrandr output it is not set as primary.
Also it seems that the changes from https://bugzilla.opensuse.org/ show_bug.cgi?id=1089932 are not yet in Leap 15.
Yes, intentionally. It might have broken other setups, which is not good that close to release.
So some other change must have caused this. You could try to workaround it by setting QT_FONT_DPI=96 in your environment.
AFAIK the proprietary nvidia driver sets the screen DPI to the DPI of the primary monitor, which results in the same behaviour as the fix for the linked bug. So it's actually the desired behaviour here. You can workaround it by either: a) Overriding the font DPI to 96 b) Starting X with "-dpi 96" c) (Preferred) Set the external monitor as primary one Cheers, Fabian
Michal
-- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Am 22.05.2018 um 18:56 schrieb Fabian Vogt:
AFAIK the proprietary nvidia driver sets the screen DPI to the DPI of the primary monitor, which results in the same behaviour as the fix for the linked bug. So it's actually the desired behaviour here.
You can workaround it by either: a) Overriding the font DPI to 96 b) Starting X with "-dpi 96" c) (Preferred) Set the external monitor as primary one
c) doesn't seem to work for me. I tried setting the ext. monitor as primary (see below) and then setting the scaling back from 1.1 to the default (1.0). The next application I opened (okular) showed huge GUI elements. Going back to 1.1 gives me much smaller GUI elements again. The ext. display remained primary. So I guess for the time being I'll live with my apps scaled to 1.1. As for option b) how would I do that? With "ServerArguments=-dpi 96" in /etc/sddm.conf ? --- snip --- user@box:~> xrandr Screen 0: minimum 8 x 8, current 1920 x 1200, maximum 16384 x 16384 DP-3.2 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm 1920x1200 59.95*+ 1920x1080 60.00 1680x1050 59.95 1600x1200 60.00 1280x1024 60.02 1280x960 60.00 1024x768 60.00 800x600 60.32 640x480 59.94 DP-0 disconnected (normal left inverted right x axis y axis) DP-1 disconnected (normal left inverted right x axis y axis) DP-2 disconnected (normal left inverted right x axis y axis) DP-3 disconnected (normal left inverted right x axis y axis) DP-4 connected (normal left inverted right x axis y axis) 1920x1080 60.02 + 48.00 DP-5 disconnected (normal left inverted right x axis y axis) DP-6 disconnected (normal left inverted right x axis y axis) --- snap --- Thanks and regards -- Till -- Dipl.-Inform. Till Dörges doerges@pre-sense.de Tel. +49 - 40 - 244 2407 - 14 Fax +49 - 40 - 244 2407 - 24 PRESENSE Technologies GmbH Sachsenstr. 5, D-20097 HH Geschäftsführer/Managing Directors AG Hamburg, HRB 107844 Till Dörges, Jürgen Sander USt-IdNr.: DE263765024 -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hi, Am Mittwoch, 23. Mai 2018, 10:09:00 CEST schrieb Till Dörges:
Am 22.05.2018 um 18:56 schrieb Fabian Vogt:
AFAIK the proprietary nvidia driver sets the screen DPI to the DPI of the primary monitor, which results in the same behaviour as the fix for the linked bug. So it's actually the desired behaviour here.
You can workaround it by either: a) Overriding the font DPI to 96 b) Starting X with "-dpi 96" c) (Preferred) Set the external monitor as primary one
c) doesn't seem to work for me.
Right, I guess that happens because it doesn't expose the per-monitor DPI value, so Qt gets confused.
I tried setting the ext. monitor as primary (see below) and then setting the scaling back from 1.1 to the default (1.0). The next application I opened (okular) showed huge GUI elements.
That is interesting, because the scale factor change doesn't actually change anything until a relogin. As a side effect, the scaling config also sets the font DPI value to round(96*scale), which does take effect immediately. This means this is actually a). Just do that manually: Set the scale back to 1.0 and set 96 as font dpi in the font configuration.
Going back to 1.1 gives me much smaller GUI elements again. The ext. display remained primary.
So I guess for the time being I'll live with my apps scaled to 1.1.
You shouldn't - many apps don't look that great due to rounding errors.
As for option b) how would I do that?
With "ServerArguments=-dpi 96" in /etc/sddm.conf ?
Yes, but this should be equivalent to the "force font DPI" configuration. Cheers, Fabian
--- snip --- user@box:~> xrandr Screen 0: minimum 8 x 8, current 1920 x 1200, maximum 16384 x 16384 DP-3.2 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm 1920x1200 59.95*+ 1920x1080 60.00 1680x1050 59.95 1600x1200 60.00 1280x1024 60.02 1280x960 60.00 1024x768 60.00 800x600 60.32 640x480 59.94 DP-0 disconnected (normal left inverted right x axis y axis) DP-1 disconnected (normal left inverted right x axis y axis) DP-2 disconnected (normal left inverted right x axis y axis) DP-3 disconnected (normal left inverted right x axis y axis) DP-4 connected (normal left inverted right x axis y axis) 1920x1080 60.02 + 48.00 DP-5 disconnected (normal left inverted right x axis y axis) DP-6 disconnected (normal left inverted right x axis y axis) --- snap ---
Thanks and regards -- Till
-- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Am 23.05.2018 um 16:29 schrieb Fabian Vogt:
So I guess for the time being I'll live with my apps scaled to 1.1. You shouldn't - many apps don't look that great due to rounding errors.
In deed. There are.
With "ServerArguments=-dpi 96" in /etc/sddm.conf ? Yes, but this should be equivalent to the "force font DPI" configuration.
That's what I tried for now (has to be set only once, instead of individually for all users). Looking good so far. Thanks! Regards -- Till -- Dipl.-Inform. Till Dörges doerges@pre-sense.de Tel. +49 - 40 - 244 2407 - 14 Fax +49 - 40 - 244 2407 - 24 PRESENSE Technologies GmbH Sachsenstr. 5, D-20097 HH Geschäftsführer/Managing Directors AG Hamburg, HRB 107844 Till Dörges, Jürgen Sander USt-IdNr.: DE263765024 -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (4)
-
Bruno Friedmann
-
Fabian Vogt
-
Michal Srb
-
Till Dörges