How to enable 1280x800 resolution in tty?
Solution 1
Install hwinfo since that is the only way i know how. (
sudo apt-get install hwinfo
ORsudo aptitude install hwinfo
)-
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
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.
-
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
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.
- Boot Linux while holding Left shift.
The GRUB 2 menu screen appears. - Press C to access the GRUB command line.
- Type
vbeinfo
Enter to access a list of available resolutions. - Pick a resolution from the list and write it down.
- Press Esc to leave the GRUB command line.
- Boot into Linux.
-
Open
/etc/default/grub
in your favorite text editor with root privileges.sudo nano /etc/default/grub
-
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. - Save and exit.
-
Update the GRUB configuration.
sudo update-grub
-
Reboot.
sudo reboot
Now the TTY's should have the specified resolution. Unfortunately, you're stuck with only 16 colors.
Related videos on Youtube
gocio
Updated on September 17, 2022Comments
-
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 1280x800x16I 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 over 10 yearsCan we specify custom resolution like 1600x800?
-
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 over 2 years
echo "echo . . ."
is not a typo. I have tested both methods on Nvidia and the subsequentecho
is necessary. Removing the extraecho
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 otherecho
but I cannot verify that removing the extraecho
works because it hasn't worked for me. -
mchid over 2 yearsJust to be clear, here's what it would look like without the extra echo:
echo "FRAMEBUFFER=y"