Bugzilla – Bug 1091516
gdm login screen is scaled to 200% apparently
Last modified: 2021-05-24 03:13:56 UTC
I've got a 14 inch laptop with resolution 2560x1440. My Gnome session settings are to not scale (100%) and I only scale fonts to my needs. Still GDM decides to scale my screen which looks like 200%. Ok, GDM does not know anything about my personal settings at this point but it seems scaling to 200% with the resolution and size as outlined above is quite overkill?
I have exactly the same issue as this on a 13.3" 1920x1200 laptop. gnome-shell and GDM are scalled 200x on first boot which makes text huge and the UI almost unsuable. Easy to change the settings for desktop but to resolve GDM had to log in as GDM and use gesttings to change to 1x scaling.
(In reply to Richard Wallwork from comment #1) > I have exactly the same issue as this on a 13.3" 1920x1200 laptop. > gnome-shell and GDM are scalled 200x on first boot which makes text huge and > the UI almost unsuable. > > Easy to change the settings for desktop but to resolve GDM had to log in as > GDM and use gesttings to change to 1x scaling. Hi Richard, Would you share your version of gdm, gnome-shell and mutter please (rpm -qa | grep -e gdm -e gnome-shell -e mutter)?
sure here you go: gnome-shell-search-provider-seahorse-40.0-1.1.x86_64 chrome-gnome-shell-10.1-2.7.x86_64 gnome-shell-search-provider-gnome-terminal-3.40.1-1.1.x86_64 gnome-shell-search-provider-gnome-calculator-40.1-1.1.x86_64 mutter-40.0-3.1.x86_64 gnome-shell-search-provider-gnome-photos-40.0-2.2.x86_64 mutter-lang-40.0-3.1.noarch gnome-shell-search-provider-gnome-clocks-40.0-1.2.x86_64 gnome-shell-search-provider-gnome-weather-40.0-1.2.noarch gnome-shell-search-provider-gnome-characters-40.0-1.2.x86_64 libgdm1-3.38.2-2.5.x86_64 gnome-shell-40.0-2.2.x86_64 gnome-shell-calendar-40.0-2.2.x86_64 gnome-shell-search-provider-nautilus-40.1-1.1.x86_64 gnome-shell-search-provider-documents-3.34.0+26-1.2.x86_64 gnome-shell-search-provider-contacts-40.0-1.2.x86_64 gnome-shell-search-provider-bijiben-40.1-1.1.x86_64 gnome-shell-lang-40.0-2.2.noarch gnome-shell-extension-desktop-icons-20.10.0-1.1.noarch gdmflexiserver-3.38.2-2.5.noarch gnome-shell-classic-40.0-4.1.noarch gdm-branding-openSUSE-15.1-2.7.noarch gdm-3.38.2-2.5.x86_64 pulseaudio-gdm-hooks-14.2-6.1.x86_64 gdm-lang-3.38.2-2.5.noarch
For gdm login screen, it looks too big if we have 200% scale for 1920x1200 on 13.3". Chingkai, maybe it is discuss-able on upstream?
(In reply to Richard Wallwork from comment #1) Hi Richard, I think you are talking about > I have exactly the same issue as this on a 13.3" 1920x1200 laptop. > gnome-shell and GDM are scalled 200x on first boot which makes text huge and 200% > the UI almost unsuable. > > Easy to change the settings for desktop but to resolve GDM had to log in as > GDM and use gesttings to change to 1x scaling. and 100%, please correct me if you really mean 200 times and 1 time.
mutter in openSUSE will set scaling factor to 2 when the monitor's dpi is greater than 144, so a 13.3" 1920x1200 laptop will get scaling factor as 1 if everything works fine. Could you also provide: - A screenshot of the huge GDM - Check if Large Text of Accessibility is enabled in your gdm greeter - Install xdpyinfo then run as root `xdpyinfo | grep 'dimensions\|resolution'` - Output of `sudo hwinfo --monitor` - Output of `loginctl show-session 1 | grep Type` - The value of Settings->Displays->Scale - Output of + gsettings get org.gnome.desktop.interface scaling-factor + gsettings get org.gnome.desktop.interface text-scaling-factor - Switch to root in terminal then provide the output of + sudo -u gdm dbus-launch gsettings get org.gnome.desktop.interface scaling-factor + sudo -u gdm dbus-launch gsettings get org.gnome.desktop.interface text-scaling-factor
Created attachment 849267 [details] gdm login screen
sudo xdpyinfo | grep 'dimensions\|resolution' xdpyinfo: unable to open display "". #as the above didn't provide any output, I tried again without sudo: xdpyinfo | grep 'dimensions\|resolution' dimensions: 1920x1200 pixels (508x318 millimeters) resolution: 96x96 dots per inch sudo hwinfo --monitor pci.2: get sysfs pci data 25: None 00.0: 10002 LCD Monitor [Created at monitor.125] Unique ID: rdCR.p5aSA1DtiZF Parent ID: _Znp.Qk_N41Tor94 Hardware Class: monitor Model: "XGFJ0 LQ134N1 LCD Monitor" Vendor: SHP "XGFJ0 LQ134N1" Device: eisa 0x14cb Resolution: 1920x1200@60Hz Size: 288x180 mm Year of Manufacture: 2019 Week of Manufacture: 45 Detailed Timings #0: Resolution: 1920x1200 Horizontal: 1920 1968 2000 2080 (+48 +80 +160) -hsync Vertical: 1200 1203 1209 1235 (+3 +9 +35) -vsync Frequencies: 123.20 MHz, 59.23 kHz, 47.96 Hz Year of Manufacture: 2019 Week of Manufacture: 45 Detailed Timings #1: Resolution: 1920x1200 Horizontal: 1920 1968 2000 2080 (+48 +80 +160) -hsync Vertical: 1200 1203 1209 1235 (+3 +9 +35) -vsync Frequencies: 154.00 MHz, 74.04 kHz, 59.95 Hz Config Status: cfg=new, avail=yes, need=no, active=unknown Attached to: #20 (VGA compatible controller) loginctl show-session 1 | grep Type Failed to get session path: No session '1' known gsettings get org.gnome.desktop.interface scaling-factor uint32 0 gsettings get org.gnome.desktop.interface text-scaling-factor 1.0 sudo -u gdm dbus-launch gsettings get org.gnome.desktop.interface text-scaling-factor 1.0 sudo -u gdm dbus-launch gsettings get org.gnome.desktop.interface scaling-factor uint32 2 I should mention that I normally have large text turn on to have 1.25 text scaling but I turned that off to make sure the info I provide here is consistent. To provide the screenshots and the output I reverted gdm back to the 2x scaling as per the first boot since installing. To answer the earlier question, yes I meant 1x and 2x (or 100% and 200%), apologies :) Also, the dpi resolution of this display I believe is 170 or thereabouts, so if mutter is set to scale 2x above 144, then it is acting as intended.
(In reply to Richard Wallwork from comment #8) > Model: "XGFJ0 LQ134N1 LCD Monitor" > Vendor: SHP "XGFJ0 LQ134N1" > Device: eisa 0x14cb > Resolution: 1920x1200@60Hz > Size: 288x180 mm Hi Richard, I am afraid the display of your laptop is not a 4K or 2K display: https://laptopmedia.com/screen/sharp-xgfj0-lq134n1-shp14cb-office-work-profile/ > > > loginctl show-session 1 | grep Type > Failed to get session path: No session '1' known Forget about this, I just want to make sure you are using Wayland session. > > sudo -u gdm dbus-launch gsettings get org.gnome.desktop.interface > scaling-factor > uint32 2 Hence, I don't think mutter will set scaling-factor of gdm to 2, otherwise this value should also be 2 for your desktop > gsettings get org.gnome.desktop.interface scaling-factor > uint32 0 You should set it to the default value for gdm. > > Also, the dpi resolution of this display I believe is 170 or thereabouts, so > if mutter is set to scale 2x above 144, then it is acting as intended. Again, I think what you really mean is ppi not dpi: https://laptopmedia.com/screen/sharp-xgfj0-lq134n1-shp14cb-office-work-profile/ The ppi of your display is 168.97 To know more about HiDPI about Linux, please refer to: - https://medium.com/elementaryos/what-is-hidpi-and-why-does-it-matter-b024eabea20d#.fxmpxuum3 - https://medium.com/elementaryos/top-3-misconceptions-about-hidpi-f5ef493d7bf8#.xitth4sax - https://medium.com/elementaryos/hidpi-is-more-important-than-4k-b1b9bb110b43
(In reply to Richard Wallwork from comment #8) > > xdpyinfo | grep 'dimensions\|resolution' > dimensions: 1920x1200 pixels (508x318 millimeters) > resolution: 96x96 dots per inch The dpi of this display is 96. So adjusting scaling-factor for this display is not a wise choice.
Just to clarify, I am not the OP who had the 2k display. I commented on this bug report because I had the same issue. Yes, my display is deffinitely 1920x1200 or WUXGA and not 4k or 2k. Upon installing Tumbleweed on this machine (I have done so 3 times) both the login screen and the desktop are set to 2x scaling. I immediately changed the desktop to 1x because it is unusable at that level. Changing the login screen scaling was a bit of a challenge but I found out eventually how to log in as gdm. For the purposes of the tests you asked me to carry out, I changed gdm back to 2x with the intention for the output to be what it was upon first boot. P.S. I'm sure I read somewhere (arch wiki perhapds) that GNOME always sets the DPI to 96 and you can't change it?
To test this issue on a different system, I installed Gnome Tumbleweed on a spare drive of my desktop. The monitor is 32" 4k,a ppi of 138. Scaling was at 1x for both login screen and desktop. If ppi is a fixed value based on the monitors size and pixel resolution, and dpi is (depending on DE/WM used), a value that can be set manually, is it likely that mutter is looking at the ppi when determining when to scale to 1x or 2x rather than the dpi? If so, 144 may not the right value to use I wonder?
Nope, dpi is used by mutter: - https://gitlab.gnome.org/GNOME/mutter/-/blob/master/src/backends/meta-monitor.c#L1708 The threshold used by upstream is 192 (see #L1647) And openSUSE lower the value to 144 to make it user friendly to some 4k monitors (e.g. DELL P2415Q) - https://build.opensuse.org/package/view_file/openSUSE:Factory/mutter/mutter-Lower-HIDPI_LIMIT-to-144.patch?expand=1
Thanks for the links. Given the clarification I provided over the confusion about the OP screen size and my screen size, the issue is still concerning and unexplained, and as the screen size and display resolution I have is not uncommon, other users who are newly installing openSUSE may have a poor experinence upon first boot It does seems that the terms dpi and ppi are being used interchangably which is causing some confusion?
(In reply to Richard Wallwork from comment #14) > Thanks for the links. > > Given the clarification I provided over the confusion about the OP screen > size and my screen size, the issue is still concerning and unexplained, and > as the screen size and display resolution I have is not uncommon, other > users who are newly installing openSUSE may have a poor experinence upon > first boot The default scaling-factor on my 1920x1080 laptop is 1, I am not sure if this only happened on some 16:10 display, and if other users meet this. > > It does seems that the terms dpi and ppi are being used interchangably which > is causing some confusion? mutter calculate dpi via: dpi_x = (double) resolution_width / (width_mm / 25.4); dpi_y = (double) resolution_height / (height_mm / 25.4); So the dpi of your display is 96 as xdpyinfo shows. Anyway, I will look into mutter's code and see if I can find something.
Yes I believe I read that the vertical resolution has to be 1200 or above + whatever the required dpi is set at i.e 144 for opensuse
(In reply to Richard Wallwork from comment #16) > Yes I believe I read that the vertical resolution has to be 1200 or above + > whatever the required dpi is set at i.e 144 for opensuse calculate_scale check if resolution_height < HIDPI_MIN_HEIGHT (i.e. 1200) But scale will only be 2 when if (dpi_x > HIDPI_LIMIT && dpi_y > HIDPI_LIMIT) scale = 2.0; And HIDPI_LIMIT is 144 in openSUSE https://gitlab.gnome.org/GNOME/mutter/-/blob/master/src/backends/meta-monitor.c#L1660
I have just noticed xdpyinfo gave this output, but notice the physical size of the screen it is showing incorrectly: xdpyinfo | grep 'dimensions\|resolution' dimensions: 1920x1200 pixels (508x318 millimeters) resolution: 96x96 dots per inch Other output shows the correct dimensions: Size: 288x180 mm If I calculate the dpi using the correct dimensions of 288x180 , I get what I would expect, 170.
(In reply to Richard Wallwork from comment #18) > I have just noticed xdpyinfo gave this output, but notice the physical size > of the screen it is showing incorrectly: > > xdpyinfo | grep 'dimensions\|resolution' > dimensions: 1920x1200 pixels (508x318 millimeters) > resolution: 96x96 dots per inch > > Other output shows the correct dimensions: > > Size: 288x180 mm Sorry, I missed that. > > If I calculate the dpi using the correct dimensions of 288x180 , I get what > I would expect, 170. Then, it makes sense why the default scaling-factor is 2 on your laptop. It's a 4K display. In sum, it's a issue of user preference. Some users may think scaling-factor=2 on this 4k display is too much, the UI is huge and not user-friendly, though others may think everything would be too tiny if scaling-factor=1. But it's worth discussing with upstream and see if it's possible to polish the algorithm of calculate_scale Hi Richard, could you file a issue on upstream: - https://gitlab.gnome.org/GNOME/mutter/-/issues
According to: https://wiki.gnome.org/Projects/GnomeShell/ScaleFactorTests Upstream thought the best scaling factor[1] for a 13" laptop should be 1.5 - 1.75, but apparently calculate_scale can only set the value to 1 or 2. Currently, to get the "best" user experience, you have to set a fractional scaling-factor manually. - [1] Best scaling factor: Scaling factor that gives the "best" experience
Since fractional scaling is still an experimental feature, I think this issue is actually an unimplemented upstream feature. My proposal in Comment 19 to report it to upstream still valid. I'd like to close this bug as "RESOLVED UPSTREAM" if you don't have other concerns.
As you say it is a matter of preference, though I think for a new user on a 13" laptop with WUXGA screen, the 'first impression' would be somewhat disappointing with 2x scaling. One solution would be to increase the vertical resolution requirement from 1200 to something like 1440. This way WUXGA 13" screens which are becoming more common in laptops, like FHD screens would not be automatically scaled and this change would not have a negative impact on users of the larger screen 4K monitors who benefit from the 2x scaling.
Hi Richard, it's better to put this in the upstream, maybe they have other plans/suggestions about this.
Yeah cool I'll raise it there. Thanks for taking the time to discuss and look into this with me. I really appreciate it :) Feel free to close.
(In reply to Richard Wallwork from comment #24) > Yeah cool I'll raise it there. Thanks for taking the time to discuss and > look into this with me. I really appreciate it :) Feel free to close. Thank you.