Bounding Unicorns

How To Disable Framebuffer in Debian Linux

There are potentially three stages in Linux boot process where framebuffer usage is possible:

  1. GRUB dialog.
  2. Kernel boot messages.
  3. The console with login prompt that follows after booting is complete.

To change GRUB dialog from framebuffer to text console, in /etc/default/grub, set:

GRUB_TERMINAL_OUTPUT=console

There are also GRUB_GFXMODE and GRUB_GFXPAYLOAD_LINUX options, if GRUB_TERMINAL_OUTPUT is set to console the GRUB_GFX* options appear to be ignored. I think GRUB_GFXPAYLOAD_LINUX determines whether framebuffer is used for kernel boot messages, but GRUB_TERMINAL_OUTPUT=console seems to override it at least by default.

To disable framebuffer after boot is complete and use plain text console, add nomodeset to the Linux command line, e.g.:

GRUB_CMDLINE_LINUX="nomodeset"

Run update-grub after changing /etc/default/grub.