Suspend's userspace user interface appeared in 2.1.7 as a "Possibly broken developer option". It allows you put the user interface of software suspend into a userspace process which offers a great deal of flexibility as to what can be done. The great thing is NO kernel fbsplash patch is required!
Remember, User interface progress reporting (Splash and even the text UI a little)may slow down suspend/resume.
To get things going, you'll need the following:
- A Software Suspend 2 enabled kernel. Test that hibernate/resume works well before you install userUI to facilitate easier debugging.
The userspace UI sources. Download these from the http://www.suspend2.net/downloads/ download page under the "Userspace UI" section.
- For suspend2ui_text - this provides a text-based progress bar
For suspend2ui_fbsplash - an fbsplash theme, such as the Snowboarding Tux theme or the Debian-Suspend2 theme.
Steps:
- Patch, compile and boot your kernel with Software Suspend 2.
- Download the userui sources, extract, and compile them by typing "make", and "make install". This will install suspend2ui_text and suspend2ui_fbsplash into "/usr/local/sbin" by default. suspend2ui_fbsplash will only compile if you have all the relevant libraries and dev files (libpng, libz, libjpeg, libmng and the libfreetype6-dev files).
In your hibernate script, put the path to the suspend2ui_text or suspend2ui_fbsplash binary into /proc/software_suspend/userui_program. For example, in the hibernate.conf configuration file usually located in /etc/hibernate, add or uncomment the line
ProcSetting userui_program /usr/local/sbin/suspend2ui_text
If you have your own custom script, use
echo /usr/local/sbin/suspend2ui_text > /proc/software_suspend/userui_program
.(This step is somewhat optional - if you omit it, you simply will not have a user interface for the first portion of resuming).
Add the suspend2ui_text or suspend2ui_fbsplash binary to your initrd image and set your initrd script to set the userui_program path appropriately (if it is in a different location in the initrd image).(This step for fbsplash only).
Extract the fbsplash theme into /etc/splash/, and make a symlink from /etc/splash/suspend2 to the theme you want to use for suspending. eg "ln -s emergence /etc/splash/suspend2"- Login on a console as root, and run "/usr/local/sbin/suspend2ui_text -t" (or suspend2ui_fbsplash -t ) to check that everything goes to plan. This runs the user interface in test mode. If it doesn't work here, it's unlikely to work when suspending.
- Suspend!
Troubleshooting:
On Fedora Core if you cannot compile userui due to
cannot find -lmng
error, install libmng-static package.
Other packages required: lcms-devel, ...
You can download compiled packages at http://mhensler.de/swsusp/.
Please report any bugs to either the suspend2-devel mailing list or bernard@blackham.com.au




