2 min read

How to change Login Screen resolution in Linux Mint

I've been having fun with customising my Linux Mint installation, but one thing that bugged me was the fact that the login resolution wasn't the same as my VM resolution - similar issue that I had with Debian. Since Debian uses Gnome as its default DE, I couldn't apply the same solution here.

To resolve the problem, we need to modify some of the system files.

First, we will create a script that will set the proper resolution. You can call it whatever you like, but in this case I called it lightdm_res.sh:

#!/bin/sh
xrandr --output Virtual1 --primary --mode 2560x1440

Please keep in mind that you need to set the value/mode to whatever is supported on your display. If you go beyond that, you will most definitely encounter problems with the login screen.

Since I'm running everything in virtual environments, my displays (monitors) are called Virtual1, Virtual2, etc. In your case it may be different, but the easiest way to find out is to run the xrandr tool:

> xrandr 
Screen 0: minimum 1 x 1, current 2560 x 1440, maximum 8192 x 8192
Virtual1 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768      60.00 +  60.00  
   3840x2400     59.97  
   3840x2160     59.97  
   2880x1800     59.95  
   2560x1600     59.99  
   2560x1440     59.95* 
   1920x1440     60.00  
   1856x1392     60.00  
   1792x1344     60.00  
   1920x1200     59.88  
   1920x1080     59.96  
   1600x1200     60.00  
   1680x1050     59.95  
   1400x1050     59.98  
   1280x1024     60.02  
   1440x900      59.89  
   1280x960      60.00  
   1360x768      60.02  
   1280x800      59.81  
   1152x864      75.00  
   1280x768      59.87  
   1280x720      59.86  
   800x600       60.32  
   640x480       59.94  
Virtual2 disconnected (normal left inverted right x axis y axis)
Virtual3 disconnected (normal left inverted right x axis y axis)
Virtual4 disconnected (normal left inverted right x axis y axis)
Virtual5 disconnected (normal left inverted right x axis y axis)
Virtual6 disconnected (normal left inverted right x axis y axis)
Virtual7 disconnected (normal left inverted right x axis y axis)
Virtual8 disconnected (normal left inverted right x axis y axis)

Here you can see the line

Virtual1 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 0mm x 0mm

where Virtual1 identifies my display and 2560x1440 as my current resolution. My current resolution is also seen in the main output identified by asterisk sign:

   2560x1440     59.95* 

Let's move the script to /usr/share/ directory and make it executable:

sudo mv lightdm_res.sh /usr/share/
sudo chmod +x /usr/share/lightdm_res.sh

Now, the last part is to add the following line under [Seat:*] section in /etc/default/lightdm.conf:

display-setup-script=/usr/share/lightdm_res.sh

Final result should look something like this:

[Seat:*]
greeter-show-manual-login=true
display-setup-script=/usr/share/lightdm_res.sh

And that's it. To test it out, reboot your computer and if everything worked out, your new login screen resolution will match your VM resolution once you're logged in.