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 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 modules are 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 8 : 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/defaults/loader.conf 159boot loader configuration defaults 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 175Next, edit 176.Pa /boot/loader.conf 177.Pq see Xr loader.conf 5 178and include the following lines: 179.Bd -literal -offset indent 180splash_bmp_load="YES" 181bitmap_load="YES" 182bitmap_name="chuck.bmp" 183.Ed 184.Pp 185In the above example, the file 186.Pa chuck.bmp 187is loaded. 188In the following example, the VESA module 189is loaded so that a bitmap file which cannot be displayed in standard 190VGA modes may be shown using one of the VESA video modes. 191.Bd -literal -offset indent 192splash_pcx_load="YES" 193vesa_load="YES" 194bitmap_load="YES" 195bitmap_name="chuck.pcx" 196.Ed 197.Pp 198If the VESA support is statically linked to the kernel, it is not 199necessary to load the VESA module. 200Just load the bitmap file and the splash decoder module as in the 201first example above. 202.\".Sh DIAGNOSTICS 203.Sh CAVEATS 204Both the splash screen and the screen saver work with 205.Xr syscons 4 206only. They are not available for the alternative console driver 207.Xr pcvt 4 . 208.Sh BUGS 209If you load a screen saver while another screen saver has already 210been loaded, the first screen saver will not be automatically unloaded 211and will remain in memory, wasting kernel memory space. 212.Sh SEE ALSO 213.Xr vidcontrol 1 , 214.Xr syscons 4 , 215.Xr vga 4 , 216.Xr loader.conf 5 , 217.Xr rc.conf 5 , 218.Xr kldload 8 , 219.Xr kldunload 8 . 220.Sh HISTORY 221The 222.Nm 223driver first appeared in 224.Fx 3.1 . 225.Sh AUTHORS 226The 227.Nm 228driver and this manual page were written by 229.An Kazutaka Yokota Aq yokota@FreeBSD.org . 230The 231.Pa splash_bmp 232module was written by 233.An Michael Smith Aq msmith@FreeBSD.org 234and 235.An Kazutaka Yokota . 236The 237.Pa splash_pcx 238module was written by 239.An Dag-Erling Sm�rgrav Aq des@FreeBSD.org 240based on the 241.Pa splash_bmp 242code. 243