While older versions of software suspend include the functions for displaying the progress informations on suspend and resume into the kernel, newer versions will do this in userspace. This is a more flexible way to customize the suspend/resume process and adds the possibility to show the progress graphicly on the framebuffer console with own pictures.
If you have successfully setup software suspend on Fedora Core 3, Core 4, Core 5, Core 6 or Fedora 7, 8,9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 or 20, or RHEL 5 and got it running, the next step will provide you with the information how to use the _User UI. For Core 3 this step is optional, but since the current Core 4 versions use a newer software suspend it is required here (at least if you want to have any progress information and not a black screen without seeing what is going on). If you followed the installation for Core 5, Core 6, Fedora 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 or 20 or RHEL5 using yum, you have the text-based version already installed but might want to setup the graphical version too.
I provide packages with the needed tools, so the setup should be very easy. You need at least to
fetch the text-ui package. If you want to use the
graphical version on the framebuffer console, and you are using a Fedora version older than 17, you
also need to fetch the fbsplash-ui package and one of the themes (if you do not want to create your
own, or testing the setup first).
(For other distributions than Fedora Core 3, 4, 5, 6, 7, 8,
9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19 or 20 or RHEL 5 or if you plan to rebuild the packages you can
fetch the Source RPM.
After downloading the needed packages please install them with
# rpm -ivh swsusp2-userui-* (Core 3+4)
# rpm -ivh userui-suspend2-* (Core 5-7, RHEL 5)
# rpm -ivh userui-tuxonice-* (Fedora 8-20)
Please also make sure that you have one of my recent kernels which includes software suspend 2.1.8.6
or newer.
To use the graphical version of the progress information you need to activate the framebuffer. This is usually done by adding a vga= parameter to the kernel commandline, and maybe a video= parameter for a specific graphic adapter. If you are unsure about this please have a look at the Framebuffer HowTo. In the following I will assume that you have a 1024x768 resolution with 24 bits color depth. In that case you have to add vga=0x317 to the command line. If you have an Intel 810/815/855 chipset you should also add something like this: video=i810fb:vram:2,xres:1024,yres=768,bpp:24,hsync1:30,hsync2:49,vsync1:40,vsync2:70,accel,mtrr. On my notebook with NVidia chipset and a 1280x800 resolution only vga=0x361 needs to be added.
Starting with Fedora 18 and the usage of grub2, the setup of the framebuffer is a bit simpler. Just edit your /etc/default/grub and insert a line "GRUB_GFXMODE=1600x900 (using the desired solution of course). Make sure that any existing configuration for GRUB_TERMINAL is commended out or does include gfxterm. After making these changes just run # grub2-mkconfig -o <path to your grub.cfg>. For more information on how to setup grub2 look at the Fedora Wiki.
The recommended way is to first setup the framebuffer, and then trying the fbsplash way of
suspending and resuming. So if you do not use the framebuffer at the moment, but want the graphical
version please do the following:
# vi /etc/grub.conf (edit your boot loader and add vga=0x317
video=i810fb:vram:2,xres:1024,yres=768,bpp:24,hsync1:30,hsync2:49,vsync1:40,vsync2:70,accel,mtrr
to the kernel command line (skip the video=-parameter when you have a
different adapter, or use a setup matching your graphiccard). For lilo edit /etc/lilo.conf and run lilo afterwards).
Please reboot and make sure the framebuffer works (you should see a little penguin in the upper left
corner of your screen for some seconds).
Now it is time to test if your system is able to run the new UI tools. Switch to a text console and
log in as root. Now run:
# /sbin/suspend2ui_text -t (if not using the framebuffer) or
# /sbin/suspend2ui_fbsplash -t (if you have setup the framebuffer)
If this works it is time to setup everything for real usage.
Since Fedora 17 there is only one single binary with all functionality provided. You can test it
there with:
# /sbin/tuxoniceui -t (if not using the framebuffer) or
# /sbin/tuxoniceui -f -t (if you have setup the framebuffer).
To enable the new way of showing the progress information on suspending you only have to edit your
/etc/hibernate/tuxonice.conf. You should add this line (if not
already there):
ProcSetting userui_program /sbin/tuxoniceui -f (or /sbin/tuxoniceui for the textversion).
On Fedora 16 and older you use:
ProcSetting userui_program /sbin/suspend2ui_fbsplash (or /sbin/suspend2ui_text for the textversion).
On resume the User UI will start just after the kernel was copied back. However, if you want to
have the progress information from the beginning (eg. also for the first couple of seconds), you
have to add the UI-program (and the theme in case of fbsplash) to your initrd. There were some
deadlock problems in the past, so this is not the default on Core 3 and 4. However, with current
Core 4 (sorry, not on Core 3) kernels this works fine, and in Core 5, 6, 7, 8, 9, 10, 11, 12, 13,
14, 15, 16, 17, 18, 19 and 20 and RHEL 5 it is the default anyway.
The mkinitrd-suspend ("swsusp2-mkinitrd" on Core 3+4) package already includes support for
having the early UI, however it is recommended to use at least version 5.x.x for this (yes, it works
on Core 4, but you will need to install several updated RPMs from rawhide, so this should only be
done if you know what you are doing).
The following section is only relevant for advanced users, and really optional. Doing the following will only give you the progress information on resume some couple of seconds earlier and might not worth the trouble (starting with Fedora Core 5 it is already setup this way).
This section should be skipped. It contains lots of deprecated information and will be removed soon. Please follow the instructions on the previous page on how to edit the initrd or patching the mkinitrd program. You can also use this script for patching the initrd. Choose one of the following ways for this step:
--- /sbin/mkinitrd.dist 2005-02-06 12:39:48.000000000 +0100 +++ /sbin/mkinitrd 2005-05-07 13:04:28.000000000 +0200 @@ -638,6 +638,13 @@ echo "mount -t sysfs none /sys" >> $RCFILE fi +echo "echo Activating software suspend" >>$RCFILE +inst /sbin/suspend2ui_fbsplash "$MNTIMAGE/bin/suspend2ui_fbsplash" +echo "echo /bin/suspend2ui_fbsplash > /proc/software_suspend/userui_program" >>$RCFILE +echo "echo > /proc/software_suspend/do_resume" >>$RCFILE +mknod "$MNTIMAGE/dev/fb0" c 29 0 +cp -r /etc/splash "$MNTIMAGE/etc" + if [ -n "$USE_UDEV" ]; then if [ -n "$UDEV_TMPFS" ]; then cat >> $RCFILE <<EOF
Go to the Download section.