Updated: September 17, 2021
Life problems come in many shapes and forms. One of them could be the login screen in your Plasma desktop. How? By not scaling up to the selected screen resolution of your system. Case in point, my recent endeavor with Kubuntu 20.04 on my IdeaPad Y50-70, with its Nvidia card and 4K screen. Long story short, while I managed to get the desktop resolution and UHD scaling just right, the login screen did not obey my settings, and only rendered in 4K, ergo tiny.
I spent a lot of time trying to fix this, and finally, came up with this guide. Now, in newer editions of Plasma, like say 5.20, where scaling works really great, you might not face this issue at all. In 5.18.5, I had to resort to a few ugly tricks to get everything working. Let's see what gives.
Problem in more detail
The login screen details feels too small, because they are rendered in 4K on a tiny device. Scaling the desktop and/or changing its resolution helps, including the lock screen but NOT the login screen (SDDM). The fix is to make SDDM render itself at a different resolution during startup.
SDDM scripts are located under: /usr/share/sddm/scripts/. The script that controls the graphical component is called Xsetup. By default, this script may include some information, specific to your graphics driver. What you need to do is add an entry that will make SDDM display at a different resolution.
Open the file in a text editor as sudo or root (back it up of course), and add this line:
xrandr --output "device" --mode "mode" --rate "rate"
As you guessed right, this is only relevant for X11 and not Wayland, but then, most distros use X anyway, including Kubuntu 20.04 LTS, plus Nvidia drivers. So it's X for us. Now, we need to figure out the device, mode and rate for the command.
Detect display settings
Open a terminal window and run xrandr. This will show you all the supported modes for your monitor.
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 16384 x 16384
eDP-1-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
3840x2160 48.00 +
3200x1800 59.96 59.94
2880x1620 59.96 59.97
2560x1600 59.99 59.97
2560x1440 59.99 59.99 59.96 59.95
2048x1152 59.99 59.98 59.90 59.91
1920x1200 59.88 59.95
1920x1080 60.01 59.97 59.96 59.93*
1680x1050 59.95 59.88
In my example, the device is eDP-1-1. The available resolutions go all the way up to 4K. The selected one is marked with asterisk. And then, you also have the different screen refresh rates in Hz. We know that the 4K resolution makes everything too tiny, so we want something smaller. I decided to go for 1080p, like the desktop itself. In my case, the matching refresh rate was 59.93 Hz. Thus, the xrandr command becomes:
xrandr --output eDP-1-1 --mode 1920x1080 --rate 59.93
Save the file, and reboot your system. Your login screen should look great now.
There we go. I think this is a pretty arcane tutorial, because it deals with something you would not necessarily consider important for day-to-day work. But then, if you have an HD/UHD monitor of small physical dimensions, you will probably need to up the scale or down the resolution (or both). For me, system changes were not reflected in the login screen in Plasma, and I had to make a manual adjustment.
This can be done with xrandr - you can use the tool to manage display resolutions regardless, and it's a nifty and powerful tool. The best part about the fix is that it's modular and fully reversible. It does not affect your logged in desktop (you can do that by providing a DPI settings if you want), and if you don't like it, just change or remove the entry from Xsetup, and you're done. Hopefully, this helps calm your OCD demons.