How to enable 1280x800 resolution in tty?

33,328

Solution 1

  1. Install hwinfo since that is the only way i know how. (sudo apt-get install hwinfo OR sudo aptitude install hwinfo)

  2. Go to the console (gnome-terminal or any other) and type sudo hwinfo --framebuffer and you will get a short or long list depending on what video card you have. The list will look something like this:

    Mode 0x0335: 320x240 (+640), 16 bits 
    Mode 0x0336: 320x240 (+1280), 24 bits
    Mode 0x033d: 640x400 (+1280), 16 bits
    Mode 0x033e: 640x400 (+2560), 24 bits
    Mode 0x0345: 1600x1200 (+1600), 8 bits
    Mode 0x0346: 1600x1200 (+3200), 16 bits
    Mode 0x0347: 1400x1050 (+1400), 8 bits
    Mode 0x0348: 1400x1050 (+2800), 16 bits
    Mode 0x0349: 1400x1050 (+5600), 24 bits
    
  3. Lets say you want the 1600x1200 16Bit Resolution. Then you take the Hex value to the right, in that case 0x0346 and you write it down.

  4. Open /etc/default/grub. You will find 2 lines similar to this:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    GRUB_CMDLINE_LINUX=""
    

    On the second one, edit that line so it looks like this:

    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    GRUB_CMDLINE_LINUX="vga=0x0346"
    

    As you can see you just put the hex value at the end of the linux line in the grub file and save it. Exit, and type sudo update-grub. Wait until it's finished and reboot.

Solution 2

First, for grub:

sudo nano /etc/default/grub

and change the line:

#GRUB_GFXMODE=640x480

to this:

GRUB_GFXMODE=1280x800 
GRUB_GFXPAYLOAD_LINUX=keep

Next, add framebuffer to use the card:

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

and don't forget to update grub!

sudo update-grub

source

Solution 3

To change the resolution of the TTY's (Ctrl+Alt+F1 through F6), the steps outlined on the Ubuntu Community Wiki should do the trick:

This should work in Ubuntu 9.10 and later, Linux Mint 8 and later, and probably also for any distribution based on those versions of Ubuntu that uses GRUB 2.

  1. Boot Linux while holding Left shift.
    The GRUB 2 menu screen appears.
  2. Press C to access the GRUB command line.
  3. Type vbeinfo Enter to access a list of available resolutions.
  4. Pick a resolution from the list and write it down.
  5. Press Esc to leave the GRUB command line.
  6. Boot into Linux.
  7. Open /etc/default/grub in your favorite text editor with root privileges.

    sudo nano /etc/default/grub
    
  8. Add the following line, where you replace 1280x800 by the resolution you wrote down:

    GRUB_GFXPAYLOAD_LINUX=1280x800
    

    I put it right after the #GRUB_GFXMODE line.

  9. Save and exit.
  10. Update the GRUB configuration.

    sudo update-grub
    
  11. Reboot.

    sudo reboot
    

Now the TTY's should have the specified resolution. Unfortunately, you're stuck with only 16 colors.

Share:
33,328

Related videos on Youtube

gocio
Author by

gocio

Updated on September 17, 2022

Comments

  • gocio
    gocio over 1 year

    I've got Toshiba U500 (nVidia). Tried changing /etc/default/grub in many ways, now I've got:

    GRUB_DEFAULT=5
    GRUB_HIDDEN_TIMEOUT_QUIET=true
    GRUB_TIMEOUT=10
    GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
    GRUB_CMDLINE_LINUX_DEFAULT="vga=0x014c"
    GRUB_CMDLINE_LINUX="vga=0x014c"
    GRUB_GFXPAYLOAD_LINUX=1280x800x16
    

    0x014c is what vbeinfo in Grub related to 1280x800x16

    I just wish my laptop could boot with nice, high resolution font and let tty consoles stay that way... How is that possible?

    Regards, gocio

  • Starx
    Starx over 10 years
    Can we specify custom resolution like 1600x800?
  • Luis Alvarado
    Luis Alvarado over 10 years
    @Starx That would actually depend on the combination of your monitor and video card in VESA mode. If both support it then it will appear on the list and you will be able to see it correctly. But I seriously need to update this since this applies to obsolete versions of Ubuntu.
  • mchid
    mchid over 2 years
    echo "echo . . ." is not a typo. I have tested both methods on Nvidia and the subsequent echo is necessary. Removing the extra echo might work on Intel systems but not on Nvidia. Granted, it was a bit older but other users have reported that this works. All I can say is that, if this method doesn't work, try it without the other echo but I cannot verify that removing the extra echo works because it hasn't worked for me.
  • mchid
    mchid over 2 years
    Just to be clear, here's what it would look like without the extra echo: echo "FRAMEBUFFER=y"