Important Announcement: Please read the latest status update for Fedora infrastructure (2008-08-22 1200 UTC). Additional details can be found in RHSA-2008-0855.
New SSH Fingerprints for Public Servers: Please verify SSH Fingerprints against https://admin.fedoraproject.org/fingerprints.

Features/BetterStartup

From FedoraProject

Jump to: navigation, search

Contents

Better Startup Experience (Graphical Boot Sequence)

Summary

The startup experience needs to be flicker-free, seamless and shiny. To do this we are getting rid of RHGB and writing a new program, Plymouth, that starts earlier (even before / is mounted!), doesn't require an X server, and gets rid of a lot of the noise during startup.

Plymouth will requires DRM kernel modesetting drivers to get pretty graphics, but will have a text mode fallback for systems without driver support.

Owner

Current status

F9 had kernel modesetting for Intel hardware. Ray has been working on a prototype rhgb replacement called Plymouth. It was put on hold while kernel modesetting was maturing, and has been revived after F9. Modesetting is again in flux, though, in rawhide, since there are two memory managers in play. These are the long anticipated TTM memory manager from tungsten graphics, and the newer GEM memory manager from Eric Anholt at Intel that supercedes TTM. Intel is currently targeting working Intel kernel modesetting driver on top of GEM by F10.

ATI recently released a kernel side atom parser to make radeon kernel modesetting (at least for r500 and higher) possible. Dave Airlie uses that parser to provide a GEM like api on top of the existing work that uses the TTM memory manager. Hopefully we'll have kernel modesetting for some ATI hardware by F10.

The current plymouth sources can be found here: http://gitweb.freedesktop.org/?p=plymouth;a=summary . There are plymouth packages in rawhide already, modesetting drivers, aren't, so most people won't be able to see graphical boot up yet. Having said that, we enable the text plugin by default now. Anyone using rawhide will see it, although it's sort of ugly and flickery. Live images now also run plymouth in their initrd.

The new startup sequence (including quiet kernel, quiet grub, plymouth, smooth transition to the login screen) has been demonstrated at the Red Hat Summit and was shown informally to various people at FUDcon.

Scope

Requires changes to grub, mkinitrd, initscripts, gdm, X, possibly other packages. rhgb will be replaced by Plymouth. The extent of this project is getting a graphical boot sequence that is polished and professional looking.

Boot up could be made faster, too, but that issue is orthogonal and should be tracked separately .

Test Plan

Dependencies

This feature depends on plymouth getting into F10. For other packages involved in realizing this feature, see Scope.

Details

For a smooth and shiny experience, we want

The fallback if mode-setting fails or is unavailable is text mode.

Timeline of the current bootup

biostext
grubgraphical
grub info4>text
kernel boot
initrd drivers
init
rhgbgraphical
text logintext
gdm3>graphical
gnome startup
user session

Plan for improving this

This lets us start with a blank screen in text mode, then a single switch to graphics mode, then an animation, then the login screen fades in.

bios3>text
grub
kernel boot
initrd drivers5>graphical
init
gdm
gnome startup
user session

One complication is support for encrypted disks. This may require us to ask for a password in the initrd, before we have X or toolkits. The proposal for acceptable input-handling (at least as far as keyboard layouts are concerned) is to write an xkb-to-console-converter.

Tasks

TODO

This requires:

This will have to wait until it works better. Eric Anholt, Keith Packard, and Jesse Barnes are working on it at Intel. The branch has currently been merged to master, so it shouldn't be much longer.

Contingency Plan

If things don't work out as expected, we can bring back rhgb from the dead.

Documentation

While plymouth won't need much in terms of end-user documentation, we eventually need to have developer documentation for

For now, all we have is the README in the plymouth git repository.

Release Notes

The release notes need to explain how to get to the grub menu by holding a key during power-on. Should also explain that the graphical mode of plymouth requires kernel modesetting and will only work on certain hardware (likely only intel for F10), or by forcing a vga mode on the kernel cmdline. Also, switching to detailed mode with Escape should be mentioned, along with the fact that boot warnings will be available via a statusicon on the login screen.

Comments and Discussion

See Talk:Features/BetterStartup