Please note that the splashutils repository has MOVED as of 06-JAN-2008
This page will, sooner or later, be redirected to: http://fbsplash.berlios.de/
Bugs should be reported at http://developer.berlios.de/bugs/?group_id=8814
# Gentoo's splashutils deb ftp://ftp.berlios.de/pub/fbsplash/debian/splashutils sid contribRelated repositories:
# uvesafb kernel patch needs the v86d userspace helper deb http://jeandamiendurand.free.fr/debian/v86d sid contrib # fbsplash themes deb http://jeandamiendurand.free.fr/debian/fbsplash-themes sid contrib # Precompiled kernels with uvesafb and fbcondecor deb http://jeandamiendurand.free.fr/debian/kernel sid main
Ubuntu users, you must read this howto.
Here is a brute snapshot of a terminal under fbsplash, using the themes Debian and SuSE-8.2, taken from bootsplash:
# ## Debian's 2.6.25-4 kernel with the fbcondecor and tuxonice patches for the i686 and amd64 platforms ## AMD64 version will follow # ## Please refer to my kernel repository page # deb http://jeandamiendurand.free.fr/debian/kernel sid main deb-src http://jeandamiendurand.free.fr/debian/kernel sid main # ## IF YOU USE uvesafb video driver: the v86d executable # deb http://jeandamiendurand.free.fr/debian/v86d sid contrib deb-src http://jeandamiendurand.free.fr/debian/v86d sid contrib # ## Fbsplash themes I packaged ## (Take big care with the grub splashes, c.f. ## http://jeandamiendurand.free.fr/serendipity/index.php?/archives/30-Playing-with-framebuffer.html) ## Currently available: matrix-fbsplash-theme, matrix-grub-theme, matrix-ksplash-theme # deb http://jeandamiendurand.free.fr/debian/fbsplash-themes sid contrib deb-src http://jeandamiendurand.free.fr/debian/fbsplash-themes sid contribHaving vesafb-tng patch in addition is suggested, not necessary. You can also have uvesafb instead of of vesafb or vesafb-tng. But then you will also need the the v86d userland uvesafb helper.
/etc/apt/sources.list
(please contribute - ppc in particular)
Add at least the line that is in bold below, to your /etc/apt/sources.list
:
# ## End-users only need this entry ## ------------------------------ # ftp://ftp.berlios.de/pub/fbsplash/debian/splashutils sid contrib # ## Those who want the source need the following ## -------------------------------------------- ## source of splashutils ## build dependency : an fbsplash aware klibc # deb-src ftp://ftp.berlios.de/pub/fbsplash/debian/splashutils sid contrib deb ftp://ftp.berlios.de/pub/fbsplash/debian/klibc sid contrib # ## Just in case, the source of the fbsplash aware klibc build dependency ## --------------------------------------------------------------------- # deb-src ftp://ftp.berlios.de/pub/fbsplash/debian/klibc sid contribThen, update your system's knowledge with your favourite method:
- apt-get update
- aptitude update
- dselect/Update/Quit
- ...
Install the package splashutils
. This will also install an additional package miscsplashutils
. A daemon will start at next boot, called fbsplashd
, e.g.:
9124 tty16 Ssl+ 0:00 /sbin/fbsplashd.static --theme=debblue --pidfile=/lib/splash/cache/daemon.pid
The theme? You will configure that later using the /boot/grub/menu.lst
file. See section 4. Please note that there is third package called splashutils-initramfs
that contains a hook and a script for initramfs images.
Take a theme from bootsplash and install it under the directory /etc/bootsplash/themes
. Then convert it with the command:
bootsplash2fbsplash the_theme
To add animation to a theme, one should add something like:
anim <once|loop|proportional> <path> >x> <y> [state service]
to the config file. Please note the following comments coming
from upstream:
* anim <once|loop|proportional> <path> >x> <y> [state service]
Displays a MNG animation on the silent splash screen at (x,y).
'once' -- the animation is displayed only once. After it reaches its
last frame, it is displayed just like an icon.
'loop' -- the animation is displayed in an infinite loop.
'proportional' -- the animation progress is coupled with the progress
variable. Note that in this case, the animation
isn't smooth and only single frames are displayed.
WARNING: Animation support in splashutils isn't complete yet and the
following is subject to change in future versions of the program.
Currently, all animations are displayed on a separate 'layer' located
above all other objects. An animation object will always cover icons,
boxes, etc. Overlapping animations with other objects should currently
be avoid, as it may lead to unexpected flickering.
Depending on how the mng file is constructed 'once' and 'proportional'
might not work as aspected. When the file is internally looped, the
animation will always be displayed in an infinite loop (even when
the 'once' flag is used). When the file doesn't contain a frame
counter, 'proportional' will not work and only the first frame will
be displayed.
In any case you will have to add to your kernel command line the following: splash=silent,fadein,theme:the_theme quiet CONSOLE=/dev/tty1
.
- If you use vesafb-tng patch, then add:
video=vesafb:1024x768-32,ywrap
- If you use uvesafb patch, then add:
video=uvesafb:1024x768-32,ywrap
- If you use native vesafb module, then add:
vga=791
Note that you can also use the file /etc/splash/splash.conf
to specify a theme in the userland.
If you want a splash screen at early boot, you have two options:
- Use
splash_geninitramfs
. But then, make sure you have a kernel with enough things compiled in the kernel. Then check again your bootloader and verify you will:
- use your new initrd image
- the
theme:
command-line parameter should match the name of the theme used to generate the initrd
- Install the package
splashutils-geninitramfs
, configure your system to use initramfs (c.f. /etc/kernel-img.conf
file), dpkg-reconfigure your kernel. Note that, for the moment, dpkg-reconfigure will copy all your splash screens in the initrd. Then, after reboot, the initramfs will run its usual initial configuration and preload of modules, run udev, and fbsplash. I.e. you will not get splash exactly as early as with the first method, but at least this should work for most kernels.
If you have not used early splash configuration, you should see splash screen right after udev initialization in the userland, i.e. after INIT has started. To see splash screen at early boot see previous section. It is normal to not see the verbose messages anymore, but as soon as splash is on, just press F2 in userland, or Alt-F1 at early boot.
If you want to have suspension and fbsplash as eye candy interface:
- Make sure you have correctly configured your system for the suspension. Everything is in
/etc/hibernate/*.conf
. The defaults should work for most people, here are neverthless some tweaks:
- If you are using
ndiswrapper
module, this should be unloaded and reloaded, and corresponding interface restarted. I personnally use a recent kernel (i.e. now all vanilla usb stuff does suspend and resume ok as far as I see) and only wifi on my desktop via ndiswrapper, here are the corresponding lines in /etc/hibernate/suspend2.conf
:
### modules
UnloadModules ndiswrapper
LoadModules ndiswrapper
### network
DownInterfaces wlan0
UpInterfaces auto
- Perhaps because I compiled too much things into the kernel, but I have to re-enable DMA after resuming:
### services
StartServices hdparm
- Nvidia people might want to add
## Any other /proc/software_suspend setting can be set like so:
ProcSetting extra_pages_allowance 0
- In addition, for fbsplash, enable the following configuration:
In /etc/hibernate/common.conf:
### fbsplash (enable SwitchToTextMode if you use this)
FBSplash on
FBSplashTheme suspend2
In /etc/hibernate/suspend2.conf:
## Specify a userui like this:
ProcSetting userui_program /usr/lib/suspend2-userui/suspend2ui_fbsplash
- Install the
debian-suspend2-theme
package. This contain the official fbsplash theme for Debian. Its name is "suspend2
". If you want another theme, then install it yourself in /etc/splash and do not forget to update /etc/hibernate/common.conf
, nor to reconfigure your linux-image package. Doing dpkg-reconfigure splasutils-suspend2-initramfs
(see below) will also do it.
- Install the
splashutils-suspend2-initramfs
package. This contains all necessary hooks for the initrd image, so that your system will swith to resume juste after you restarted it. This will have precedence over the splash in the initrd.
- Here are my full configuration files (without the commented lines):
/etc/hibernate/hibernate.conf:
TryMethod suspend2.conf
/etc/hibernate/suspend2.conf:
UseSuspend2 yes
Reboot no
EnableEscape yes
DefaultConsoleLevel 1
Compressor lzf
Encryptor none
ProcSetting extra_pages_allowance 0
FullSpeedCPU yes
Include common.conf
/etc/hibernate/common.conf:
Verbosity 0
LogFile /var/log/hibernate.log
LogVerbosity 0
LogTimestamp yes
Distribution debian
SaveClock restore-only
FBSplash on
FBSplashTheme suspend2
UnloadModules ndiswrapper
LoadModules ndiswrapper
DownInterfaces wlan0
UpInterfaces auto
StartServices hdparm
SwitchToTextMode yes
XStatus kde
- Cross fingers and give it a try
- Links that really really helped me:
/sys/power/suspend2 will become /sys/power/tuxonice
.
/usr/share/hibernate/scriptlets.d
in splashutils package
/usr/share/hibernate/scriptlets.d
in debian/splashutils.dirs
.
dh_makeshlibs -package=splashutils
in the debian/rules
file.
splash_util -t $FBSPLASH_THEME -d -m v
/usr/share/hibernate/scriptlets.d/fbsplash
.
% fbsplashd -t suspend2 Parse error at line 48: an 'inter' box must be directly followed by another box
/usr
to be mounted
busybox awk
instead of awk
splash_utils.static
instead of splash_utils
> where not already done
grep
to egrep
when it was truely a regexp
splashutils-suspend2-initramfs
package: if suspension is active, anyway, resume will have to execute before anything else. And then there is no more notion of early splash nor sysv-rc level.
/lib/splash/cache
not in /etc/mtab
and that is busy.
/etc/init.d/console-screen.sh
will execute.
SCREEN_FONT
in /etc/console-tools/config
, they are not needed under fbsplash IMHO.
video
before char
. Solution is to change the order in drivers/Makefile
.
/sys/power/tuxonice
.
busybox
in front of awk
, at rev 3 I made /etc/splash/luxiri.ttf
a real file when I realised that apt failed to handle that correctly, so I added an explicit removal of this file it is is a link within the revision 4.
* Added mng support in compilation * Prefer good old mkdir -p style * Update of initrd at install of splashutils-initramfs * Install splashutils-initramfs in /etc/initramfs-tools instead of /etc/mkinitramfs
splashutils-initramfs
in case you want to have splash image at early boot.
drivers/Makefile
solved the runaway modprobe loop.
#
CONFIG_FB_TILEBLITTING is not set
CONFIG_FB_SPLASH=y
CONFIG_FB_...=y
or m
,
corresponding to your graphic cardCONFIG_INPUT_EVDEV=y
(or m
but
I've read it should be y in the fbsplash page)Makefile
and change KLCC
variable: KLCC = cc
make
make install
splash_geninitramfs -v -g /boot/initrd.img-`uname -r` -r 1024x768 Debian
# ## Assuming theme is called "Debian" # mkdir -p /etc/splash rm -rf /etc/splash/Debian mkdir -p /etc/bootsplash/themes cd /tmp wget http://www.bootsplash.de/files/themes/Theme-Debian.tar.bz2 cd /etc/bootsplash/themes tar -jxvf /tmp/Theme-Debian.tar.bz2 cd .. ln -s themes/Debian . bootsplash2fbsplash Debian
mkdir -p /etc/splash; cd /etc/splash; rm -rf debian-1; wget http://www.bootsplash.de/files/themes/Theme-Debian.tar.bz2; tar -jxvf Theme-Debian.tar.bz2; rm -f current; ln -s Debian current
luxisri.ttf
(I
know it is
in fft-xfree86-nonfree
package, I have it elsewhere
but owned
by
no package... oups)cp /usr/share/fonts/truetype/ttf-xfree86-nonfree/luxisri.ttf /etc/splash
/etc/splash/Debian/images/bootsplash-1024x768.jpg
to /etc/splash/Debian/images/verbose-1024x768.jpg
/etc/splash/Debian/config/bootsplash-1024x768.cfg
to /etc/splash/Debian/1024x768.cfg
/etc/splash/Debian/1024x768.cfg
contains:pic=/etc/splash/Debian/images/verbose-1024x768.jpg
silentpic=/etc/splash/Debian/images/silent-1024x768.jpg
video=vesafb:ywrap,pmipal vga=791 splash=silent,fadein,theme:Debian quiet CONSOLE=/dev/tty1
video=vesafb:ypan,1024x768-32 splash=silent,fadein,theme:Debian quiet CONSOLE=/dev/tty1
video=radeonfb:1024x768-32
/etc/init.d/rc
script: