xref: /freebsd/share/man/man4/splash.4 (revision 6e8394b8baa7d5d9153ab90de6824bcd19b3b4e1)
1.\"
2.\" Copyright (c) 1999
3.\" Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
4.\" All rights reserved.
5.\"
6.\" Redistribution and use in source and binary forms, with or without
7.\" modification, are permitted provided that the following conditions
8.\" are met:
9.\" 1. Redistributions of source code must retain the above copyright
10.\"    notice, this list of conditions and the following disclaimer as
11.\"    the first lines of this file unmodified.
12.\" 2. Redistributions in binary form must reproduce the above copyright
13.\"    notice, this list of conditions and the following disclaimer in the
14.\"    documentation and/or other materials provided with the distribution.
15.\"
16.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26.\"
27.\" $Id: splash.4,v 1.2 1999/02/10 14:25:03 yokota Exp $
28.\"
29.Dd February 9, 1999
30.Dt SPLASH 4 i386
31.Os FreeBSD
32.Sh NAME
33.Nm splash
34.Nd
35splash screen / screen saver interface
36.Sh SYNOPSIS
37.Cd "pseudo-device splash"
38.Sh DESCRIPTION
39The
40.Nm
41pseudo device driver adds support for the splash screen and screen
42savers to the kernel.
43This driver is required if the splash bitmap image is to be loaded or
44any screen saver is to be used.
45.Sh SPLASH SCREEN
46You can load and display an arbitrary bitmap image file as welcome banner
47on the screen when the system is about to start.  This image will remain on
48the screen during kernel initialization process until the ``Login'' prompt
49appears on the screen or until a screen saver is loaded and initialized.
50The image will also disappear if you hit any key, although this may not work
51immediately if the kernel is still probing devices.
52.Pp
53If you specify
54.Fl c
55or
56.Fl v
57boot option when loading kernel, the splash image will not appear. However, it
58is still loaded and can be used as a screen saver later: see below.
59.Pp
60In order to display the bitmap, the bitmap file itself and the
61matching splash image decoder module must be loaded by the boot loader.
62Currently the following decoder module is available:
63.Pp
64.Bl -tag -width splash_decoder -compact
65.It Pa splash_bmp.ko
66W*ndows BMP file decoder.
67While the BMP file format allows images of various color depths, this
68decoder currently only handles 256 color bitmaps.  Bitmaps of other color
69depths will not be displayed.
70.It Pa splash_pcx.ko
71ZSoft PCX decoder.
72This decoder currently only supports version 5 8-bpp single-plane
73images.
74.El
75.Pp
76The
77.Sx EXAMPLES
78section illustrates how to set up the splash screen.
79.Pp
80If the standard VGA video mode is used,
81the size of the bitmap must be 320x200 or less.
82If you enable the VESA mode support in the kernel,
83either by statically linking the VESA module or by loading the VESA module
84.Pq see Xr vga 4 ,
85you can load bitmaps up to a resolution of 1024x768, depending on the VESA
86BIOS and the amount of video memory on the video card.
87.Sh SCREEN SAVER
88The screen saver will activate when the system is considered idle: i.e.
89when the user has not typed a key or moved the mouse for a specified period
90of time.  As the screen saver is an optional module, it must be explicitly
91loaded into memory. Currently the following screen saver modules are
92available:
93.Pp
94.Bl -tag -width splash_module.ko -compact
95.It Pa blank_saver.ko
96This screen saver simply blanks the screen.
97.It Pa daemon_saver.ko
98Animated BSD Daemon screen saver.
99.It Pa fade_saver.ko
100The screen will gradually fade away.
101.It Pa green_saver.ko
102If the monitor supports power saving mode, it will be turned off.
103.It Pa logo_saver.ko
104Animated graphical BSD Daemon.
105.It Pa rain_saver.ko
106Draws shower on the screen.
107.It Pa snake_saver.ko
108Draws a snake of string.
109.It Pa star_saver.ko
110Twinkling stars.
111.It Pa warp_saver.ko
112Streaking stars.
113.El
114.Pp
115Screen saver modules can be loaded using
116.Xr kldload 1 :
117.Pp
118.Dl kldload logo_saver
119.Pp
120The timeout value in seconds can be specified as follows:
121.Pp
122.Dl vidcontrol -t N
123.Pp
124Alternatively, you can set the
125.Ar saver
126variable in the
127.Pa /etc/rc.conf
128to the screen saver of your choice and
129the timeout value to the
130.Ar blanktime
131variable so that the screen saver is automatically loaded
132and the timeout value is set when the system starts.
133.Pp
134The screen saver may be instantly activated by hitting the
135.Ar saver
136key: the defaults are
137.Em Shift-Pause
138 on the AT enhanced keyboard and
139.Em Shift-Ctrl-NumLock/Pause
140on the AT 84 keyboard. You can change the
141.Ar saver
142key by modifying the keymap
143.Pq see Xr kbdcontrol 1 , Xr keymap 5 ,
144and assign the
145.Ar saver
146function to a key of your preference.
147.Pp
148The screen saver will not run if the screen is not in text mode.
149.Sh SPLASH SCREEN AS A SCREEN SAVER
150If you load a splash image but do not load a screen saver,
151you can continue using the splash module as a screen saver.
152The screen blanking interval can be specified as described in the
153.Sx SCREEN SAVER
154section above.
155.\".Sh DRIVER CONFIGURATION
156.Sh FILES
157.Bl -tag -width /modules/splash_xxxx.ko -compact
158.It /boot/loader.rc
159boot loader script
160.It /etc/rc.conf
161system configuration information
162.It /modules/splash_*.ko
163splash image decoder modules
164.It /modules/*_saver.ko
165screen saver modules
166.It /modules/vesa.ko
167the VESA support module
168.El
169.Sh EXAMPLE
170In order to load the splash screen or the screen saver, you must
171have the following line in the kernel configuration file.
172.Pp
173.Dl pseudo-device splash
174.Pp
175The following examples show how to load the splash screen image from
176the boot loader prompt.
177They may be typed by hand at the loader prompt or may be written in
178the boot loader script
179.Pa /boot/loader.rc
180.Pq see Xr loader.rc 5 .
181.Bd -literal -offset indent
182load kernel
183load -t splash_image_data chuck.bmp
184load splash_bmp
185.Ed
186.Pp
187The second line loads a bitmap image file to be used in the splash screen.
188In the above example, the file
189.Pa chuck.bmp
190is loaded.
191It is extremely important to include the option
192.Fl t Ar splash_image_data
193in this line, as the splash image decoder module will search for
194this tag name when looking up the preloaded bitmap data.
195The third line loads the splash image decoder module
196.Pa splash_bmp .
197.Pp
198In the following example, the VESA module
199is loaded so that a bitmap file which cannot be displayed in standard
200VGA modes may be shown using one of the VESA video modes.
201.Bd -literal -offset indent
202load kernel
203load vesa
204load -t splash_image_data chuck.pcx
205load splash_pcx
206.Ed
207.Pp
208If the VESA support is statically linked to the kernel, it is not
209necessary to load the VESA module.
210Just load the bitmap file and the splash decoder module as in the
211first example above.
212.\".Sh DIAGNOSTICS
213.Sh CAVEATS
214Both the splash screen and the screen saver work with
215.Xr syscons 4
216only.  They are not available for the alternative console driver
217.Xr pcvt 4 .
218.Sh BUGS
219If you load a screen saver while another screen saver has already
220been loaded, the first screen saver will not be automatically unloaded
221and will remain in memory, wasting kernel memory space.
222.Sh SEE ALSO
223.Xr vidcontrol 1 ,
224.Xr syscons 4 ,
225.Xr vga 4 ,
226.Xr rc.conf 5 ,
227.Xr kldload 8 ,
228.Xr kldunload 8 .
229.Sh HISTORY
230The
231.Nm
232driver first appeared in
233.Fx 3.1 .
234.Sh AUTHORS
235The
236.Nm
237driver and this manual page were written by
238.An Kazutaka Yokota Aq yokota@FreeBSD.org .
239The
240.Pa splash_bmp
241module was written by
242.An Michael Smith Aq msmith@FreeBSD.org
243and
244.An Kazutaka Yokota .
245The
246.Pa splash_pcx
247module was written by
248.An Dag-Erling Sm�rgrav Aq des@FreeBDS.org
249based on the
250.Pa splash_bmp
251code.