# new fbsplash-0.9.2 splashutils-1.1.9.1

## ruomad

Hello

I'm trying to get working the last gensplash version and I can't get it to work.

There seems to be a lot of issues, some might be related to my use of udev.

Anyway I would like to exchange w/ someone who has either succeedeed or tried...

Thanks in advance

bruno

----------

## Imago

it tried it too, but also didnt manage to get it work properly.

what works is the silent splash screen(the fadein effect is really nice  :Wink:  ), but only if passing 'quiet' to the kernel parameters otherwise the boot messages were written over the splashscreen.

Switching to verbose mode by F2 also didnt work. 

Neither i get the nice console with background image. If starting with fbsplash in verbose mode, i didnt get any background image.

btw it makes some trouble if you have extra partitions for /usr and /var as I have.

It needs the programs fgconsole, tail and chvt available before other partitions are mounted. So i copied them to /bin. Further it want to mount an ramfs at /var/cache/splash before all your partitions are mounted, which of course doesnt work. So I changed it in /sbin/splash-functions.sh to use /splash instead.

I post if I get more things to work  :Wink: 

//edit.

progress bar doesnt work, too in silent made.

CU

 Imago

----------

## ruomad

Well thank you. I made the same observations as of /var and /usr not being mounted and need of the programs you mention, and also hacked splash-functions to get through (copy binaries to another location, mounting fbsplash to another location)

