Sunday, January 9, 2011

Get your precious Plymouth splash screen back!

You may have experienced the strange behavior that Plymouth splash screens have in Ubuntu and many of its derivatives, specially on PCs with onboard Intel Graphics cards. I certainly have. Basically you get to see that gorgeous Plymouth splash screen in Ubuntu, Kubuntu, Linux Mint or MoonOS when you boot from the LiveCD, then install the OS and gone it is forever. All of a sudden you get a black screen between BIOS and the login screen. Not nice!


Click on Image to enlarge.

Miss the sight of the screenshot above every time you boot? Worse yet, are your Plymouth themes not showing at all? Well, I did some research and there is a workaround to this problem.

WHY DOESN'T IT WORK?!

Plymouth is a very young piece of technology and it is still not as solid as one would desire. One of the most frequent problems is the one I described above, where you get a black screen with a blinking cursor instead of your shiny Plymouth splash screen.

Essentially, the root cause of this problem relates to graphics drivers loading slowly, too slowly for the system to wait for them. The file system is checked and loaded in a shorter time, thus allowing X to load, perhaps making it unreasonable to have to wait for those graphics drivers to load. After all, booting fast is one of the concepts that Ubuntu has pushed on the most lately.

But is it that unreasonable? Speed is indeed important, but an OS loading with a blank screen doesn't look too fancy, or even serious enough, so what should be more of a priority? In my case, I can almost always live without my Plymouth splash screens, because I favor speed. However, as I was recently testing MoonOS 4 (expect a full review soon) I must admit I missed the super cool splash screen during boot, so off I went to find a way to get it back... And there is one!

THE WORKAROUND

Now that we know what causes the problem, it may be easier to figure out a solution. In this case, we are simply going to force the system to wait for the graphics drivers to load, as follows:

  1. Open a virtual terminal and type the following command:

    sudo gedit /etc/initramfs-tools/conf.d/splash

    This file may not exist, so you may be creating it from scratch now.

  2. Enter the following content on the file you opened on the previous step:

    FRAMEBUFFER=y

  3. Close and save the file.

  4. Now, run the following command to commit the change:

    sudo update-initramfs -u

  5. Reboot and enjoy your Plymouth splash screen.

THAT'S ALL FOLKS!

Yes, it's that simple. The choice is up to you now, but from my experience, the delay this modification adds to the boot process duration is not that significant, so getting the best from both worlds may not be that difficult after all.

2 comments:

  1. works for you on an Intel, and works for me on an Intel, but, on a Nvidia don't work :( (the PC only take 8 seconds to boot up is not a big deal)

    ReplyDelete
  2. On my late 2008 15" Macbook Pro, I had to follow a few extra steps which includes the above steps, to get the plymouth splash screen working:
    See http://byobu.info/wiki/Changing_Plymouth_Resolution_in_Ubuntu

    ReplyDelete