Proposal: Integrated boot themes on LiveCDs and installations Author: Donnie Berkholz Premises 1) The progress bar and icons overlap, but don't move at the same rate. This is ugly. 2) The icons look childish, not slick, shiny or professional. 3) There's little integration between bootloader, bootsplash and *dm login screens, which results in a jarring boot process full of changes. Requirements From grub to actual login screen, what do people really need to see? They should be able to _assume_ services start successfully, so we may not need to display that. But we do want to deal with failures gracefully, and _not_ drop the user to text mode. Perhaps we can create some sort of window saying "Service X failed" during the bootsplash progress, or perhaps some sort of icon with a big red "X" across it. They need to know the computer hasn't frozen during the process, so we need some sort of motion. Classic ideas include dots or bars moving back and forth, rotating icons, or icons with something happening to them -- shining, etc. A shine flowing down the Gentoo "G" would be one idea, as if it's slowly being angled in one direction, or the light source is moving. Do they need to know how far along in the boot process they are? It helps in estimating how long until they get a real login screen. A real progress measure on the screen can help this instead of an unmeasurable flowing back and forth. But how specifically do they need to know? A few general stages may be enough -- for example, before "boot" runlevel, entering "boot" runlevel, entering "default" runlevel, almost ready to start X. Also, we're Gentoo so we should probably be using shiny new stuff like gfxboot, progress bars, etc. and displaying that we have the latest technology available. Ideas Create a thematic connection between a grub background and a more complex bootsplash background. The grub background will only look good with more solid colors [1-2]; lots of gradients look terrible [3-4]. The concept will use multiple blocks of solid colors. Possibilities are shades of purple, green, white and black. Another possibility with lots of potential is the gfxboot patches to grub, which originated with SuSE. As is typical for SuSE-originating packages, it seems to completely lack any sort of homepage. The gfxboot patch allows for grub animations, similar to an animated bootsplash [5-7]. This creates options such as a graphical countdown to the boot selection timeout, like disappearing or appearing dots or a progress bar. [5] contains a superb example of what gfxboot can do, and the author just posted it a couple of weeks ago for GoboLinux. Ubuntu's incorporated gfxboot for its next release, Dapper, and SuSE's used gfxboot since at least 8.1, a couple years ago. Some examples of gfxboot configurations are mirrored in my webspace [8]. The gfxboot patch hasn't reached the portage tree yet, but Bugzilla contains an ebuild with patches [9]. Proposed solution Create a new bootsplash theme to fix premises 1 and 2. Follow up with an on-theme gfxboot configuration -- it can be nearly the same as bootsplash. In addition, distribute optional matching themes with gdm, kdm and any other *dm they're contributed for. Don't default to them, however, except on LiveCDs. Grub will install the gfxboot theme and the example grub.conf will list it, as will the handbook. Since people write their own grub.conf files, this is as close as Gentoo gets to defaulting on. LiveCD: same isolinux, new bootsplash, new [gk]dm theme On-disk: install gfxboot theme, new bootsplash, install non-default [gk]dm themes. (Possibly default on the themes, if they're good?) Caveats Since grub-0.9x is only available for x86 and amd64, the same holds true for gfxboot. 1. http://blogs.sun.com/roller/page/paulj/20050511 2. http://www.linuxcdmall.com/vidalinux-screenshots-8.html 3. http://linux.softpedia.com/progScreenshots/GNU-GRUB-Screenshot-1092.html 4. http://www.linuxcdmall.com/redhat-screenshots-7.html 5. http://www.wotfun.com/pipermail/gobolinux-devel/2006-January/000507.html 6. http://www.wotfun.com/pipermail/gobolinux-devel/attachments/20060124/04ab77c1/gobo-splash-0001.jpg 7. http://clusterix.livecd.net/screen.php 8. http://dev.gentoo.org/~spyderous/splash/ 9. https://bugs.gentoo.org/show_bug.cgi?id=103272