Scaling Gnome login screen on HiDPI display

Running Ubuntu Gnome 17.04 on Lenovo yoga 2 pro. Display is 3200x1800. My desktop scales fine, and was done automatically without any configuration when installing. My login screen however, everything is tiny. How can I scale this to match my desktop?

I've tried

sudo xhost +SI:localuser:gdm
sudo su gdm -s /bin/bash
gsettings set org.gnome.desktop.interface scaling-factor 2

and no difference. Also setting large text in universal access settings seems to have no effect.

I thought this was the correct way to change gdm interface settings? Any other ideas?


Was searching for a solution as well and found this:

http://askubuntu.com/questions/469515/adjust-text-scaling-factor-for-all-users

tl/dr

sudo nano /usr/share/glib-2.0/schemas/org.gnome.desktop.interface.gschema.xml

Change the default value to 2 (or your desired scale factor):

<key name="scaling-factor" type="u">
<default>2</default>

and then running:

sudo glib-compile-schemas /usr/share/glib-2.0/schemas

This fixed it for me. Let me know if it works for you as well.


Persistent over upgrades approach could be to create file /usr/share/glib-2.0/schemas/93_hidpi.gschema.override with

[org.gnome.desktop.interface]
scaling-factor=2
text-scaling-factor=0.87

(0.87 to make fonts bit smaller, safe to omit if you don't want to)

And reinit schemas sudo glib-compile-schemas /usr/share/glib-2.0/schemas


Edit: This method appears to only work when login screen and user session are using the same windowing system(X11 or Wayland). So if it doesn't work try changing your session type in the bottom-left of the login screen.

This should also work:

  1. First you change DPI settings from Gnome settings.

  2. Then execute:

    sudo cp ~/.config/monitors.xml ~gdm/.config/
    

And it should work with Ubuntu as well.

@gonk23 mentioned chown, I personally didn't find that necessary, however it should be safer to set the correct permission:

sudo chown gdm:gdm ~gdm/.config/monitors.xml 

Found a solution here.

First you change DPI settings from Gnome settings.

Then, copy

~/.config/monitors.xml

to

/var/lib/gdm/.config/monitors.xml

So the command is

sudo cp ~/.config/monitors.xml /var/lib/gdm/.config/

The advantage over recompiling configurations is that this method works on Fedora Silverblue where you got a read only /usr so editing /usr/share/ is not realistic. It also applies the user monitor refresh rate settings to login screen.