This is a comprehensive HOWTO to change your TTY (Ctrl+Alt+F1) and bootscreen resolution.

Introduction

I am sure we have all noticed the low, or extremely high resolution used while Ubuntu is booting up, and also of the TTY (Ctrl+Alt+F1). Depending on your version usually Ubuntu tries to intelligently decide the default. It is usually set to the maximum for your screen. Although Grub still has issues with non 16:9 resolutions. For most of us, this isn't so bad, but clearly this is sub optimal for some.

If you are having difficulties setting the resolution try something other then a 16:9 resolution and it will probably work. Otherwise continue below to learn more.

FOR 9.10 KARMIC KOALA AND LATER

  • Karmic Koala has switched to GRUB 2, and now the settings can be found in the file /etc/default/grub

  • Resolutions available to GRUB 2 can be displayed by typing vbeinfo in the GRUB 2 command line. The command line is accessed by typing "c" when the main GRUB 2 menu screen is displayed. (Hold the left shift key pressed before ubuntu loads to access it)

  • Open /etc/default/grub with your text editor with root privilege.
  • Add the following new line using your preferred resolution-depth from the list that vbeinfo gave you. It should be like this if you have a 1280x800 screen:

     GRUB_GFXPAYLOAD_LINUX=1280x800 

  • Save the file and exit. (If you can't save the file you haven't opened it as root, go back and execute gksudo gedit /etc/default/grub providing your password.)

  • Execute the command

     sudo update-grub 

  • Restart your computer.

For 9.04 and before

The resolution of the TTY is set as a parameter given to the kernel before it loads. GRUB is responsible for booting the kernel, so we need to tell GRUB to tell the kernel what resolution we want. GRUB's list of boot options is contained in the file /boot/grub/menu.lst.

  • Open up the Terminal by going to Applications -> Accessories -> Terminal

  • Before you open up the file we should back it up. If you haven't tinkered with Gedit as root before Gedit will make a backup file menu.lst~ before it saves, but if you want you can do it yourself to make sure. Just type in the terminal:

    sudo cp /boot/grub/menu.lst /boot/grub/menu.lst~ 

    Enter your password when prompted. This will backup the file as menu.lst~.

  • Now we open it up with:
     gksudo gedit /boot/grub/menu.lst 
  • Look for the line (or first instance of the line):
     kernel         /boot/vmlinuz-2.6.15-25-686 root=/dev/sda2 ro quiet splash 

    where 686 is your CPU architecture such as 386, AMD64 or PPC, and /dev/sda2 is your hard drive partition such as /dev/hda1.

  • This is the command for your kernel, and we need to append a parameter to tell the kernel to boot into a certain resolution. This is done with the vga= flag, along with a special number for your desired screen resolution and color depth. Refer to the following table to see what your resolution's number is:

    640x480

    800x600

    1024x768

    1152x864

    1280x1024

    1600x1200

    8bit

    769

    771

    773

    353

    775

    777

    15bit

    784

    787

    790

    793

    796

    16bit

    785

    788

    791

    355

    794

    797

    24bit

    786

    789

    792

    795

    798

    You will most likely want the 24bit color depth (AKA "True Color") (choose this if you are not sure) along with a decent resolution such as 1024x768 or 1280x1024. I, for example, want 24bit with 1280x1024 so I choose 795, and will append vga=795 to the line, giving me:

    kernel          /boot/vmlinuz-2.6.15-25-686 root=/dev/sda2 ro quiet splash vga=795 

    Go ahead and append vga= to the kernel line in menu.lst along with your screen resolution number form the table above, as in the example.

  • Save the file. (If you can't save the file you haven't opened it as root, go back and execute gksudo gedit /boot/grub/menu.lst providing your password.)

  • Restart your computer.
  • If your computer dies on boot, get into recovery mode and replace the menu.lst file with the backup one with:

    sudo cp /boot/grub/menu.lst~ /boot/grub/menu.lst 
    Then make a post in the forums to investigate why it didn't work!

ChangeTTYResolution (last edited 2015-12-04 20:52:29 by goddardlabs)