Plymouth Multi-head support
September 29, 2009
So it’s been a while since I’ve blogged.
This is just a short blog post to say that I landed multi-head support on plymouth master yesterday. More details here:
http://lists.freedesktop.org/archives/plymouth/2009-September/000188.html
What this means is the boot splash redraws itself once per monitor, in a way that looks good for the native resolution each monitor. Previously, we’d draw right on the fb console, which is cloned across all monitors. That made the splash have large black margins on some monitors, or look stretched.
One implication of this change is we now use libdrm directly when possible instead of going through the /dev/fb interface.
We still don’t do any accelerated rendering. We don’t really need it, since plymouth splashes are normally designed to be very simple (Think “cell phone splash” not “3D video grame”).
September 29, 2009 at 10:13 pm
Why don’t we need accelerated rendering ??
It would be nice to be able to create lightweight beautiful graphics on boot.
Remember Amiga boot demos even from floppy drives. With the technology we have now we should be able to do much better
October 1, 2009 at 1:07 pm
> Think “cell phone splash” not “3D video grame”
Does this mean that (just if someone really wants to, of course) 3D in kernel splash screen is feasible too somehow?
October 1, 2009 at 1:50 pm
Chris, we don’t need GPU accelerated renderering for lightweight beautiful graphics. Doing it in software is fast enough to do many interesting things (see the Fedora 10 boot splash for example).
Diego, it’s possible to get full 3D during boot up. It would require copying bits of mesa into initramfs and would require restructuring how plymouth works a bit.
Having said that, boot is something that’s not supposed to take a long time. In an ideal world we’d go from bios to instantly logged in. We can’t acheive that, yet, though, so plymouth is a way to add a little bit of polish during the waiting period. It’s not something the user should really “notice” so much as an independent part of the system, but instead it should just be part of turning the system on.
That’s why I’m a proponent of keeping things simple.
Also, note there is a cost to doing fancy things. Every megabyte you add to the initramfs is another megabyte that has to be decompressed before the computer starts booting and kept in memory while the machine is booting. Every animation and effect a splash renders uses machine resources.
You don’t want to end up in a situation where the boot splash significantly slows down boot up. That would be missing the mark, I think (and is a problem Fedora had with rhgb before plymouth).
October 2, 2009 at 8:29 am
Of course you’re right, I was just curious about the feasibility, nothing more. Thank you for the explanation!