I didnot get any image at all,neither in verbose or in silent mode, just the silent mode seems to make my background red, it stops when it switches to verbose (f2 doesn't work either)

I 'll keep this thread informed of my progresses if any

 :Confused: 

----------

## ruomad

I discovered as well that /var/cache/splash/.splash is harcoded in (splash.h). I changed this to my location but still no luck. it just says it cannot load png image (my backgrounds). I suspect it might be related to radeonfb ?? but it sure did work with 0.9.1

----------

## Imago

I finally got it working.

thx for the tip with the hardcoded path  :Wink: 

What I have done further was to copy /usr/share/fonts/TTF/luxisri.ttf to /etc/splash, as fbsplash uses it as default font and expects it there.

CU

 Imago

----------

## ruomad

yes i did it as well replacing radeonfb with vesafb

It seems to be impossibke to load the png images with radeon fb... why ?

the rest works 

Will try vesafb-tng

----------

## Imago

hmm im using radeonfb as well, but i have jpegs as background images.

Never tried with pngs.

CU

 Imago

----------

## ruomad

well don't you have :

pic=/etc/splash/emergence/images/verbose-1400x1050.jpg

silentpic=/etc/splash/emergence/images/silent-1400x1050.jpg

pic256=/etc/splash/emergence/images/verbose-1400x1050-240.png

silentpic256=/etc/splash/emergence/images/silent-1400x1050-256.png

the last ones are the problem and I can't replace them by the jpegs

----------

## ruomad

well I got it to work with radeonfb.

Problem was depth (default is 8bpp) so I had to specify on kernel cmdline video=radeonfb:1400x1050-16

Then images load (it's the jpeg ones AFAIK) because the pngs only are used for 8bpp (am I right ?)

Still these don't load

And I still get warnings about dependencies at boot

----------

## ruomad

Hello again,

I got rid of the messages at startup.

splash_cache_prep was trying to list services in the empty ${SOFTLEVEL}

so I change

Here is the patch of splash-functions (splashutils-gentoo)  :

```
diff -Nru a/splash-functions.sh b/splash-functions.sh

--- a/splash-functions.sh       2005-03-16 11:34:55.764466624 +0100

+++ b/splash-functions.sh       2005-03-16 11:40:22.355817192 +0100

@@ -19,11 +19,11 @@

 # values for spl_cachetype are 'tmpfs' and 'ramfs'. spl_cachesize

 # is a size limit in KB, and it should probably be left with the

 # default value.

-spl_cachedir="/var/cache/splash"

+spl_cachedir="/ubin/splash"

 spl_cachesize="4096"

 spl_cachetype="tmpfs"

-spl_fifo="/var/cache/splash/.splash"

-spl_pidfile="/var/cache/splash/daemon.pid"

+spl_fifo="${spl_cachedir}/.splash"

+spl_pidfile="${spl_cachedir}/daemon.pid"

 # This is a little tricky. We need depscan.sh to create an updated cache for

 # us, and we need it in our place ($spl_cachedir), and not in $svcdir, since th

e

@@ -196,7 +196,7 @@

        if [[ ! -e ${spl_cachedir}/levels || \

                  ! -e ${spl_cachedir}/svcs_start || \

                 "$(head -n1 ${spl_cachedir}/levels)" != "${BOOTLEVEL}/${DEFAULT

LEVEL}" || \

-                "$(tail -n1 ${spl_cachedir}/levels)" != "$(stat -c '%y' /etc/ru

nlevels/${BOOTLEVEL})/$(stat -c '%y' /etc/runlevels/${DEFAULTLEVEL})" || \

+                "$(/ubin/tail -n1 ${spl_cachedir}/levels)" != "$(stat -c '%y' /

etc/runlevels/${BOOTLEVEL})/$(stat -c '%y' /etc/runlevels/${DEFAULTLEVEL})" || \

                 "$(stat -c '%y' ${spl_cachedir}/deptree)" != "${h}" ]]; then

                echo $(splash_svclist_update "start") > ${spl_cachedir}/svcs_sta

rt

        fi

@@ -461,7 +461,7 @@

 }

 splash_get_mode() {

-       local ctty="$(fgconsole)"

+       local ctty="$(/ubin/fgconsole)"

        if [[ ${ctty} == "${SPLASH_TTY}" ]]; then

                echo "silent"
```

and a small one for splash (splashutils-gentoo) :

```
diff -Nru a/splash b/splash

--- a/splash    2005-03-16 11:48:10.249686512 +0100

+++ b/splash    2005-03-16 11:48:31.871399512 +0100

@@ -95,7 +95,7 @@

        paint_progress

 elif [ "$1" == "verbose" ]; then

        if [[ "$(splash_get_mode)" == "silent" ]]; then

-               /usr/bin/chvt 1

+               /ubin/chvt 1

        fi

 else

        if [[ "$(splash_get_mode)" == "silent" ]]; then
```

Of course /ubin directory is just a temp hack.

I added fgconsole and tail binaries to this /ubin/directory which is also a hack.

Last is I replace a hardcoded directory in splash.h (main splashutils package) :

```
diff -Nru a/splash.h b/splash.h

--- a/splash.h  2005-03-16 12:09:22.773233528 +0100

+++ b/splash.h  2005-03-16 12:09:41.154439160 +0100

@@ -9,7 +9,7 @@

 #define MAX_ICONS      512

 #define SPLASH_DEV     "/dev/fbsplash"

-#define SPLASH_FIFO    "/var/cache/splash/.splash"

+#define SPLASH_FIFO    "/ubin/splash/.splash"

 #define TTY_SILENT     8

 #define TTY_VERBOSE    1

```

And I had alsto to copy luxisri.ttf in /ubin.

It works.... but with not in 8bpp mode (default for radeonfb)

Thanks !!

Bruno[/code]

----------

## John5788

is this bug reported to bugzilla? im having the same problems and im sure others do too.

----------

## ruomad

Sorry for this but the patch in my last post should have been (in accordance to explanations) :

```
diff -Nru a/splash-functions.sh b/splash-functions.sh

--- a/splash-functions.sh       2005-03-16 21:49:45.211672528 +0100

+++ b/splash-functions.sh       2005-03-16 21:47:54.027575080 +0100

@@ -19,11 +19,11 @@

 # values for spl_cachetype are 'tmpfs' and 'ramfs'. spl_cachesize

 # is a size limit in KB, and it should probably be left with the

 # default value.

-spl_cachedir="/var/cache/splash"

+spl_cachedir="/ubin/splash"

 spl_cachesize="4096"

 spl_cachetype="tmpfs"

-spl_fifo="/var/cache/splash/.splash"

-spl_pidfile="/var/cache/splash/daemon.pid"

+spl_fifo="${spl_cachedir}/.splash"

+spl_pidfile="${spl_cachedir}/daemon.pid"

 # This is a little tricky. We need depscan.sh to create an updated cache for

 # us, and we need it in our place ($spl_cachedir), and not in $svcdir, since the

@@ -196,7 +196,7 @@

        if [[ ! -e ${spl_cachedir}/levels || \

                  ! -e ${spl_cachedir}/svcs_start || \

                 "$(head -n1 ${spl_cachedir}/levels)" != "${BOOTLEVEL}/${DEFAULTLEVEL}" || \

-                "$(tail -n1 ${spl_cachedir}/levels)" != "$(stat -c '%y' /etc/runlevels/${BOOTLEVEL})/$(stat -c '%y' /etc/runlevels/${DEFAULTLEVEL})" || \

+                "$(/ubin/tail -n1 ${spl_cachedir}/levels)" != "$(stat -c '%y' /etc/runlevels/${BOOTLEVEL})/$(stat -c '%y' /etc/runlevels/${DEFAULTLEVEL})" || \

                 "$(stat -c '%y' ${spl_cachedir}/deptree)" != "${h}" ]]; then

                echo $(splash_svclist_update "start") > ${spl_cachedir}/svcs_start

        fi

@@ -355,7 +355,7 @@

        }

        as="$(autoconfig_svcs)"

-       ss="$(dolisting "/etc/runlevels/${SOFTLEVEL}/") "

+       [[ -n "${SOFTLEVEL}" ]] && ss="$(dolisting "/etc/runlevels/${SOFTLEVEL}/") "

        sb="$(dolisting "/etc/runlevels/${BOOTLEVEL}/") "

        sd="$(dolisting "/etc/runlevels/${DEFAULTLEVEL}/") "

@@ -461,7 +461,7 @@

 }

 splash_get_mode() {

-       local ctty="$(fgconsole)"

+       local ctty="$(/ubin/fgconsole)"

        if [[ ${ctty} == "${SPLASH_TTY}" ]]; then

                echo "silent"
```

----------

## Imago

bug is there: https://bugs.gentoo.org/show_bug.cgi?id=85565

i thought a bit how to avoid the apps that are normally not available in /bin and at least found a solution for chvt and tail. Maybe you could give it a try. I would then attach it to the bugzilla entry.

//edit:

i attached the patches(slightly modified) to the bugzilla entry.

CU

 Imago

----------

## Imago

anyone else has the problem that in silent mode, the verbose console shows up for a short time before the nice silent splash screen fades in? its quite annoying  :Wink: 

second problem: splashutils want a kernel parameter: CONSOLE=/dev/tty1.  As this didnt worked for me(no text shows up at all), i read a bit in linux/Documentation/kernel-parameters.txt and used the following parameter:

console=tty1 which works. anybody else experienced this?

CU

 Imago

----------

## jwc

Thanks imago for this bit with console=tty1, that got my splash working! I bet there are many people out there who don't know this parameter and don't get it to work. Also the kernel param quiet is necessary for me like stated in up in this thread.

Thanks again,

Joost

----------

## ruomad

I have CONSOLE=/dev/tty1 and it works but I think I remember trying with console (no caps) and it didn't.

Will check this if I get the chance

Btw are you using udev or devfs ?

----------

## jwc

Hi,

I'm using udev. My exact grub.conf is (to avoid confusion):

```

title=Gentoo Linux 2.6.11 FBSplash

root (hd0,0)

kernel /vmlinuz-2.6.11 root=/dev/hda2 video=vesafb:1024x768-16@75 resume2=swap:/dev/hda3 splash=silent,theme:emergence,console=tty1 quiet

initrd /fbsplash-emergence-1024x768

```

(stripped beginning and end of the file)

From "kernel" to "quiet" everything is on one line.

Bye, Joost

----------

## ruomad

I can confirm, if you have a look in /sbin/splash, it has to be CONSOLE in caps

----------

## jwc

Well, I tried these modifications and and have come to the conclusion that I need "quiet", else the splash won't work at all. If I have CONSOLE,console or nothing set doesn't matter for me, I deleted it now and things work nicely. Too complicated for me, but if you need anything, I'd be willing to test/post it.

BTW, I don't have /sbin/splash, where does it come from?

Bye,

Joost

----------

## ruomad

/sbin/splash is (as well as /sbin/splash-functions.sh)  included in splashutils-gentoo which is normally included in gentoo splashutils-1.1.9.1

you mean you did not use ebuild for splashutils ?

----------

## rush_ad

whats new in this release anyways?

----------

## jwc

ruomad: yes, I compiled the tgzs from spocks homepage. I did not bother to get the splash working after init starts, because I use suspend2 for at least 4-5 days between completely rebooting.

----------

## gungholady

I got it working without doing the patches. I did have to copy the font to /etc/splash.

Here is the relevant portion of my grub.conf:

```
kernel /vmlinuz ro root=/dev/hda3 video=vesafb:1024x768-24@75 resume2=swap:/dev/hda2 splash=silent,fadein,tty:8,theme:emergence quiet CONSOLE=/dev/tty1
```

Here is my /etc/conf.d/splash:

```
# Config file for splashutils

# a theme to use, probably best left commented (the theme specified

# on the kernel command line is used)

# SPLASH_THEME="gentoo"

# on which ttys should fbsplash be enabled? defaults to RC_TTY_NUMBER

 SPLASH_TTYS="0 1 2 3 4 5 6 7 8"

# what font to use? defaults to what fbtruetype uses

# SPLASH_FONT="luxisri.ttf"

# boot/reboot/shutdown message overrides

# SPLASH_BOOT_MESSAGE="Booting the system"

# SPLASH_REBOOT_MESSAGE="Rebooting the system"

# SPLASH_SHUTDOWN_MESSAGE="Shutting the system down"

# should we drop to verbose mode on initscript errors? (yes/no)

SPLASH_VERBOSE_ON_ERRORS="no"

# allows to set different themes on different consoles

# format: "<console>:<theme> <console>:<theme> (...)"

 SPLASH_TTY_MAP="1:emergence 2:emergence 3:emergence 4:emergence 5:emergence 6:emergence 7:emergence 8:emergence"

```

----------

## ruomad

well, patches and btw the new version 1.1.9.2 issued by spock address the case where /usr and/or /var are on seperate partitions, not mounted when splashutils try to access to them...

so it may work for your config, or ?

----------

## ruomad

what interests me more is that you have it along with software-suspend2 which means you have disable bootsplash in softwaresuspend2 ??

----------

## dibblethewrecker

I maintain unofficial support for gensplash for Arch Linux - I managed to hack together our initscripts from various sources and it's been going along pretty well, we had silent splash working fine.

However, spocks lastest stuff has me completely defeated.  Without a gentoo install and an in depth understanding of the gentoo initscripts its virtually impossible for me to see how the new splashutils-gentoo actually work.  As the Arch Linux initscripts are MUCH simpler I figured it would be easier to ask you guys, who know how gentoo works, to take a look at them and try and help us all out.

Our current scripts are basically hacked over from bootsplash, so we only have startup silent splash, no boot messages or anything else.  We'd basically be happy to regain this simple functionality but if anyone has further suggestions they're welcome!

All the initscripts are contain in this archive, only rc.multi, rc.sysinit, rc.conf and rc.d/functions have been altered from the original scripts to provide splash support.

Btw, I have touted for this on our forums but i don't get much help - would be really grateful for help, guys  :Smile: 

cheers

----------

## gungholady

 *ruomad wrote:*   

> what interests me more is that you have it along with software-suspend2 which means you have disable bootsplash in softwaresuspend2 ??

 

I don't use softwaresuspend2. I just used what jwc had as a basis to work with trying to get splash to work. Since it is working for me the way I have it I left the resume2 in the configuration.Last edited by gungholady on Tue Mar 22, 2005 1:25 pm; edited 1 time in total

----------

## Imago

 *ruomad wrote:*   

> what interests me more is that you have it along with software-suspend2 which means you have disable bootsplash in softwaresuspend2 ??

 

just leave out the 130-bootsplash-3.1.4-2.6.10.patch from the suspend2-2.1.8.2-patches and you could use it together with fbsplash. In fact bootsplash support is going to removed from suspend2 soon, in favor of the new userui_fbsplash module  :Wink: 

CU

 Imago

----------

## ruomad

I use it with suspend2 (though suspend2 doesn't work for me, so...)

It is not only deleting bootsplash patch, you also have to update (just insert the reference to FBSPLASH in sysctl.h)  the 101-kbd patch  (i apply fbsplash first)

if not 101-kbd fails

----------

## Imago

hmm could be  :Wink: 

as i dont use the kernel debugger i also havent applied the kdb-* patches. Same thing with the Win4Lin patches. Both of them + bootsplash arent neccessary for suspend2  :Smile: 

CU

 Imago

----------

## ruomad

yes i skipped win4lin as well, and btw I think it would be nice to have an "official" stripped down version of software-suspend2 without any unneeded patches, because the whole set is a bit unclear to me...

----------

## jwc

Well, since the new version of splashutils (1.1.9.2) took off I also used the (masked) ebuild to install it. Do you guys get verbose mode with this? For me it prints ugly white on black stuff over the splash...

----------

## gungholady

 *jwc wrote:*   

> Well, since the new version of splashutils (1.1.9.2) took off I also used the (masked) ebuild to install it. Do you guys get verbose mode with this? For me it prints ugly white on black stuff over the splash...

 

Go back up to my previous post about not using the patches. As long as I tried to use the patches, I had the ugly black on white stuff over the splash. I had to delete the patched files, the re-emerge splashutils and set it up like I said before. It works just fine.

----------

## jwc

Which patches do you mean? Kernel patches or in the ebuild somewhere (looked into it and found none)?

BTW, if you don't use suspend2, leave out the resume2 parameter, it's only for suspend-to-disk.

Thanks,

Joost

----------

## ruomad

well of course the patches were against 1.1.9.1 and some variant of the patches are included in 1.1.9.2...

----------

## jwc

Sorry, seems not to be my day... Patches

a) against the kernel

b) against splashutils merged by spock

c) against splashutils merged somewhere else

