SPLASH(4)
π SPLASH(4) π
okay bestie, welcome to the Kernel Interfaces Manual β¨ and today's main character is the splash pseudo device driver. she's giving screen saver energy, she's giving welcome banner, she's giving iconic. π«Ά
β¨ NAME β¨
splash β splash screen / screen saver interface π
π SYNOPSIS π
device splash
π DESCRIPTION π
okay so the splash pseudo device driver is the one that adds support for the splash screen and the screen savers to the kernel. like, both. at once. π
and you need this driver if you want a splash bitmap image to be loaded, or if you want literally any screen saver to be used. no driver = no vibe. periodt.
π Splash screen π
so you can load and display an arbitrary bitmap image file as a welcome banner on the screen when the system is about to start. that image just chills there on your screen during the whole kernel initialization process β until the login prompt shows up, or until a screen saver gets loaded and initialized. it'll also disappear if you hit any key, tho ngl that might not work immediately if the kernel is still out here probing devices. π
if you specify the -c or -v boot option when loading the kernel, the splash image will not appear. but bestie, it's still loaded! and it can still be used as a screen saver later β see below. π
in order to display the bitmap, the bitmap file itself and the matching splash image decoder module must be loaded by the boot loader. currently these decoder modules are available:
splash_bmp.koβ Windows BMP file decoder. and like, yeah, the BMP file format allows images of various color depths, but this decoder currently only handles 256 color bitmaps. bitmaps of other color depths will not be displayed. πsplash_pcx.koβ ZSoft PCX decoder. this decoder currently only supports version 5 8-bpp single-plane images.splash_txt.koβ TheDraw binary ASCII drawing file decoder. displays a text-mode 80x25 ASCII drawing, like the kind produced by the Binary save format in TheDraw. this format is a sequence of two byte pairs representing the 80x25 display, where the first byte is the ASCII character to draw and the second byte indicates the colors/attributes to use when drawing the character. π¨
the βEXAMPLESβ section illustrates how to set up the splash screen, so like, scroll down bestie.
if the standard VGA video mode is used, the size of the bitmap must be 320x200 or less. if you enable the VESA mode support in the kernel β either by statically linking the VESA module or by loading the VESA module (see vga(4)) β you can load bitmaps up to a resolution of 1024x768, depending on the VESA BIOS and the amount of video memory on the video card. π₯
π¦ Screen saver π¦
the screen saver will activate when the system is considered idle: i.e. when the user has not typed a key or moved the mouse for a specified period of time. since the screen saver is an optional module, it must be explicitly loaded into memory. currently these screen saver modules are available:
blank_saver.koβ this screen saver simply blanks the screen.beastie_saver.koβ animated graphical BSD Daemon. πΉdaemon_saver.koβ animated BSD Daemon screen saver.dragon_saver.koβ draws a random dragon curve. πfade_saver.koβ the screen will gradually fade away.fire_saver.koβ a fire which becomes higher as load increases. π₯green_saver.koβ the screen will be blanked, similar toblank_saver.ko. if the monitor and the video card's BIOS support it, the screen will also be powered off.logo_saver.koβ animated graphical FreeBSD logo.plasma_saver.koβ draws an animated interference pattern.rain_saver.koβ draws a shower on the screen. π§οΈsnake_saver.koβ draws a snake of string.star_saver.koβ twinkling stars. βwarp_saver.koβ streaking stars.
screen saver modules can be loaded using kldload(8):
kldload logo_saver
the timeout value in seconds can be specified as follows:
vidcontrol -t N
alternatively, you can set the saver variable in the /etc/rc.conf to the screen saver of your choice, and the timeout value to the blanktime variable, so that the screen saver is automatically loaded and the timeout value is set when the system starts. automation slay. π
the screen saver may be instantly activated by hitting the saver key: the defaults are Shift-Pause on the AT enhanced keyboard and Shift-Ctrl-NumLock/Pause on the AT 84 keyboard. you can change the saver key by modifying the keymap (see kbdcontrol(1), keymap(5)), and assign the saver function to a key of your preference. make it yours. β¨
π¨ heads up: the screen saver will not run if the screen is not in text mode.
π§ Splash screen as a screen saver π§
if you load a splash image but do not load a screen saver, you can continue using the splash module as a screen saver. the screen blanking interval can be specified as described in the βScreen saverβ section above. reusing the same module for a whole new purpose? that's main character energy. π
π FILES π
/boot/defaults/loader.confβ boot loader configuration defaults/etc/rc.confβ system configuration information/boot/kernel/splash_*.koβ splash image decoder modules/boot/kernel/*_saver.koβ screen saver modules/boot/kernel/vesa.koβ the VESA support module
π EXAMPLES π
in order to load the splash screen or the screen saver, you must have the following line in the kernel configuration file.
device splash
next, edit /boot/loader.conf (see loader.conf(5)) and include the following lines:
splash_bmp_load="YES"
bitmap_load="YES"
bitmap_name="/boot/chuck.bmp"
in the above example, the file /boot/chuck.bmp is loaded. πΈ in the following example, the VESA module is loaded so that a bitmap file which cannot be displayed in standard VGA modes may be shown using one of the VESA video modes.
splash_pcx_load="YES"
vesa_load="YES"
bitmap_load="YES"
bitmap_name="/boot/chuck.pcx"
if the VESA support is statically linked to the kernel, it is not necessary to load the VESA module. just load the bitmap file and the splash decoder module as in the first example above. π«Ά
to load a binary ASCII drawing and display this while booting, include the following into your /boot/loader.conf:
splash_txt_load="YES"
bitmap_load="YES"
bitmap_name="/boot/splash.bin"
π SEE ALSO π
vidcontrol(1), syscons(4), vga(4), loader.conf(5), rc.conf(5), kldload(8), kldunload(8)
π HISTORY π
the splash driver first appeared in FreeBSD 3.1. a true legend since day one. π
πΈ AUTHORS πΈ
the splash driver and this manual page were written by Kazutaka Yokota <yokota@FreeBSD.org>. the splash_bmp module was written by Michael Smith <msmith@FreeBSD.org> and Kazutaka Yokota. the splash_pcx module was written by Dag-Erling SmΓΈrgrav <des@FreeBSD.org> based on the splash_bmp code. the splash_txt module was written by Antony Mawer <antony@mawer.org> based on the splash_bmp code, with some additional inspiration from the daemon_saver code. the logo_saver, plasma_saver, rain_saver and warp_saver modules were written by Dag-Erling SmΓΈrgrav <des@FreeBSD.org>. absolute icons, all of them. π«Άβ¨
β οΈ CAVEATS β οΈ
both the splash screen and the screen saver work with syscons(4) only. no syscons, no vibes. π
π BUGS π
if you load a screen saver while another screen saver has already been loaded, the first screen saver will not be automatically unloaded and will remain in memory, wasting kernel memory space. so likeβ¦ double-check before you stack savers, bestie. π
and that's the whole page fr fr π this was the splash(4) page from the Kernel Interfaces Manual, signed off by Debian, dated December 31, 2015. bye babes, go load a bitmap π¦πΈπ
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 1999 Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms