Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. It's 100% free, no registration required.

It is a common way to set the resolution of a text consoles (that are usually available by Ctrl-Alt-F1 thru Ctrl-Alt-F6) by using a vga=... kernel parameter. I'm using Ubuntu 10.04 Lucid, output of uname -a is:

Linux 2.6.32-33-generic #70-Ubuntu SMP Thu Jul 7 21:13:52 UTC 2011 x86_64 GNU/Linux

To identify modes available i use the sudo hwinfo --framebuffer which reports:

02: None 00.0: 11001 VESA Framebuffer
[Created at bios.464]
Unique ID: rdCR.R1b4duaxSqA
Hardware Class: framebuffer
Model: "NVIDIA G73 Board - p456h1 "
Vendor: "NVIDIA Corporation"
Device: "G73 Board - p456h1 "
SubVendor: "NVIDIA"
SubDevice:
Revision: "Chip Rev"
Memory Size: 256 MB
Memory Range: 0xc0000000-0xcfffffff (rw)
Mode 0x0300: 640x400 (+640), 8 bits
Mode 0x0301: 640x480 (+640), 8 bits
Mode 0x0303: 800x600 (+800), 8 bits
Mode 0x0305: 1024x768 (+1024), 8 bits
Mode 0x0307: 1280x1024 (+1280), 8 bits
Mode 0x030e: 320x200 (+640), 16 bits
Mode 0x030f: 320x200 (+1280), 24 bits
Mode 0x0311: 640x480 (+1280), 16 bits
Mode 0x0312: 640x480 (+2560), 24 bits
Mode 0x0314: 800x600 (+1600), 16 bits
Mode 0x0315: 800x600 (+3200), 24 bits
Mode 0x0317: 1024x768 (+2048), 16 bits
Mode 0x0318: 1024x768 (+4096), 24 bits
Mode 0x031a: 1280x1024 (+2560), 16 bits
Mode 0x031b: 1280x1024 (+5120), 24 bits
Mode 0x0330: 320x200 (+320), 8 bits
Mode 0x0331: 320x400 (+320), 8 bits
Mode 0x0332: 320x400 (+640), 16 bits
Mode 0x0333: 320x400 (+1280), 24 bits
Mode 0x0334: 320x240 (+320), 8 bits
Mode 0x0335: 320x240 (+640), 16 bits
Mode 0x0336: 320x240 (+1280), 24 bits
Mode 0x033d: 640x400 (+1280), 16 bits
Mode 0x033e: 640x400 (+2560), 24 bits
Config Status: cfg=new, avail=yes, need=no, active=unknown

It looks like many hi-res modes are available, like 0x305, 0x307, 0x317, 0x318, 0x31a, 0x31b (by the way, what does the plus-number means in the list of modes?). However, setting any of these modes in kernel option string, line vga=0x305, results in either pitch black text console, or screen filled by blinking color/bw dots.

What is the 'modern', 'robust' way to set up high resolution in text consoles?

share|improve this question

2 Answers 2

up vote 13 down vote accepted

Newer kernels use KMS by default, so you should move away from appending vga= to your grub line as it will conflict with the native resolution of KMS. However, it depends upon the video driver you are using: the proprietary Nvidia driver doesn't support KMS[1], but you can work around it.

You should be able to get full resolution in the framebuffer by editing your /etc/default/grub and making sure that the GFXMODE is set correctly, and then adding a GFXPAYLOAD entry like so:

GRUB_GFXMODE=1680x1050x24

# Hack to force higher framebuffer resolution
GRUB_GFXPAYLOAD_LINUX=1680x1050

Remember to run sudo update-grub afterwards.

[1] https://wiki.archlinux.org/index.php/KMS

share|improve this answer
    
I've got Driver "nvidia" in my xorg.conf, so it's probably a proprietary driver. I'll experiment with grub anyway. By the way, how to work-around the proprietary driver? –  mbaitoff Jul 20 '11 at 8:34
    
I use the proprietary driver and the above method (on a 10.10 box) and it is fine. You could always try a nouveau driver if you wanted: nouveau.freedesktop.org/wiki/UbuntuPackages –  jasonwryan Jul 20 '11 at 8:42
1  
Looks like GFXPAYLOAD approach worked, but only with set gfxpayload=keep in grub2 configuration files. –  mbaitoff Jul 20 '11 at 9:07
1  
But I still have a suspicion that my video mode is not native. I provided GRUB_GFXPAYLOAD=1920x1080 with GRUB_GFXMODE=1920x1080x24, but I still see the blurred letters in console as if I were in non-native resolution. –  mbaitoff Jul 20 '11 at 9:09
1  
Stumbled across this trying to get a larger console for my VM and wanted to add to @mbaitoff's comment. To get the set gfxpayload=keep into the grub2 configuration, you need to add the line GRUB_GFXPAYLOAD_LINUX=keep to your /etc/default/grub. (This is on Debian, and I would assume Ubuntu - YMMV on others). Had to hunt this down in the grub docs, so figured I'd share. –  Will Sep 8 '14 at 2:50

For newer Debian & Ubuntu distros using nvidia, I had to do the following:

First, edit /etc/default/grub. Change the following line:

#GRUB_GFXMODE=640x480 

to this:

GRUB_GFXMODE=1280x800 
GRUB_GFXPAYLOAD_LINUX=keep

replacing 1280x800 with the desired resolution.

Then:

echo "echo FRAMEBUFFER=y" | sudo tee /etc/initramfs-tools/conf.d/splash
sudo update-initramfs -u
sudo update-grub

To simply change the font size, you can do so using the following command:

sudo dpkg-reconfigure console-setup
share|improve this answer

Your Answer

 
discard

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.