Linux: How to change the text size or character size in runlevel 3 (text mode)

Posted on in Categories Howto, Linux, Tips last updated September 6, 2006

If you have large size (21″) or small size (14″) monitor, it is better to use large/small character size. But how do you setup character size in runlevel 3 under Linux?

The answer is simple, use the kernel framebuffer. It allows you to set the Linux text scree (console) to higher or lower resolution. The Linux framebuffer (fbdev) is a graphic hardware-independent abstraction layer to show graphics on a console without relying on system-specific libraries such as SVGALib or the heavy overhead of the X Window System.

Open GRUB configuration file grub.conf
# vi grub.conf

Append line vga=0x318 (a 24-bit color depth @ 1024×768 display) to kernel line. At the end your modification should look like as follows:
title Debian Linux, AMD-VSNL (VMWARE)
root (hd1,0)
kernel /boot/vmlinuz- root=/dev/hdb1 ro vga=0x318
initrd /boot/initrd.img-

Save and close the file. Reboot the system:
# reboot

0x318 (hex) is a mode. Here are common modes:

8 bits0x3010x3030x305
16 bits0x3110x3140x317
24 bits0x3120x3150x318

See kernel docs – Documentation/i386/boot.txt and Documentation/svga.txt files for more information. You can also pass special parameter called ask i.e. vga=ask for menu.

Please note that not all video cards out there support kernel framebuffer mode. Also you may need to to use special driver.


Leave a Comment