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?

Jorge Castro
  • 73,717
neziric
  • 869

4 Answers4

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
user3243
  • 594
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.

mniess
  • 10,904
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.

sBlatt
  • 4,619
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!

DanFritz
  • 211
  • 2
  • 6