xref: /freebsd/share/man/man4/splash.4 (revision b601c69bdbe8755d26570261d7fd4c02ee4eff74)
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.\" $FreeBSD$
28.\"
29.Dd February 9, 1999
30.Dt SPLASH 4
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 a 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 the
54.Fl c
55or
56.Fl v
57boot option when loading the kernel, the splash image will not appear.
58However, it
59is still loaded and can be used as a screen saver later: see below.
60.Pp
61In order to display the bitmap, the bitmap file itself and the
62matching splash image decoder module must be loaded by the boot loader.
63Currently the following decoder modules are available:
64.Pp
65.Bl -tag -width splash_decoder -compact
66.It Pa splash_bmp.ko
67W*ndows BMP file decoder.
68While the BMP file format allows images of various color depths, this
69decoder currently only handles 256 color bitmaps.  Bitmaps of other color
70depths will not be displayed.
71.It Pa splash_pcx.ko
72ZSoft PCX decoder.
73This decoder currently only supports version 5 8-bpp single-plane
74images.
75.El
76.Pp
77The
78.Sx EXAMPLES
79section illustrates how to set up the splash screen.
80.Pp
81If the standard VGA video mode is used,
82the size of the bitmap must be 320x200 or less.
83If you enable the VESA mode support in the kernel,
84either by statically linking the VESA module or by loading the VESA module
85.Pq see Xr vga 4 ,
86you can load bitmaps up to a resolution of 1024x768, depending on the VESA
87BIOS and the amount of video memory on the video card.
88.Sh SCREEN SAVER
89The screen saver will activate when the system is considered idle: i.e.
90when the user has not typed a key or moved the mouse for a specified period
91of time.  As the screen saver is an optional module, it must be explicitly
92loaded into memory.  Currently the following screen saver modules are
93available:
94.Pp
95.Bl -tag -width splash_module.ko -compact
96.It Pa blank_saver.ko
97This screen saver simply blanks the screen.
98.It Pa daemon_saver.ko
99Animated BSD Daemon screen saver.
100.It Pa fade_saver.ko
101The screen will gradually fade away.
102.It Pa green_saver.ko
103If the monitor supports power saving mode, it will be turned off.
104.It Pa logo_saver.ko
105Animated graphical BSD Daemon.
106.It Pa rain_saver.ko
107Draws a shower on the screen.
108.It Pa snake_saver.ko
109Draws a snake of string.
110.It Pa star_saver.ko
111Twinkling stars.
112.It Pa warp_saver.ko
113Streaking stars.
114.El
115.Pp
116Screen saver modules can be loaded using
117.Xr kldload 8 :
118.Pp
119.Dl kldload logo_saver
120.Pp
121The timeout value in seconds can be specified as follows:
122.Pp
123.Dl vidcontrol -t N
124.Pp
125Alternatively, you can set the
126.Ar saver
127variable in the
128.Pa /etc/rc.conf
129to the screen saver of your choice and
130the timeout value to the
131.Ar blanktime
132variable so that the screen saver is automatically loaded
133and the timeout value is set when the system starts.
134.Pp
135The screen saver may be instantly activated by hitting the
136.Ar saver
137key: the defaults are
138.Em Shift-Pause
139 on the AT enhanced keyboard and
140.Em Shift-Ctrl-NumLock/Pause
141on the AT 84 keyboard.
142You can change the
143.Ar saver
144key by modifying the keymap
145.Pq see Xr kbdcontrol 1 , Xr keymap 5 ,
146and assign the
147.Ar saver
148function to a key of your preference.
149.Pp
150The screen saver will not run if the screen is not in text mode.
151.Sh SPLASH SCREEN AS A SCREEN SAVER
152If you load a splash image but do not load a screen saver,
153you can continue using the splash module as a screen saver.
154The screen blanking interval can be specified as described in the
155.Sx SCREEN SAVER
156section above.
157.\".Sh DRIVER CONFIGURATION
158.Sh FILES
159.Bl -tag -width /modules/splash_xxxx.ko -compact
160.It /boot/defaults/loader.conf
161boot loader configuration defaults
162.It /etc/rc.conf
163system configuration information
164.It /modules/splash_*.ko
165splash image decoder modules
166.It /modules/*_saver.ko
167screen saver modules
168.It /modules/vesa.ko
169the VESA support module
170.El
171.Sh EXAMPLE
172In order to load the splash screen or the screen saver, you must
173have the following line in the kernel configuration file.
174.Pp
175.Dl pseudo-device splash
176.Pp
177Next, edit
178.Pa /boot/loader.conf
179.Pq see Xr loader.conf 5
180and include the following lines:
181.Bd -literal -offset indent
182splash_bmp_load="YES"
183bitmap_load="YES"
184bitmap_name="chuck.bmp"
185.Ed
186.Pp
187In the above example, the file
188.Pa chuck.bmp
189is loaded.
190In the following example, the VESA module
191is loaded so that a bitmap file which cannot be displayed in standard
192VGA modes may be shown using one of the VESA video modes.
193.Bd -literal -offset indent
194splash_pcx_load="YES"
195vesa_load="YES"
196bitmap_load="YES"
197bitmap_name="chuck.pcx"
198.Ed
199.Pp
200If the VESA support is statically linked to the kernel, it is not
201necessary to load the VESA module.
202Just load the bitmap file and the splash decoder module as in the
203first example above.
204.\".Sh DIAGNOSTICS
205.Sh CAVEATS
206Both the splash screen and the screen saver work with
207.Xr syscons 4
208only.  They are not available for the alternative console driver
209.Xr pcvt 4 .
210.Sh BUGS
211If you load a screen saver while another screen saver has already
212been loaded, the first screen saver will not be automatically unloaded
213and will remain in memory, wasting kernel memory space.
214.Sh SEE ALSO
215.Xr vidcontrol 1 ,
216.Xr syscons 4 ,
217.Xr vga 4 ,
218.Xr loader.conf 5 ,
219.Xr rc.conf 5 ,
220.Xr kldload 8 ,
221.Xr kldunload 8 .
222.Sh HISTORY
223The
224.Nm
225driver first appeared in
226.Fx 3.1 .
227.Sh AUTHORS
228The
229.Nm
230driver and this manual page were written by
231.An Kazutaka Yokota Aq yokota@FreeBSD.org .
232The
233.Pa splash_bmp
234module was written by
235.An Michael Smith Aq msmith@FreeBSD.org
236and
237.An Kazutaka Yokota .
238The
239.Pa splash_pcx
240module was written by
241.An Dag-Erling Sm�rgrav Aq des@FreeBSD.org
242based on the
243.Pa splash_bmp
244code.
245