[Bug 139453] Re: colors are left on the screen after blanking with usplash enabled

Colin King colin.king at ubuntu.com
Mon Mar 17 10:56:14 UTC 2008


Removing usplash from the boot line shows that the vga console does work
correctly without usplash, the bug occurs if usplash is not removed.

I've gone through the tty and vgacon drivers and I am pretty certain it
is setting up the VGA DAC and palette correctly, so I suspect usplash
(or actually the svga or bogl graphics libraries) are interfering with
the console colour settings in some way.

After further investigation it appears if usplash is probably not
restoring the vga text mode correctly. Looking at the usplash sources:

1) in the svga usplash code usplash_svga_init() in usplash_svga.c does a
vga_setchipset() but does not restore the original setting in
usplash_svga_done().

2) usplash_svga_setmode() changes the mode but the original mode is not
restored in usplace_svga_done() either.

3) In  usplash_svga_init(), the current palette is fetched
gl_getpalette() after the call to vga_setchipset(). Not sure if this is
correct, since swapping chipset before getting the color palette may be
the wrong order to get the current VGA palette.  Also, the palette is
malloc()'d buy the malloc is not checked for a NULL return.

4) As for the bogl library version of the usplash code, I could not see
where the original palette is being restored, which concerns me as this
will mess up the console colours.

In summary, I think usplash needs tidying up first to make sure it is
restoring the screen back to it's correct chipset, mode and palette.
Then the code can be checked with my script to see if it is restoring
the color palette correctly.

I will mark this as a won't fix on the kernel as I believe this is a
usplash specific bug - since the underlying libraries are tinkering with
the vga palettes, modes and DAC.  If the fixed usplash is still showing
this bug, please resubmit this as a kernel bug.

-- 
colors are left on the screen after blanking with usplash enabled
https://bugs.launchpad.net/bugs/139453
You received this bug notification because you are a member of Kernel
Bugs, which is subscribed to linux-meta in ubuntu.




More information about the kernel-bugs mailing list