A few weeks ago the decision was mooted to switch Ubuntu 10.04 Lucid Lynx from USplash to Plymouth.
The decision was made in light of the fact that the boot transitions between boot and the X-Server still don’t provide a flicker-free boot as hoped. Plymouth, on the other hand, already sits as default boot-manager in many major distributions (such as Fedora) with a weighty amount of development behind it.
Plymouth gives a flicker free, speedy and visually stunning boot using something called Kernel Mode Setting. Providing your hardware supports it…
The Fedora wiki paints KMS like so: –
Currently, most graphics modes are initialized during the X server startup. Kernel Mode setting (referred to as KMS hereafter) moves this process from the X server’s DDX drivers to the kernel, and it enables several new features including:
- Improved Graphical Boot
- Faster fast user switching
- Seamless X server switching
- Graphical panic messages
Here’s a lovely video of Plymouth at work in Fedora: -
Plymouth requires, at a minimum, full KMS support. Fedora can happily supports all three major graphics types, Intel, Nvidia & ATi, but there is a price.
Firstly, on an Ubuntu related note, it will be up to the kernel team to decide whether to support Plymouth for anything other than Intel chipsets. The hope is to use the the 2D-only "Nouveau" NVidia driver as default in Lucid for Nvidia chipsets.
Secondly if you like fancy 3D compiz, VDAPU video playback and all of the other niceties that come with using the official Nvidia driver then you cannot have the nice Plymouth boot. If you want a nice boot with Plymouth you cannot have the power of a 3D desktop. Capiche?
KMS setting works, as you can tell, by using the graphics driver present in the kernel. The closed-source binary drivers from nvidia, for example, do not support KMS and nor does KMS support them.
This isn’t Ubuntu’s fault and to a greater extent nor is it Nvidia’s. They have a right to have closed source drivers to preserve their business interests etc, however sadly the trade-off hurts desktop users and desktop users only.
Nvidia Employee "Aaron P" answered a Fedora users’ question regarding KMS support in Nvidia drivers. He gave this reply: –
The last time I talked to the developers working on it, they told me that the hooks necessary to implement kernel mode setting were exported to GPL modules only, and therefore are not usable by the NVIDIA driver.On the other hand, that was a while ago and I haven’t looked at it since. If the kernel developers are willing to work with us to make kernel mode setting possible for NVIDIA GPUs, then we’ll look into it.
ATI users don’t get off free either – users of ATi hardware in Fedora have noticed a severe decrease in performance for the sake of having KMS support.
Regardless, i am sure that the (very excellent) Ubuntu Design team well give non-KMS users something nice to look at whilst booting, but judging by the wording from the boot-experience team over on the wiki, don’t get too excited about the aesthetics of it!
"The fallback case for non-KMS described below assumes that the Design team remain happy with the “reduced look and feel” for those systems. …the experience will be reasonable."
What a way to sell it! =P
Of course, in all reality a boot is a boot and non-KMS enabled hardware will display something similar to the old Ubuntu USplash.
Of note, there are ways to get Plymouth "working" with the binary Nvidia driver however they will not provide a flicker free or elegant boot as they would if they were KMS enabled.
Note: This will be replacing USplash (the white Ubuntu icon you see for a few seconds). After Plymouth has done its job it will then seamlessly transition into XSplash. This post is asking what will the cost be to those who don’t have KMS-friendly hardware. If all of the focus is levied on improving things for those with KMS support, what will the rest of us be getting? What about Lucids “dream” of a 10 second boot? Will that only be possible using KMS? Etc.
There is an option for Plymouth to replace XSplash as well but this hasn’t yet been taken advantage of.