05 Aug 2007 16:10 Subscribe

The Ugliness of Suspend

These days, you can do absolutely all kinds of freaky stuff with your Linux box. There are nearly no limitations for doing fancy graphics, applications, 3D desktops etc.

However, there are still some rough edges which makes Linux still look like a hacky system to new, or M$ blended, users. Suspend. Hibernate. Standby. Whatever you might call them. No! You never ever want to see a white font on a black background with cryptic statements when using a computer. You're writing letters, you're browsing the web, you're sending emails, you're editing pictures, and once in a while, you like you're system to suspend to disk. And you don't want to see all this ugliness in front of you!

Luckily, times are changing. So with the release of openSUSE Beta1, you'll not see this ugliness again. With the integration of splashy, you'll always see a nice image showing you the progress of suspend and resume. The general aim is to hide all the ugliness on your system from you. That doesn't mean removing it. I'm using the ugliness all day long on my own ;-)

Configuring splashy is easy. Most important files atm:

  • /etc/splashy/config.xml: General configuration, which theme to use, etc. 'man splashy-config.xml' for more information
  • /etc/splashy/themes/default/theme.xml: Theme configuration, where are the images, fade, progressbar, text, etc., 'man splashy-theme.xml' for more information
  • /etc/splashy/themes/default/suspend.png: Image used for suspending. You put there any image you like. Run 'mkinitrd' afterwards to enable it also for resume

http://www.homac.de/files/suspend_small.png

I'm currently using a somehow experimental approach for the suspend image. I'm taking a screenshot of the currently displayed desktop, blurring and black&whitening it with convert, and using it to show the progress bar afterwards. This may take up to two seconds on a moderate system. It's a cool feature, however, if the impact on the suspend time is too high, I might consider removing it again. Please share any experience you may make. Let's test this together in Beta1!

Currently the screenshot creation and image manipulation is done by a pm-utils hook. It would be better to let kpowersave/gnome-power-manager take the screenshot and put it to a place splashy can read from. This way it would be possible to configure the shown image inside kcontrol or the gnome-control-center. And that's actually what you want. There just wasn't enough time yet to implement this correctly.

So what about Suspend to RAM? I'll see what I can do. One might think that it doesn't make much sense there because S2RAM is so fast anyway. However, it's still not fast enough ;-) You can still read "Preparing suspend…" for the time of a wink of your eyes. And I've set myself the goal to iron this out ;-)

Actually, splashy is already in Alpha7, but you have to enable it there first. So if you're too impatient for waiting for Beta1, enter 'splash = y' in /etc/suspend.conf to get it. This is due to a bug which prevented to abort the suspend I had to fix first.

The old bootsplash is still used for general boot and shutdown, though. We'll see what we can do to have a smooth conversion in the future.

As always, if you find issues, put them into bugzilla. Hint: Enter 'splash = n' in /etc/suspend.conf to disable splash for debugging of general suspend problems. But those are non existant anyway ;-)

Have fun, Holger

 


blog comments powered by Disqus