How to change resolution of login screen on system boot

I am using gnome and nvidia close source driver. After I change resolution of desktop by nvidia-settings. The login screen on boot becomes very big.


run the nvidia-settings tool as root and set the preferred resolution (you can even select the save configuration to file)

gnomesu nvidia-settings


I have done what you said, but the login screen is still big.


I am using 4K screen. I adjusted resolution from 4K to 1080, and then do scaling, the size of screen looks well and login screen on lock screen looks well. But login screen on boot looks very big.

yast > boot loader > kernel parameters> console resolution > and if there is not your solution, put that closest to yours > OK

you might need to select export settings to xorg file and put


as the nvidia-settings tool has the file name and path to xorg.conf blank

to make things clear you are referring to the gdm login screen resolution right not the boot screen resolution
to change the boot screen resolution you need to go in yast -> boot loader and change your settings there

better yet tell us are you referring to the login screen which is configurable via xorg.conf (the nvidia-settings) or the boot screen which can be set in yast?

I am sure I referring login screen. The login screen comes out after I wake up locked screen looks in well size. But login screen displayed after boot process looks very big.


this should be configurable with the nvidia-settings tool
I remember a few years back when I was still using a 17’’ crt I used 1024x768 for my desktop but the login screen was maxed out at I think was 1600X1200
the solution is simple run the nvidia-settings tool as root (with gnomesu or xdg-su -c) at the resolution tab select the preferred resolution then hit the save configuration to xorg file button and put


as the file name
or do it manually by editing (and creating) /etc/X11/xorg.conf or better yet using the new standard in the directory
/etc/X11/xorg.conf.d/ create the file 10-monitor.conf

gnomesu gedit /etc/X11/xorg.conf.d/10-monitor.conf

and paste this text in it

Section "Monitor"
    Identifier             "Monitor0"

Section "Device"
    Identifier             "Device0"
    Driver                 "vesa" #Choose the driver used for this monitor

Section "Screen"
    Identifier             "Screen0"  #Collapse Monitor and Device section to Screen section
    Device                 "Device0"
    Monitor                "Monitor0"
    DefaultDepth           24 #Choose the depth (16||24)
    SubSection             "Display"
        Depth              24
        Modes              "1920x1080_65.00" #Choose the resolution

just don’t forget to set the proper resolution and refresh rate or you might have issues
I’ll say it again you’re better off using the nvidia-settings tool and exporting the xorg file then manually editing /etc/X11/xorg.conf.d/10-monitor.conf

Caution: this will disable the nvidia driver!

You need to use:

Driver "nvidia"

It’s probably better to let nvidia-settings generate the file, if you make a mistake you may not even get a graphical system anymore.

I found that file with a google search I knew the /etc/X11/xorg.conf file has been depreciated with the /etc/X11/xorg.conf.d/ directory and that file was at the top of a google search

Yes and no.
Xorg will read /etc/xorg.conf if it exists.
The advantage of /etc/xorg.conf.d/ is that the config can be split over several files, and is not one monolithic one.

My point is that you need to modify it though if you want to use the nvidia driver…
(And I’m not sure whether the specified Modes option will have any effect without actually defining that modeline)

nvidia-settings should generate a correct xorg.conf though.

my whole point was that the OP should use the nvidia-settings tool as root set the desired resolution and export those settings to /etc/X11/xorg.conf as it’s simpler then editing /etc/X11/xorg.conf.d/10-monitor.conf
I have used the nvidia-settings tool for that same reason setting the login manager resolution as a value different then the default one

Sure, but you did post creating xorg.conf/10-monitor.conf as alternative suggestion:

And the text you suggested to paste in would rather break things.

I just wanted to prevent unnecessary problems caused by this.

That’s probably what the OP wants - at least it affects the boot screen here, including the grub2 boot menu.

Note that although you can type any resolution you want, only a handful seem to be supported (by the vesa driver used at boot, I suppose). For example, the closest to my 1920 x 1200 monitor that works is 1920 x 1080. If I type 1920 x 1200 it reverts to a much lower resolution (that’s in LEAP 42.3, don’t know about Thumbleweed).

However, I don’t think that the vesa driver (or whatever is used at boot) in openSUSE supports 4K. Just guessing…

PS: It’s been at least 2 years since I had to tweak xorg.conf or use nvidia-settings (in root mode or not) to generate a xorg.conf. Yast bootloader options and nvidia-settings as normal user work perfectly well for me - AFAIK nvidia settings are applied when the desktop starts, no need to go root or anything.

Note that desktop settings will override Xorg settings once the desktop starts

… at that point, the only resolutions that can be used are what EDID gets reported by the monitor to the BIOS, or what the BIOS determines.

There is a workaround, it involves creating a file to override the reported EDID and call it up front. Details are out there somewhere, with a search.

I have not tested it, yet, plan to some day, but I just accept whatever Grub detects. That is the best way without using the above workaround, in the Yast Bootloader settings choose to let Grub detect.

That’s how it should work, but although EDID reports the correct (native) resolution, used by a number of other video applications (nvidia-settings, KDE Display settings, xrandr, etc.) it doesn’t work as a kernel parameter.

Because that would require KMS (Kernel Mode Setting).

The “vga=xxx” kernel parameter may work though. But a kernel parameter wouldn’t change the resolution of the boot menu, so IMHO it’s best to set that instead anyway.

That doesn’t have much to do with the resolution of the login screen though (unless you use fbdev as Xorg driver, which would happen if nvidia is installed but not working…).

the OP said that he wanted to change the login screen resolution which usually is the max the monitor can handle and the user preferences set by nvidia-settings don’t take a hold until a user logs in
I’ve had this issue in the past and the solution is to set the system wide resolution ie run nvidia-settings as root and export the preferred resolution to /etc/X11/xorg.conf or manually edit /etc/X11/xorg.conf.d/10-monitor.conf
I copied /etc/X11/xorg.conf.d/10-monitor.conf from the arch wiki which as wolfi323 noted uses the vesa driver and disables all acceleration and should be used with care
one could use that file without the driver part but imo using the nvidia-settings tool is the way to go