Seamless Boot Experience for OpenSUSE Factory. ============================================== With KMS (kernel mode setting) and a KMS aware X driver we can greatly improve the boot experience on OpenSUSE and offer the user a seamless transition from the moment the kernel takes over graphics to the login screen of the display manage. Currently there are a few pieces missing on Factory to do this, I've created a project on home:eeich:BootProj which adds those pieces to the respecitve packages. Please add: http://download.opensuse.org/repositories/home:/eeich:/BootPrj/openSUSE_Fact... to try this out. For the implementation I've looked at the Plymouth project to see if this is already feasable to use. The feature of Plymouth are: * It provides a fully user space implemantation of a boot splash for a system running in KMS. * It supports various splash plugins. * It provides a way to enter passwords duing the boot process. I found some deficiencies: * It falls back to text mode (no splash image) in VESA-fb mode (ie, when KMS isn't active). * It doesn't allow control over the progress bar. * I the password entry facility was working unreliably for me. * It requires considerable modifications to initrd and the bootup scripts. All in all Plymouth doesn't appear to be in a stage where I feel comfortable to deploy it on the OpenSUSE, yet. Instead I decided to check what needed to be done to support "flicker free" boot using the kernel based OpenSUSE bootsplash. Here is what I had to do: 1. Extend the OpenSUSE bootsplash /proc/splash syntax to a. support copying a bootsplash image from one vt to another: echo "copy 0 6" > /proc/splash copies the splash image from vt1 to vt7. b. turn off the progress bar entirely echo "@6 show -1" > /proc/splash turns off the progress bar on vt7. c. finally bump the version number on the bootsplash code so that the presence of those extensions can be checked, The required patch is contained in the various kernel packages in the BootProj project in my OBS home. 2. Add support for 'rootless' X: with these patches the Xserver will start without an initial root background ie. it will use whatever data is presently in the framebuffer. This feature can be enabled with the '-nr' command line option. Patches for the core server and the Intel driver already existed in the Moblin project. I ported them over to the latest version of X and fixed some bugs. The required changes are part of the X11:XOrg package and thus in Factory already. 3. Extend the displaymanager startup script to a. test for the presence of the 'copy' command, and if present copy the bootsplash image to vt7 if the displaymanager is either kdm4 or gdm. This patch is part of the xorg-x11 package and already checked into X11:XOrg (and thus Factory). 4. For kdm4 I modified the name of the background image in the SUSE theme to SUSEBackground.jpg and created a soft link from Background.jpg to that file in the same directory. [Package kdebase4-openSUSE_11.2] The kdm sysconfig script now checks for the presence of the bootsplash image, if one exists, it creates a link from Background.jpg to this image (size 800x600). Otherwise it will restore the link to SUSEBackground.jpg. It also checks for the presence of KMS (cat /proc/fb | grep -q drm) and adds the '-nr' command line option if KMS is enabled. [Package kdebase4-workspace] So far these steps have only been done for kdm4. gdm requires more enxtensive changes as it doesn't allow to configure additional command line options for the Xserver. Also I've not yet found out how to modify the gdm background image. Please feel free to beat me on that ;) Cheers, Egbert. -- Egbert Eich (Res. & Dev.) SUSE LINUX Products GmbH X Window System Development Tel: +49 911-740 53 0 http://www.opensuse.org ----------------------------------------------------------------- SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG N�rnberg) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-factory+help@opensuse.org