GRUB video mode setting

Colin Watson cjwatson at
Mon Jul 12 15:51:00 BST 2010

GRUB 2 has been setting a VESA graphics video mode for a while, albeit
only 640x480; but in Lucid it switched back to text mode before starting
the kernel.  There was a switch to leave it in graphics mode
(GRUB_GFXPAYLOAD_LINUX=keep), but this used efifb which was problematic
for some people, and in any case technically wrong when not on an EFI
system.  Nevertheless, this was a popular modification to GRUB in Lucid.

I've just uploaded a change to Maverick that uses vesafb instead of
efifb on BIOS-based systems, since vesafb and fbcon are now built into
the kernel so this doesn't have the effect of losing early printk
output. This now also enables gfxpayload=keep by default, so the kernel
will start up in graphics mode.  It's still 640x480 by default for now,
and if GRUB fails to set a VBE mode for whatever reason then it will
fall back to starting the kernel in text mode.

I hope that GRUB's video support is mature enough by this point that
this shouldn't cause any problems, but, nevertheless, if you run into
problems due to this change (probably black-screen or corrupted-console
on boot), and if editing the menu entry before booting and changing 'set
gfxpayload=keep' to 'set gfxpayload=text' gets rid of the problems, then
please file bugs on the grub2 source package in Ubuntu and we'll see
what we can figure out.

Future changes in this direction will probably include such things as:

 * getting the Plymouth logo on-screen in GRUB
 * improving the kernel to avoid clearing that logo (much) before
   Plymouth starts (how exactly to deal with the KMS mode switch is
   still an open question)
 * using a better video mode in GRUB by default
 * handling more GRUB video drivers the same way (needs kernel support,
   in progress)

Colin Watson                                       [cjwatson at]

More information about the ubuntu-devel mailing list