Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I've recently clean-reinstalled Maverick on my computer. It uses propietary Nvidia drivers.

Everything runs just fine, except that I'm seeing lots of ugly text when booting and shutting down Ubuntu.

I don't mind the text at all; in fact, I like seeing the startup/shutting down information.

What I don't like it's its ugliness!

When my computer goes to console mode - (booting up, shutting down or CTRL+ALT+F1) the text is super big - I can't take a screenshot of it, but it looks like a 640x480 resolution. My monitor normally works at 1440x900.

I remember that the console text that appeared while installing from the CD was nice and small.

How can I make the console text look like it looked while booting from the CD?

share|improve this question
add comment

4 Answers 4

up vote 9 down vote accepted

I've found a solution that works on this forum post:

http://forums.debian.net/viewtopic.php?f=5&t=41881#p2705863

In short:

Open /etc/default/grub with your favorite editor as root.

Localize the line that says GRUB_GFXMODE= ... and change it to the resolution you want. Add another line for a new variable called GRUB_GFXPAYLOAD with the same resolution. It should look similar to this:

GRUB_GFXMODE=1440x900x32
GRUB_GFXPAYLOAD=1440x900x32

Save and exit. Then edit as root /etc/grub.d/00_header

Localize the line that says if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=... . As before, change the resolution there to the one you want and add another line for payload:

if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=1440x900x32 ; fi
if [ "x${GRUB_GFXPAYLOAD}" = "x" ] ; then GRUB_GFXPAYLOAD=1440x900x32 ; fi

Finally, localize the line that says set gfxmode=${GRUB_GFXMODE} and add a line for payload below it. It should look like this:

set gfxmode=${GRUB_GFXMODE}
set gfxpayload=${GRUB_GFXPAYLOAD}

Save and exit.

Still as root, refresh grub with

update-grub2

Reboot, and both the grub menu and the console should have nicer resolutions.

Fiuh!

share|improve this answer
    
This did not seem to work for me. I was using the resolution of 1366x768x32. –  kzh Jan 19 '11 at 3:36
    
My solution will only work for grub2, I think. Are you using grub 1, maybe? If yes, try with a lower resolution first - for example 1024x768x32. Regards! –  egarcia Jan 19 '11 at 9:59
    
unfortunately didn't work for me, running 10.10 –  segfault May 24 '11 at 22:12
2  
Looks like that at the moment grub2 doesn't use 'GRUB_GFXPAYLOAD' option, only 'GRUB_GFXPAYLOAD_LINUX'. See the official documentation on grub2: gnu.org/software/grub/manual/grub.html#gfxpayload –  mbaitoff Sep 15 '11 at 9:16
1  
It would be more interesting to see a response that is more generic, that will work with most resolutions. –  sorin Nov 17 '12 at 16:07
show 4 more comments

Just some personal background: in my other computer I have no problem with that fancy mode (it's 160 cols x 60 rows, but it has a 4:3 CRT monitor). It's equipped with a TNT2 (yes, I swear), and that mode was promptly displayed on first boot. Problem is, it does this by loading the nouveau driver, and this guy is still a bit faulty (in my case, it hangs the whole system when trying to move windows). So, to have an usable system, I had to downgrade to the old and stable nv driver, and also disabling mode-setting ('cause the kernel would always load nouveau when enabled). Note that I'm not using nVidia proprietary drivers, but like you, I was switched back to 80x25 in console mode.

This is because the nv driver doesn't use kernel mode-setting. Now, I don't know about the proprietary drivers, but I'm guessing they might have changed your configuration in order to be usable, and possibly that's why you're seeing that "big" mode. Possibly they disabled mode-setting when installed. That's why you see the "small" text mode when booting from the Live CD.

You could try booting up with a different VESA mode, but that depends a lot on your hardware. For that, please check http://en.wikipedia.org/wiki/VESA_BIOS_Extensions#Linux_video_mode_numbers. For example, if you'd like to try booting your text mode on 1024x640, you'll find that the mode ID is 877.

So, when booting, hold the SHIFT key (in case you don't have a GRUB timeout) to bring up GRUB's menu. Select the mode which you wish to boot and press 'e' (to edit the commands). At the end of the "kernel" command, add vga=877. The number is the mode ID, if you want to try other modes, replace it with the desired number.

Also, at that same Wikipedia page, you could also try the helpful "Universal format" right below the modes table. That hwinfo command is quite useful.

share|improve this answer
    
I use grub2, not grub. I didn't know that grub was responsible for the console, so I didn't mention that in my question. Sorry. I've found a solution with grub2. Regards! –  egarcia Dec 22 '10 at 4:55
    
To be true, the solution you found also seem simpler. Glad you sorted it out, and thanks for sharing! –  Charles Roberto Canato Dec 22 '10 at 7:03
add comment

This helped me on Ubuntu 14.04 with ESXi 5.5 :

:~$ sudo vi /etc/default/grub

Change line to:

GRUB_CMDLINE_LINUX_DEFAULT="splash vga=792"

:~$ sudo update-grub :~$ sudo reboot -r now

Use 795 or 799 for higher resolution, and see: http://www.pendrivelinux.com/vga-boot-modes-to-set-screen-resolution/ for more details.

share|improve this answer
    
+1. Works like a charm. –  Jin Kwon Jun 14 at 12:03
add comment

Other answers, despite their complexity, did not work for me on Ubuntu Server 12.04 LTS. In my case, I wanted to have the Linux kernel console boot into a graphics mode supported by both my old CRT monitor and the integrated Intel graphics of my server.

First, install hwinfo:

sudo apt-get install hwinfo
  • sudo hwinfo --monitor will list the graphics modes supported by the monitor.
  • sudo hwinfo --framebuffer will list the graphics modes supported by the computer.

Now, start editing /etc/default/grub:

sudo nano /etc/default/grub

Assuming a previously unedited file, make the following changes:

The variable GRUB_CMDLINE_LINUX_DEFAULT should contain at least nomodeset, perhaps in addition to quiet and splash on desktop systems.

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset"

On server systems, uncomment GRUB_TERMINAL=console to see more messages passing during boot before entering in the graphics console.

Leave this line as a comment:

#GRUB_GFXMODE=640x480

At the end of the file, add a line:

GRUB_GFXPAYLOAD_LINUX=1280x1024x16

or replace the value by any other (comma separated) mode(s) that is(are) supported by your hardware. The values text, keep, auto, vga and ask should also work.

Finally, after saving the edited /etc/default/grub with Ctrl+O and exiting with Ctrl+X, issue the following commands:

sudo apt-get autoremove
sudo update-grub
sudo reboot

The first command will remove old Linux kernels as well as other files that are no longer needed. This saves a little time with update-grub.

This answer will also work to decrease the resolution and/or refresh rate or frame buffer frequency on down-clocked systems. CRT monitors typically show flickering stripes when the refresh frequency is too high.

share|improve this answer
add comment

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.