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