d) against ???

I just don't get which patches you mean. The only patching I did was my kernel with fbsplash and vesafb-tng (and the suspend2-bunch minus bootsplash) ...

Cheers,

Joost

----------

## gungholady

 *jwc wrote:*   

> Which patches do you mean? Kernel patches or in the ebuild somewhere (looked into it and found none)?
> 
> BTW, if you don't use suspend2, leave out the resume2 parameter, it's only for suspend-to-disk.
> 
> Thanks,
> ...

 

Had already been done. I was talking about the patches that someone had submited here in this thread.

----------

## dibblethewrecker

i understand that you may not want to help but totally blanking me seems a bit harsh!

I have had a good go myself and come up with this http://dtw.jiwe.org/share/gensplash/splashutils/splashutils-arch.tar.bz2 - i now get a message about initialzing the kernel on my splash screen but not progress bar

----------

## Imago

 *dibblethewrecker wrote:*   

> i understand that you may not want to help but totally blanking me seems a bit harsh!
> 
> 

 

i dont think that everybody here intentional ignored you  :Wink: 

as i dont have the time right now to look into your work now, nor do i know anything about arch linux 'runscript-managemant, i will only try to sum up how it works unter gentoo(as far as i understand it  :Wink:  )

first when the kernel is booted and fbcon is initialized, fbsplash sets up the console background and (if in silent mode) starts splash_helper which resides in your initramfs. This switches to tty8 and displays the silent splash screen with the "initializing kernel message". There is no progress bar update during this time.

