I’m currently dual-booting a Framework laptop between Ubuntu 22.04 and Windows 10 using grub. All is well, except that I have to strain my old eyes to see the tiny grub menu when it appears in the top left hand corner of the screen.
I’m sure there must be a way to persuade grub to use a more appropriate resolution. But I haven’t yet found it. This method doesn’t appear to change anything.
I’ve tried in vain GRUB_GFXMODE=1600x1200x32,auto, which is one of the resolutions the grub console’s videoinfo offers. Any help would be very welcome.
Thanks for the thought, @junaruga. But I’m puzzled. The OP in the first link is talking about reducing the size of his font. He seems to be looking at a GUI grub. Mine is a rudimentary terminal grub and the fonts could hardly be smaller. I believe what I’m looking for here is not font substitution but some way of telling grub the resolution of the screen it’s playing to.
Oh, but wait… That links to this, which is definitely helpful.
Clearly the parameter I was attempting to use only applies to a GUI grub and I need to set GRUB_TERMINAL_OUTPUT to gfxterm. I’ll do that and report back.
MOMENTS LATER
Nope. Setting GRUB_TERMINAL_OUTPUT to gfxterm and then running update-grub doesn’t put grub into a GUI. In fact, a comment in the grub configuration file seems to suggest that grub is by default in a GUI:
# Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console
It would be very helpful to hear from anybody who knows what’s going on here.
OK. Some days you achieve nothing. But today I’ve got to the bottom of this grub stuff. I think.
I was right to set GRUB_TERMINAL=gfxterm. This does invite grub to come up in a GUI.
But I was wrong, I believe, to set GRUB_GFXMODE=1600X1024. This was a 3:2 resolution I pulled out of the options offered in Settings/Screen Display/Resolution. It’s my understanding now that with only VESA resolutions to play with at this early boot stage before the graphics drivers have been loaded, this is an illegal resolution. update-grub doesn’t complain about this, but as a result, apparently silently declines to go into GUI mode.
I’ve now changed GRUB_GFXMODE to a more modest 800x600 and everything is now copacetic. Thanks for the clues and thanks to @Fraoch for moving this discussion to a more appropriate location.
PS: Acceptable boot screen resolutions are listed in the grub console (hit the C key when grub appears to get there) in response to the videoinfo command.
PPS. Oh, hello @amoun. I didn’t see your post until after I’d discovered the solution. Yes, 800x600 works nicely, and now I know why. I may add a background picture later. But for now my eyes are grateful simply for the legible text.
Just to wind this up, it’s clear to me now that there’s no need to declare GRUB_TERMINAL=gfxterm. I should have understood the hint in the grub configuration comments. By default, grubis operating in a graphics terminal.
In fact, this is the original cause of the problem: it finds itself in a high res graphics terminal and accordingly uses a tiny font. I had forgotten my early days of using a real text console, when a font that small would have been impossible.
But personally, I recommend using Grub-customizer to edit the options. Go to Appearance Settings tab > Custom Resolution. Grub-customizer also lets you easily load a theme, if you so wish. Customize Grub to Get a Better Experience With Linux
Hmm, this doesn’t work for me on fedora 40. I’ve done the edit of the grub file in your previous post, but because this update step doesn’t work it doesn’t seem to have an effect.
alanp@fedora:~$ sudo grub-mkconfig -o /boot/efi/EFI/fedora/grub.cfg.
[sudo] password for alanp:
sudo: grub-mkconfig: command not found
alanp@fedora:~$
I did find some information on the web (can’t remember the exact command) but That didn’t update it either.
Did this instead …
alanp@fedora:~$ sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg.
[sudo] password for alanp:
Generating grub configuration file …
Found Windows Boot Manager on /dev/nvme0n1p1@/efi/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for UEFI Firmware Settings …
done
alanp@fedora:~$
which IIRC is what I did before but it didn’t change anything.
Even though I have tried to change it to 800x600 the screen resolution doesn’t change.