Dec 8, 2009

Customizing X-Splash

I've been receiving a lot of feedback regarding my x-splash artwork and mockups. The most common question people ask, is "How can I get this?".

Since the first release of X-splash, we have seen many people customize the boot experience - some attempts more successful than others. You can find something really interesting on Gnome-look and the Ubuntu forums, but so far I haven't found any tutorials that explain how to create your own X-splash throbber. This post is an attempt to create such a "tutorial".

How does it all work
The X-splash files are stored in the /usr/share/images/xsplash folder. Modifying files in this folder requires root authority.
The background, logo and throbber images are all stored in four different sizes (It has been suggested to use only one scalable background image for Ubuntu 10.04, so this guide might be outdated by 10.04). X-splash will use the image sizes that fits your screen resolution best. I only use the largest files available for background, logo and the throbber, since these are the ones X-splash uses on my system. These three files are called:
  • bg_2560x1600.jpg
  • logo_xtra_large.png
  • throbber_xtra_large.png
You will notice the background image is in .JPG and that the filename contains information about the image size (2560x1600 px). If you create your own background image and plan to pass on your work to others, you must resize the image to the four different sizes. You can do the same for the throbber and the logo images, but in most cases (depending on the size of your images of course) you can use the same image size for all/most resolutions.

The logo and throbber files are .PNG files. .PNG was originally created as a replacement for the ubiquitous GIF format, which used to require a patent license for producers of imaging software to use it legally (the GIF/LZW patent has since expired, so this is no longer a factor). Besides being a freely available format, PNG allows for virtually unlimited transparency effects by enabling an alpha channel for transparency. This is exactly what we want for the throbber and logo image.

The logo image gets placed so that its center is screen width/2, screen height/3.

The throbber gets chopped via the throbber image's width and height divided by the number of frames. Xsplash expects 50 frames default. You can use whatever size image you want for the throbber, just make sure the graphics matches the number of frames. So, if you put an 100x5000 image, it'll appear as a 100x100 throbber animation with 50 frames.
Perhaps you remember when the Ubuntu 9.10 Alpha 5 came out (first time X-splash was included) and every website posted YouTube videos of this weird looking animation. The throbber image shiped in Alpha 5 had 51 frames insted of 50!

The animation
For the animation you can eighter create the frames manually in applications like GIMP. You may already have brilliany ideas, but start simple until you understand how this works. MacUntu, from the Ubuntuforums, illustrates this perfectly.

A throbber with 17 frames by MacUntu

I prefer to use a animation application like Blender, which can render frames and save them as .PNG images. If you know other good applications for this task, please let me know.

When you've created the .PNG throbber frame images, you'll need to "stitch" them together. To stitch the frames images together (you'll need Imagemagick), place all the frames images in an empty folder and type:
convert `ls *` -append new_throbber.png
I've created 50 frame images for you to try this with:
The images won't give you a smooth animation since these are only old test images for what eventually became the Xubuntu X-splash.

Need more help
I hope this will get you started customizing X-splash. Remember you can re-install the default X-splash, go to the terminal and write:
sudo apt-get install --reinstall ubuntu-xsplash-artwork
To show the X-splash arrguments:
sudo -u gdm xsplash --help
If you are look for more help, visit the where you'll find information about how to customize usplash, xsplash and grub and other goodies.
If you don't want to get your hands dirty, you can check out these other X-splash customizations:


  1. That's exactly what I was looking for, thank you so much.

  2. I really hope it will be possible in Lucid to simply choose a background.

    Something like a checkbox "Use as startup background" in the "choose background" dialog.

  3. Epidermis lets you do this, Reuben. I need to post a tutorial to show people how to package X-splash themes to make them easily install-able with Epidermis.

  4. Would be quite neat to have the same gnome background and startup background, and a easy way to synchronise theme whenever you change anything one of them.