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.

When you boot from live CD, or doing the first boot after installing Ubuntu, splash screen looks awesome. But as soon as you enable nvidia-current driver, installed with apt-get, splash screen goes all crazy.

With crazy I mean that resolution is very low, font(I assume) is very weird and it all looks like it's been broken.

This happened with 10.04 and now again with 10.10.

How do I fix splash screen after enabling nvidia drivers?

share|improve this question
1  
In X my resolution is set do 1600x900, but with sudo hwinfo --framebuffer or in grub's console, the maximum resolution is 1152x864. Anyone can tell me why is that??? Thankx –  carlos Feb 16 '11 at 21:20
    
It also happened in 12.04, but instead I have an ATI driver –  Emerson Hsieh May 24 '12 at 23:56
    
I only get a flash with nvidia's logo for about 1 aec and then it's all normal. –  Alvar Jun 6 '13 at 7:53

5 Answers 5

up vote 47 down vote accepted

That is easy. First of all:

sudo apt-get install v86d hwinfo
sudo hwinfo --framebuffer

This will show you your supported resolutions. Take note.

Then:

gksudo gedit /etc/default/grub

Search for - GRUB_GFXMODE=

below this you need to type: GRUB_GFXPAYLOAD_LINUX=1024x768 <- your-resolution-here

Save the file and then:

echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash
sudo update-grub2
sudo update-initramfs -u
share|improve this answer
1  
Is there a downside to doing this? –  ændrük Oct 11 '10 at 16:54
    
Thanks. It works great now :) –  neziric Oct 11 '10 at 18:50
    
I used to install cryptsetup instead of your second step. It works same. –  Extender Oct 16 '10 at 7:58
1  
It doesn't work for me, I'm using an NVIDIA 8600M. It used to work nicely with Maverick... –  nerdy_kid Apr 27 '11 at 23:50
2  
excellent, this works fine on 12.04 in case anyone was wondering –  Anake Apr 28 '12 at 14:13

The above solution might not work for you. In my case e.g. hwinfo doesn't show the supported resolutions. You can, however, get this information directly from grub.

Press c to get in the grub console and then enter insmod video_all followed by videoinfo to get the supported resolutions. If your native resolution is supported, use it. Also use it directly as shown (i.e. 1680x1050x32, so include the colordepth). Get back by pressing ESC.

When you have the supported resolution edit /etc/default/grub and the file to include these two lines:

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=1680x1050x32
GRUB_GFXPAYLOAD_LINUX=keep

Now run the following lines to make the splash show earlier and to actually commit the changes to grub.

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

Hope this helps.

share|improve this answer
1  
No, hwinfo did not give the correct resolution, but I used the nearest - which works OK. I also tried pressing C while booting (tried Shift and Escape too) but couldn't get into Grub console. –  neziric Oct 11 '10 at 20:00
1  
If you don't get the regular grub-screen (where you can select which kernel or OS to boot) you have to hold SHIFT while booting. When you get the grub screen, you press C to enter the console. –  mniess Oct 12 '10 at 22:44
    
Worked like a charm for me! In my case the command in grub console was 'videoinfo' and not 'vbeinfo' . –  BrozzSama Mar 31 at 16:37
    
@user155897 thanks, I updated the answer. –  mniess Apr 2 at 8:33
    
Why is the supported resolution is very much lower than my actual resolution –  ray Apr 28 at 13:47

Here is a easy script to fix this: http://www.webupd8.org/2010/10/script-to-fix-ubuntu-plymouth-for.html

I don't know if this will change your alt+F2 problem as well


I think the problem is, that Nvidia GPUs need proprietary drivers that can't be built into the kernel, so they are loaded at a very late boot stage. So if I remember correctly, this script makes your computer load a generic vesa driver to show the splash screen. This actually makes your computer take longer to start (but I don't know if we're talking about seconds or milliseconds).

I personally wouldn't bother changing core parts of my system for an eyecandy, but as long as it works, it shure is nice.

share|improve this answer

The above fixes didn't work for me, they didnt go far enough. I've tested this with 13.04 but the author on his blog used it for lower ubuntu versions. Original information from this blog: http://jechem.blogspot.be/2011/04/fix-plymouth-splash-screen-in-ubuntu-on.html

First install hwinfo by running the following command:

sudo apt-get install v86d hwinfo

After the installation run the following command and note down the highest resolution:

sudo hwinfo --framebuffer

For me this was Mode 0x0361: 1280x800 (+5120), 24 bits, next edit the following file:

gksu gedit /etc/default/grub

This will open the GRUB config file, we now look for GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" and change it with the following, change your resolution with mine and also add the color depth (for me 24 could be 16 or 32).

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1280x800-24,mtrr=3,scroll=ywrap"

Then find the following line (uncomment if needed) and change your resolution again, note that you don't include the color depth:

GRUB_GFXMODE=1280x800

Save and exit, next edit the following file:

gksu gedit /etc/initramfs-tools/modules

Scroll to the end of the file and add the following line, again add your resolution and the colordepth like you did before:

uvesafb mode_option=1280x800-24 mtrr=3 scroll=ywrap

Then in the terminal type the following commands and then reboot:

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

For me this fixed the problem, I tried all the other suggestions and scripts, none of them worked but this does, good luck!

share|improve this answer
    
THANK YOU!!! :-* –  leetNightshade Mar 28 at 8:08

(I would have made this a comment but I don't have enough reputation) I tried the instructions, but I only got 4:3 resolutions using the sudo hwinfo --framebuffer command, and I have a 1600x900 monitor. What should I do?

share|improve this answer

protected by Oli Feb 16 '11 at 21:20

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.