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