56

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?

5
  • 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, 2011 at 21:20
  • It also happened in 12.04, but instead I have an ATI driver May 24, 2012 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, 2013 at 7:53
  • Be really careful with this if you set an ATA password. I did and for whatever reason it repeatedly crashed trying to read a disk it should have been waiting a password for...
    – MrMesees
    Jan 2, 2018 at 23:36
  • Above comments based on xenial 16.04, not 10.04 or 10.10
    – MrMesees
    Jan 3, 2018 at 8:43

4 Answers 4

57

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
8
  • 2
    Is there a downside to doing this?
    – ændrük
    Oct 11, 2010 at 16:54
  • I used to install cryptsetup instead of your second step. It works same.
    – Extender
    Oct 16, 2010 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, 2011 at 23:50
  • 2
    excellent, this works fine on 12.04 in case anyone was wondering
    – Anake
    Apr 28, 2012 at 14:13
  • 1
    Just to confirm this also work with ubuntu 14.04 and nvidia, just ignore the hwinfo part since it is not available not... and everything is the same... Apr 20, 2014 at 17:47
15

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.

6
  • 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, 2010 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, 2010 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, 2014 at 16:37
  • Why is the supported resolution is very much lower than my actual resolution
    – ray
    Apr 28, 2014 at 13:47
  • +1. But note that insmod video_all always returns "file « /boot/grub/i386-pc/video_all.mod » not available. On my Ubuntu 14.04.1. Also hwinfo is not available in repositories. Dec 12, 2014 at 11:24
3

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.

3

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!

1
  • 2
    Cannot find hwinfo in repositories. On Ubuntu 14.04.1. Dec 12, 2014 at 11:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .