How do I change the resolution for GRUB and TTY consoles?

Hi all,

I recently installed Fedora 35 and the resolution for the GRUB screen and TTY consoles is very large for my laptop screen, so I’m wanting to lower it. Based on what I’ve found about this so far, I edited /etc/default/grub by adding the lines: GRUB_GFXMODE=800x600 GRUB_GFXPAYLOAD_LINUX=keep

I then ran grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg and rebooted, but nothing had changed. I also tried changing GRUB_TERMINAL_OUTPUT to “gfxterm” but that didn’t help either. Finally, I tried adding a VGA value (in the now commented out line below). This is what the file looks like:

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=“$(sed ‘s, release .*$,g’ /etc/system-release)”
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT=“console”
GRUB_CMDLINE_LINUX=“rhgb quiet”
# GRUB_CMDLINE_LINUX_DEFAULT=“rhgb quiet vga=789”
GRUB_DISABLE_RECOVERY=“true”
GRUB_ENABLE_BLSCFG=true
GRUB_GFXMODE=800x600
GRUB_GFXPAYLOAD_LINUX=keep

Any ideas what else I could try, or what might be going wrong?

Hi, for testing you could try bellow step first before make it permanent.

  1. When on grup boot list, you’ll presented with list of Fedora boot with different kernel version. Don’t press enter, but press E to edit.
  2. Find a line mentioning rhgb, quiet, or rootflags=..., use arraow key to this line and add video=800x600 then press ctrl + x.
  3. If you satisfy with the resolution changes during the boot, you could save it by adding video=800x600 to GRUB_CMDLINE_LINUX=“rhgb quiet video=800x600” on /etc/default/grub then update it with sudo grub2-mkconfig -o /boot/grub2/grub.cfg.
2 Likes

Thanks! I tried adding video=800x600 in GRUB as you described, but it didn’t do anything. Ctrl+x didn’t return me to the GRUB menu but continued booting, and when I restarted the text I added was gone. When I add it to /etc/default/grub/ and run grub2-mkconfig etc. it has no effect either. This is really weird. Anything else I could try?

By ctrl + x it will continue to booting with current modification, and this modification are temporary. It will gone on the next boot. That’s why I said for test only.

By the way, since you already change the /etc/default/grub, when you see the Fedora logo on booting (before the login screen), press F2 to see the change.

But it’s seems what you want to achieve are change the resolution on rhgb (screen with Fedora logo and the loading animation) and the login screen resolution. For this, I don’t know how to do that.

What is your screen’s native resolution? I would expect 800x600 to look large on modern hardware. Maybe change it to 1920x1080 or something in between.