How do I change gdm3 login screen resolution?

Solution 1:

I figured this one out! I have an Asus Q534UX with a 4k display. I noticed that my screen resolution was set to 4k, but I had my scaling set to 2 which makes the desktop usable while still in high resolution.

Once choice is to set the screen resolution to something other than 4k, but that isn't ideal especially when it's not your displays native resolution.

The answer is to do as you've said, copy the monitor.xml file to /var/lib/gdm3/.config, i.e.

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

Next, edit it so you change the resolution to something more reasonable in the login screen. I changed mine to 2560x1440 but that may be still a bit high. It is MUCH better.

You're only in the login screen for a bit, then when the desktop comes up the resolution and scaling goes to normal.

Save your edits and reboot to see the changes.

Solution 2:

It worked also for me.

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

To generate ~/.config/monitors.xml I had to attache an external monitor to laptop. Then boot up, and when the login screen was shown I closed the lid. Then the login screen moved to the external monitor and I could login. Then run 'Settings', open the lid again and adjust the display on the internal monitor. Then the ~/.config/monitors.xml is created and can be copied.

Mind the "s" at the end of "monitors"!

Solution 3:

For Ubuntu 20.04, not only did I have to create a copy of the monitors.xml file as described in other answers, but I also had to disable Wayland at the login screen. To do this, I ran sudo nano /etc/gdm3/custom.conf, and then uncommented the line WaylandEnable=false. This forces gdm3 to use Xorg at the login screen. Restarting gdm3 with sudo systemctl restart gdm3 (which also killed my current login session) brought me back to the login screen with the expected monitor resolution.