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.