# fbconcoder - how to set up splash

## Uzytkownik

I have problem with setting up splash.

My content of initrd (although when I generated by splash_geninitrd I get the same results):

```
dir   /bin 0755 0 0

file  /bin/busybox /bin/busybox 0755 0 0

file  /bin/resume /usr/lib/suspend/resume 0755 0 0

dir   /dev 0755 0 0

dir   /dev/fb 0755 0 0

dir   /dev/misc 0755 0 0

dir   /dev/vc 0755 0 0

nod   /dev/console 0600 0 0 c 5 1

nod   /dev/null 0777 0 0 c 1 3

nod   /dev/snapshot 0660 0 0 c 10 231

nod   /dev/tty0 0620 0 0 c 4 0

dir   /etc 0755 0 0

dir   /etc/splash 0755 0 0

dir   /etc/splash/gentoo 0755 0 0

dir   /etc/splash/gentoo/images 0755 0 0

file  /etc/splash/gentoo/images/silent-1024x768-256.png /etc/splash/gentoo/images/silent-1024x768-256.png 0644 0 0

file  /etc/splash/gentoo/images/silent-1024x768.jpg /etc/splash/gentoo/images/silent-1024x768.jpg 0644 0 0

file  /etc/splash/gentoo/images/verbose-1024x768-240.png /etc/splash/gentoo/images/verbose-1024x768-240.png 0644 0 0

file  /etc/splash/gentoo/images/verbose-1024x768.jpg /etc/splash/gentoo/images/verbose-1024x768.jpg 0644 0 0

file  /etc/splash/gentoo/1024x768.cfg /etc/splash/gentoo/1024x768.cfg 644 0 0

file  /etc/splash/luxisri.ttf /etc/splash/luxisri.ttf 644 0 0

file  /etc/suspend.conf /etc/suspend.conf 0644 0 0

dir   /lib 0755 0 0

dir   /lib/splash/proc 0755 0 0

dir   /lib/splash/sys 0755 0 0

dir   /root 0700 0 0

dir   /sbin 0755 0 0

file  /sbin/fbcondecor_helper /sbin/fbcondecor_helper 0755 0 0

slink /sbin/splash_helper /sbin/fbcondecor_helper 0755 0 0

file  /init /usr/src/init 0755 0 0

```

My /init file:

```
#!/bin/busybox ash

local X ROOT RUNLEVEL

# Preliminary stuff.

mkdir -p /proc /sys /mnt

mount -t proc proc /proc

mount -t sysfs sysfs /sys

mdev -s

# Try to resume. This never returns if it succeeds.

resume

# Parse the command line for relevant options.

for X in `cat /proc/cmdline`

do

        case "$X" in

                root=*) ROOT=${X#root=} ;;

                [0-6Ss]) RUNLEVEL=${X} ;;

        esac

done

# Mount and switch root.

mount -o ro ${ROOT} /mnt

umount -f /sys  || umount -l /sys

umount -f /proc || umount -l /proc

exec switch_root /mnt /sbin/init ${RUNLEVEL}
```

My kernel arguments (those important[/code]): video=radeonfb console=tty1 splash=verbose,theme:gentoo 

Kernel statuups normally resumes/suspends normally (in 1024x768) but it do not display anything special.

----------

## VinzC

```
video=radeonfb console=tty1 splash=verbose,theme:gentoo 
```

Have you followed spock's guide? Next post the listing of what you have under /etc/splash/gentoo. You should have under /etc/splash a set of directories that belong to the themes you installed (e.g. media-gfx/splash-themes-livecd-2007.0-r2). The name of one of these directories must be passed as an argument to the kernel as the theme name.

----------

## Binkerton

I found that this helped alot

http://www.tyr.cz/htdocs/tyr/xslt-blog/article.html?article=fbcondecor

additionally setting the screen depth and resolution was a little tricky.

----------

## Uzytkownik

 *VinzC wrote:*   

> 
> 
> ```
> video=radeonfb console=tty1 splash=verbose,theme:gentoo 
> ```
> ...

 

1. So the only fb device supporting fbsplash is uvesafb? If yes - why?

2. No - I based on gentoo wiki. 

3. I included in the initrd what was generated by splash_geninitrd (with proper options - such as resolution and theme). All files in initrd are listed above. Other files are only different resolutions and themes.

4. splash=verbose,theme:gentoo looks like 'passing as an argument to the kernel'.

----------

## VinzC

Uvesafb is certainly not the only one framebuffer console driver [that supports splash screen]. It's a cross-platform driver as vesafb was Intel only. But you didn't report if you did install v86d and klibc. Also I'm not sure that the splash driver will select the appropriate splash screen without indicating the resolution on the kernel command line. It's obvious that your kernel receives arguments; in cases that wasn't clear, the theme: argument value just must match one of those directories present in the /etc/splash...

----------

## Uzytkownik

 *VinzC wrote:*   

> Uvesafb is certainly not the only one framebuffer console driver [that supports splash screen]. It's a cross-platform driver as vesafb was Intel only. But you didn't report if you did install v86d and klibc. Also I'm not sure that the splash driver will select the appropriate splash screen without indicating the resolution on the kernel command line.

 

The problem is only at startup (unless I misunderstood how flashscreen work) - init script (/etc/init.d/fbcondecor) works.

I did installed v86d and klibc (which was pulled by deps anyway). Radeonfb selects proper screen resolution automatically. So the problem is not with setting fb, not i improper theme installation. It is about setting splash screen at the early stage - i.e. in intrd.

----------

## VinzC

Please try uvesafb first. If it works, then you'll switch to readonfb.

----------

## Uzytkownik

 *VinzC wrote:*   

> Please try uvesafb first. If it works, then you'll switch to readonfb.

 

It don't work. Kernel loads sets the screen size correctly but the image is started when it is started by /etc/init.d/fbconcoder.

----------

## VinzC

I think I remember uvesafv must be the only one framebuffer console driver. There must be no other framebuffer driver enabled built-in or as a module. The console switching to the appropriate resolution makes me think radeonfb is still present and taking control.

----------

## Uzytkownik

 *VinzC wrote:*   

> I think I remember uvesafv must be the only one framebuffer console driver. There must be no other framebuffer driver enabled built-in or as a module. The console switching to the appropriate resolution makes me think radeonfb is still present and taking control.

 

"The console switching to the appropriate resolution" == resolution given as parameter.

Anyway I compiled-out radeonfb - still the same effect.

----------

