Will plymouth allow for a nice boot experience with proprietary graphics drivers in future?

The new graphical bootloader introduced in 10.04 (plymouth) looks amazing until I enable proprietary drivers for my video card. I then get a horrible flashy monster of a boot experience, which I can cope with if I have to, but I'm sure would be offputting for newer users.

My understanding is that plymouth depends on features that currently aren't available in the proprietary drivers. My question is, is this likely to change, or should I just get used to 'one or the other' (i.e. a nice boot experience or a nice desktop experience, but not both)? Can we expect to see plymouth playing nice with proprietary graphics drivers in future, or is this solely reliant on work from the proprietary manufacturers?

5 Answers

You're asking a question that can only really be answered by the developers and decision makers at the companies making the hardware and the drivers.

Ultimately, it can be done but it requires some give on both sides of the fence. Nvidia, for example, claim they could do it but require some relaxation on the licensing of certain libraries.

From AaronP (nvidia staff):

The last time I talked to the developers working on it, they told me that the hooks necessary to implement kernel modesetting 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 modesetting possible for NVIDIA GPUs, then we'll look into it.

And again here:

Well, let me rephrase that... it was specifically designed to be incompatible with non-GPL drivers, at least according to Dave Airlie when I asked him about it a couple of months ago. I haven't actually looked at the code, myself.

That was two years ago... So no, this hasn't been moving along particularly fast. I fear there's probably more luck in getting X loaded up faster and just using XSplash.

But when you look at it from Nvidia's point of view, what does this feature really add for their users? Would they benefit more from 400 man-hours going into Xorg development or 400 hours going into making the boot sequence more pretty?

2

There is a fix for this:

  1. Edit /etc/default/grub (Press Alt-F2 and enter gksudo gedit /etc/default/grub)
  2. Find the line that looks something like #GRUB_GFXMODE=640×480
  3. Remove the '#' and change the resolution to your screen resolution (eg. GRUB_GFXMODE=1280x800)
  4. Save and close the file.
  5. Edit /etc/grub.d/00_header (Press Alt-F2 and enter gksudo gedit /etc/grub.d/00_header)
  6. Find the line gfxmode=${GRUB_GFXMODE}
  7. Add this line underneath: set gfxpayload=keep
  8. Save and close the file.
  9. Run Applications -> Accessories -> Terminal
  10. Enter sudo update-grub, enter your password if necessary and wait for it to finish.

Reboot and it should now look better, although boot speed may be slightly decreased.

3

Nouveau is picking up 3d acceleration with Gallium3D as well as proper power management right now. Even if the GPL-only-symbols thing doesn't get fixed, nVidia proprietary drivers will not be alone in providing a 'nice desktop experience' for much longer.

Having Nouveau at this level of functionality will mean 3d acceleration working on LiveCDs, faster boot times, better security, driver-installation-free ubuntu installs, and so on. Gaming performance will probably take longer. --but for Compiz, I'd say depending on your nVidia gpu, you're looking at 11.04.

I had the same problem after installing the Nvidia drivers. This is a known problem and there's a bug report for this: Bug #540801

Comment #2 on this bug report describes a workaround for this which worked for me:

The problem here is the graphics drivers; on your system they're taking longer to load than it takes to check and mount the filesystem - so there's no reason to start the splash screen, since we can already start X.

On HDD-based systems this is worse because we do the ureadahead phase before loading drivers; thus it can take a long time for a splash to appear.

One "solution" is to use the initramfs and start plymouth as a critical step:

echo FRAMEBUFFER=y > /etc/initramfs-tools/conf.d/splash

update-initramfs -u

But that introduces a significant delay into boot just to get the splash screen up for the rest of it.

If you run the above two commands from the command-line (as root) and restart your system, you should have your nice Plymouth boot screen back. The downside however, is a that your system takes a little longer to load, but in my opinion that's a small price to pay. My system still boots quite fast.

In the case of a low Plymouth resolution; there's a way to fix that as well: Changing Bootup Resolution (Plymouth)

I know this has been answered already, but I came across this the other day and it applies rather well:

This worked with no problems for me. It was super easy as well.

1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like