when kernel is ready and init takes over, the real fun starts  :Smile: 

the main function is the splash() function in /sbin/splash-function. this is called by the main rc script always when a) a new runlevel is entered b) a service is attempted to start c) service is started d)same for stopping service and e) when all is done for the runlevel change.

if a runlevel is startet, /sbin/splash_util is started as a daemon for the whole runlevel init phase.

Every communication to this daemon goes over a fifo. Then a list of all services in the runlevel is generated to track progress of the init phase and update the progressbar accordingly.

So whenever a service is started, the script calculates the current progress and then sends a update command over the fifo to the daemon which updates the screen.

if runlevel init is complete, daemon is killed,  and script will switch back to tty1.

Thats the big picture in general i think  :Wink: 

if you didnt get the progress bar this indicates that a) the scripts arent able to communicate with the daemon or they fail to calculate the progress status. As Arch linux has another rc-script system i think you have to rewrite the part that generates the servicelist and calculates the status.

For more infos you may read /sbin/splash and /sbin/splash-functions.sh.

CU

 Imago

----------

## ruomad

i took a look in your scripts and 1st thing i notice is that if you want something to be displayed you have to have 3 splash_util instructions (i dont rmember where):

setcfg (choose config)

setpic (choose backgreound)

on (actually display)

where you only have 1 (AFAIK it must have changed in the last splash_utils

I suggest yopu t try to rewrite this part and come up with the result

----------

## dibblethewrecker

I have read all through all the scripts in splashutils-gentoo and they are very complicated, especially when I don't have any acces to the  *Quote:*   

> main rc script

  which calls them - so I can't see how they are used!  The complex method gentoo appears to use for starting it's services is also well over my head and shrouded in mystery.

The first link i posted contains all of the arch initscripts, basically the contents of functions and rc.sysinit should be enough for you to simply understand everything about how arch inits - that's why i posted them.

Thanks for the explanation of how the scripts work but, due to the reasons above it is still too abstracted for me.

I will keep trying tho, you can see i'm not asking you to it for me, thanks for all your help so far  :Very Happy: 

----------

## foux

Hello,

I'm using the splashutils-1.1.9.2 and I've got a little problem

During the initialization, I've got the silent screen with the message "Initializing kernel", but as soon as this is over, I'm going back to verbose mode

My grub line is :

```

title Official-2.6.11-5

root (hd0,1)

kernel /kernel-2.6.11-5 root=/dev/sda1 video=vesafb:ywrap,mtrr,1280x1024-24@70 splash=silent,fadein,tty:8,theme:livecd-2005.0 quiet CONSOLE=/dev/tty1

initrd /fbsplash-livecd-1280x1024
```

Can somebody help me with this?

Thanks

Edit : I've also got the following message at the end of the boot sequence :

```
mount: special device /var/cache/splash does not exist

/sbin/rc: line 211: /var/cache/splash/levels: No such file or directory

/sbin/rc: line 212: /var/cache/splash/levels: No such file or directory
```

FX

----------

## foux

Ok, so I've partially solved the problem by manually creating /var/cache/splash/tmp and regenerating my intird.

But the silent mode goes completely black as soon as I go into rulevel 3

Thanks

FX

----------

