# Uvesafb & bootsplash

## MadEgg

I have been using bootsplash/gensplash for numerous generations of kernels. Now something has changed once again, apparently gensplash has been replaced by uvesafb somehow. The splash option is not available in the kernel config anymore.

Now somewhere on this forum (https://forums.gentoo.org/viewtopic-t-602789.html) I found a solution which was convering my initrd image. Now I've just done that.

I partially got my bootsplash back, but only after a while. When my machine boots, I first get the kernel command line and some things abouts the kernel being unpacked in text mode. After that I get a graphical screen with the tux logo in the upper left corner. It then takes a couple of seconds before the bootsplash actually starts, this is when the splash init-script is executed I suppose.

Before I never got to see the tux-logo, but went right away to the bootsplash. It then took a couple of seconds before it started updating, probably when the splash init-script is executed. How do I get this old behaviour back?

----------

## daithi

 *MadEgg wrote:*   

> The splash option is not available in the kernel config anymore.
> 
> 

 

"Graphics Support -> Console display driver support -> Support for the Framebuffer Console Decorations"

This is fbcondecor, the kernel component. Allows you to get the splash screen approx 1 second after your bootloader. It decorates only TTY1.

 *MadEgg wrote:*   

> I partially got my bootsplash back, but only after a while. When my machine boots, I first get the kernel command line and some things abouts the kernel being unpacked in text mode. ... this is when the splash init-script is executed I suppose.
> 
> 

 

This is fbsplash, the userspace component. You do not need fbcondecor for this to work, just a kernel with a framebuffer device. With fbsplash and without fbcondecor the splash screen will not appear to load until init 3, when the script runs. This decorates all geTTYs with the theme specified in the config file in /etc.

 *MadEgg wrote:*   

> 
> 
> How do I get this old behaviour back?

 

Enable fbcondecor in the kernel, boot this kernel, remerge the new splashutils (with the kernel that has support for fbcondecor not with the ``old'' kernel), regenerate your initrd and reboot. Should do it.

----------

## neiljw

 *MadEgg wrote:*   

> I have been using bootsplash/gensplash for numerous generations of kernels. Now something has changed once again, apparently gensplash has been replaced by uvesafb somehow. The splash option is not available in the kernel config anymore.

 

You would do best to have a look here.

----------

## magowiz

I have the same issue, I followed spock's guide for uvesafb but now I've got a doubt : if I configure the kernel to include the v86d initram into the kernel, how can I generate the splashutils' initram to include fbcondecor_helper and the theme? 

If I remove usr/initramfs_data.cpio.gz and regenerate it with splash_geninitramfs I lose v86d and uvesafb doesn't work anymore, on the other hand if I don't replace initramfs_data.cpio.gz the theme starts 3-4 seconds after and the decorations (also on the first terminal) starts only when fbcondecor starts. What should I do?

EDIT: I solved generating the splash initramfs as a separate file and passing it using initrd to grub, I think that I should solve also using multiple files in kernel configuration as initramfs source, I read that it's possible, I should try anyway.

----------

## zAfi

it took me some time to get the trick, but this is how i did it (changing from fbsplash/vesafb-tng to uvesafb/fbcondecor):

(assuming /usr/src/linux points to your 2.6.23-kernel, in my case 2.6.23-gentoo-r3)

```

su

cd /usr/src/linux

make xconfig
```

```
Device Drivers --->

  Connector - unified userspace <-> kernelspace linker

    <*> Report process events to userspace

Device Drivers  --->

  Graphics support  --->

    [*] Support for frame buffer devices

   <*>  Userspace VESA VGA graphics support (if you don't see this one but "VESA VGA graphics support" return to this point later on)

    < > VESA VGA graphics support (you don't need this one!)

        

       Console display driver support  --->

        [*]    Video mode selection support

       <*>   Framebuffer Console support

        [*]    Support for the Framebuffer Console Decorations

Device Drivers --->

  Block devices  --->

     <*> RAM disk support

     (4096) Default RAM disk size (kbytes)

      [*]   Initial RAM disk (initrd) support
```

Save to .config.

If you weren't able to select "Userspace VESA VGA graphics support" at the Graphics section before go take a look now, it should be there.

```
emerge --oneshot -av klibc && emerge -av v86d
```

Now reenter the Kernelconfig and add /usr/share/v86d/initramfs

```
General setup --->

   [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support 

   ( /usr/share/v86d/initramfs ) Initramfs source file(s)
```

Now rebuild your kernel 

```
make && make modules_install

cp arch/i386/boot/bzImage /boot/2.6.23-gentoo-r3
```

.

As I'm a "stable" user and the last stable splashutils version is "splashutils-1.5.2.1" and that version has no fbcondecor useflag I had to change to the latest unstable version.

```
echo "media-gfx/splashutils ~x86" >> /etc/portage/package.keywords

echo "media-gfx/splashutils fbcondecor" >> /etc/portage/package.use

emerge -av splashutils

rc-update del splash

rc-update add fbcondecor

vi /etc/conf.d/fbcondecor

#uncomment the line "FBCONDECOR_TTYS="0 1 2 3 4 5 6" "
```

Now we're almost done,

```
mount /boot

splash_geninitramfs -v -g /boot/fbsplash-livecd-2007.0-1280x1024 -r 1280x1024 livecd-2007.0

vi /boot/grub/grub.conf
```

and change your grub.conf to fit the new scheme:

 *OLD LAYOUT wrote:*   

> title=Gentoo Linux - create your own world! (2.6.23-gentoo-r3)
> 
> root (hd0,1)
> 
> kernel /2.6.23-gentoo-r3 root=/dev/hda5 video=vesafb:ywrap,1280x1024-32@75,mtrr:3 splash=verbose,theme:livecd-2007.0 console=tty1
> ...

 

 *NEW LAYOUT wrote:*   

> title=Gentoo Linux - create your own world! (2.6.23-gentoo-r3)
> 
> root (hd0,1)
> 
> kernel /2.6.23-gentoo-r3 root=/dev/hda5 video=uvesafb:ywrap,1280x1024-32@75,mtrr:3,splash=verbose,theme:livecd-2007.0 console=tty1
> ...

 

Now reboot and pray. It should!!! work, if not, retry the steps. I hope I did get the order right, I followed the guide at the wiki (which didn't work for me) and I had to do the steps at a different order but I think this order should be the fastest one. So if it doesn't work retry the kernel settings section and the grub.conf section. I hope I could help a little bit.

At the very end, if you got it working you can change "console=tty1" to "console=/dev/tty1". It changes the startlayout for me, why it does that I have absolutely no clue, but maybe somebody of you can figure it out.  :Wink: 

Well...I hope I didn't forget anything!  :Razz:  Good luck!!!

----------

