Sign up ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've been searching for the last two days on trying to understand how the console displays itself to the user and how to change the console settings. I've had some luck along the way but nothing that I've found has giving me a real clear explanation of how the console is displayed or how to change or control its display settings.

Some examples of what I'm looking for are as follows:

How is the console displayed on the screen? I know with X11 it uses your graphics card driver to display graphics to the screen, but how is the console's text mode handled? Could someone either explain this to me or point me to an in-depth overview of it all?

Is it possible to have multi-head support in console mode with separate tty's on each screen? If so how would I go about setting this up?

How would you go about changing the size of the console display from the default 80x25 to a custom size?

I'm testing anything I find on a debian testing build, which is just the minimal base install on a virtual box. In time I will be using this information to setup my main system which is multi-head with 3 monitors. I would like to be able to support all three displays in console mode if possible.

share|improve this question
not a full answer but you're looking for the kernel framebuffer concept and the vga kernel option. it's usually set at boot time via the bootloader (Grub, LILO, etc). – quack quixote May 5 '10 at 10:41
so the kernel has it's own framebuffer? From what I've skimmed it sounded as if the frame buffer was a separate peace of software. Also as I was searching about I have no framebuffer device in my /dev folder. – Chris May 5 '10 at 12:01

3 Answers 3

As quack quixote pointed out, the Kernel Framebuffer is used to draw the screen if no X is started. You can set the size using the boot-parameter vga (deprecated) or gfxpayload (newer).



These options need to be set via a boot option, so you'll have to edit /boot/grub/menu.lst for Grub1, and for Grub2 /etc/default/grub and add this boot option to the kernel.

share|improve this answer
how would I go about passing the gfxpayload setting? – Chris May 5 '10 at 12:25
@Chris: Normally this is done with with the Boot-Loader, for Grub1 you'de have to edit /etc/grub/menu.lst and for Grub2 it would be /etc/default/grub. – Bobby May 5 '10 at 12:58
Or /boot/grub/menu.lst – Dennis Williamson May 5 '10 at 13:42
@Dennis Williamson: You're is of course /boot/grub/menu.lst and not etc. – Bobby May 5 '10 at 15:20

For resizing the console, take a look at the resizecons command.

share|improve this answer
I've tried this on my system and I don't have that command. – Chris May 6 '10 at 16:26
@Chris: What distribution? Also, note that I corrected a typo in the name of the command in case you tried the uncorrected version. – Dennis Williamson May 6 '10 at 18:48
I'm using debian squeeze/testing businesscard install with just the bare base installed nothing more – Chris May 9 '10 at 23:19

I just struggle with two monitor system. The console size in graphic mode can be set with fbset, e.g.:

   fbset -xres 1280 -yres 1024

man fbset show also an example:

   fbset -fb /dev/fb0 640x480-60

for use in rc.local. I am not sure if it works for all the consoles.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.