home | help
VIDCONTROL(1)		     General Commands Manual		   VIDCONTROL(1)

NAME
     vidcontrol -- system console control and configuration utility

SYNOPSIS
     vidcontrol [-CdLHPpx] [-b color] [-c appearance] [-f [[size] file]]
		[-g geometry] [-h size] [-i adapter | mode] [-l screen_map]
		[-M char] [-m on | off] [-r foreground background] [-S on | off]
		[-s number] [-T xterm | cons25] [-t N | off] [mode]
		[foreground [background]] [show]

DESCRIPTION
     The vidcontrol utility is used to set various options for the syscons(4) or
     vt(4) console driver, such as video mode, colors, cursor shape, screen out-
     put  map, font and screen saver timeout.  Only a small subset of options is
     supported by vt(4).  Unsupported options lead to error messages,  typically
     including the text "Inappropriate ioctl for device".

     The following command line options are supported:

     mode    Select  a	new  video  mode.   The  modes currently recognized are:
	     80x25, 80x30, 80x43, 80x50, 80x60, 132x25, 132x30, 132x43,  132x50,
	     132x60,  VGA_40x25,  VGA_80x25,  VGA_80x30,  VGA_80x50,  VGA_80x60,
	     VGA_90x25, VGA_90x30, VGA_90x43, VGA_90x50,  VGA_90x60,  EGA_80x25,
	     EGA_80x43, VESA_132x25, VESA_132x43, VESA_132x50, VESA_132x60.  The
	     raster text mode VESA_800x600 can also be chosen.	Alternatively, a
	     mode  can	be specified with its number by using a mode name of the
	     form MODE_<NUMBER>.  A list of valid mode numbers can  be	obtained
	     with the -i mode option.  See "Video Mode Support" below.

     foreground [background]
	     Change  colors  when displaying text.  Specify the foreground color
	     (e.g. "vidcontrol white"), or both a foreground and background col-
	     ors (e.g. "vidcontrol yellow blue").  Use the show command below to
	     see available colors.

     show    See the supported colors on a given platform.

     -b color
	     Set border color to color.  This option may not be always supported
	     by the video driver.

     -C      Clear the history buffer.

     -c normal | blink | destructive
	     Change the cursor appearance.  The cursor is  either  an  inverting
	     block (normal) that can optionally blink, or it can be like the old
	     hardware  cursor  (destructive).	The latter is actually a simula-
	     tion.

     -d      Print out current output screen map.

     -f [[size] file]
	     Load font file for size (currently, only 8x8, 8x14 or  8x16).   The
	     font file can be either uuencoded or in raw binary format.  You can
	     also  use	the  menu-driven  vidfont(1) command to load the font of
	     your choice.

	     Size may be omitted, in this case vidcontrol will try to  guess  it
	     from the size of font file.

	     When using vt(4) both size and font can be omitted, and the default
	     font will be loaded.

	     Note  that  older	video cards, such as MDA and CGA, do not support
	     software font.  See also "Video Mode Support" and "EXAMPLES"  below
	     and the man page for either syscons(4) or vt(4) (depending on which
	     driver you use).

     -g geometry
	     Set  the  geometry  of  the text mode for the modes with selectable
	     geometry.	Currently only raster modes, such as VESA_800x600,  sup-
	     port this option.	See also "Video Mode Support" and "EXAMPLES" be-
	     low.

     -h size
	     Set the size of the history (scrollback) buffer to size lines.

     -i adapter
	     Shows info about the current video adapter.

     -i mode
	     Shows the possible video modes with the current video hardware.

     -l screen_map
	     Install   screen	output	map  file  from  screen_map.   See  also
	     syscons(4) or vt(4) (depending on which driver you use).

     -L      Install default screen output map.

     -M char
	     Sets the base character used to render the mouse pointer to char.

     -m on | off
	     Switch the mouse  pointer	on  or	off.   Used  together  with  the
	     moused(8) daemon for text mode cut & paste functionality.

     -p      Capture  the  current contents of the video buffer corresponding to
	     the terminal device referred to by standard input.  The  vidcontrol
	     utility  writes contents of the video buffer to the standard output
	     in a raw binary format.  For details about that format see  "Format
	     of Video Buffer Dump" below.

     -P      Same  as  -p, but dump contents of the video buffer in a plain text
	     format ignoring nonprintable characters and information about  text
	     attributes.

     -H      When  used with -p or -P, it instructs vidcontrol to dump full his-
	     tory buffer instead of visible portion of the video buffer only.

     -r foreground background
	     Change reverse mode colors to foreground and background.

     -S on | off
	     Turn vty switching on or off.  When vty switching is off,	attempts
	     to  switch to a different virtual terminal will fail.  (The default
	     is to permit vty switching.)  This protection  can  be  easily  by-
	     passed  when  the kernel is compiled with the DDB option.	However,
	     you probably should not compile the kernel debugger on a box  which
	     is supposed to be physically secure.

     -s number
	     Set the current vty to number.

     -T xterm | cons25
	     Switch between xterm and cons25 style terminal emulation.

     -t N | off
	     Set the screensaver timeout to N seconds, or turns it off.

     -x      Use hexadecimal digits for output.

   Video Mode Support
     Note  that  not  all modes listed above may be supported by the video hard-
     ware.  You can verify which mode is supported by the video hardware,  using
     the -i mode option.

     The  VESA BIOS support must be linked to the kernel or loaded as a KLD mod-
     ule if you wish to use VESA video modes or 132 column modes (see vga(4)).

     You need to compile your kernel with the VGA_WIDTH90 option if you wish  to
     use VGA 90 column modes (see vga(4)).

     Video  modes  other  than 25 and 30 line modes may require specific size of
     font.  Use -f option above to load a font file to the kernel.  If	the  re-
     quired size of font has not been loaded to the kernel, vidcontrol will fail
     if the user attempts to set a new video mode.

     Modes	      Font size
     25 line modes    8x16 (VGA), 8x14 (EGA)
     30 line modes    8x16
     43 line modes    8x8
     50 line modes    8x8
     60 line modes    8x8

     It  is  better  to  always load all three sizes (8x8, 8x14 and 8x16) of the
     same font.

     You may set variables in /etc/rc.conf or /etc/rc.conf.local so that desired
     font files will be automatically loaded when the system starts up.  See be-
     low.

     If you want to use any of the raster text modes you need to recompile  your
     kernel  with  the SC_PIXEL_MODE option.  See syscons(4) or vt(4) (depending
     on which driver you use) for more details on this kernel option.

   Format of Video Buffer Dump
     The vidcontrol utility uses the syscons(4) or vt(4)  CONS_SCRSHOT	ioctl(2)
     to  capture the current contents of the video buffer.  The vidcontrol util-
     ity writes version and additional information to the standard output,  fol-
     lowed by the contents of the video buffer.

     VGA  video memory is typically arranged in two byte tuples, one per charac-
     ter position.  In each tuple, the first byte will be  the	character  code,
     and the second byte is the character's color attribute.

     The VGA color attribute byte looks like this:

     bits#		  width    meaning
     7	    <X0000000>	  1	   character blinking
     6:4    <0XXX0000>	  3	   background color
     3	    <0000X000>	  1	   bright foreground color
     2:0    <00000XXX>	  3	   foreground color

     Here is a list of the three bit wide base colors:

	   0	   Black
	   1	   Blue
	   2	   Green
	   3	   Cyan
	   4	   Red
	   5	   Magenta
	   6	   Brown
	   7	   Light Grey

     Base colors with bit 3 (the bright foreground flag) set:

	   0	   Dark Grey
	   1	   Light Blue
	   2	   Light Green
	   3	   Light Cyan
	   4	   Light Red
	   5	   Light Magenta
	   6	   Yellow
	   7	   White

     For example, the two bytes

	   65 158

     specify  an uppercase A (character code 65), blinking (bit 7 set) in yellow
     (bits 3:0) on a blue background (bits 6:4).

     The vidcontrol output contains a small header which includes additional in-
     formation which may be useful to utilities processing the output.

     The first 10 bytes are always arranged as follows:

	   Byte Range	 Contents
	   1 thru 8	 Literal text "SCRSHOT_"
	   9		 File format version number
	   10		 Remaining number of bytes in the header

     Subsequent bytes depend on the version number.

	   Version    Byte	   Meaning
	   1	      11	   Terminal width, in characters
		      12	   Terminal depth, in characters
		      13 and up    The snapshot data

     So a dump of an 80x25 screen would start (in hex)

	   53 43 52 53 48 4f 54 5f 01 02 50 19
	   ----------------------- -- -- -- --
		     |		    |  |  |  ` 25 decimal
		     |		    |  |  `--- 80 decimal
		     |		    |  `------ 2 remaining bytes of header data
		     |		    `--------- File format version 1
		     `------------------------ Literal "SCRSHOT_"

VIDEO OUTPUT CONFIGURATION
   Boot Time Configuration
     You may set the following variables in /etc/rc.conf  or  /etc/rc.conf.local
     in order to configure the video output at boot time.

     blanktime	  Sets the timeout value for the -t option.
     font8x16, font8x14, font8x8
		  Specifies font files for the -f option.
     scrnmap	  Specifies a screen output map file for the -l option.

     See rc.conf(5) for more details.

   Driver Configuration
     The  video  card  driver  may let you change default configuration options,
     such as the default font, so that you do not need to set up the options  at
     boot time.  See video card driver manuals, (e.g. vga(4)) for details.

FILES
     /usr/share/syscons/fonts/*
     /usr/share/vt/fonts/*		  font files.
     /usr/share/syscons/scrnmaps/*	  screen  output map files (relevant for
					  syscons(4) only).

EXAMPLES
     If you want to load /usr/share/syscons/fonts/iso-8x16.fnt	to  the  kernel,
     run vidcontrol as:

	   vidcontrol -f 8x16 /usr/share/syscons/fonts/iso-8x16.fnt

     So  long as the font file is in /usr/share/syscons/fonts (if using syscons)
     or /usr/share/vt/fonts (if using vt), you may abbreviate the file	name  as
     iso-8x16:

	   vidcontrol -f 8x16 iso-8x16

     Furthermore, you can also omit font size "8x16":

	   vidcontrol -f iso-8x16

     Moreover,	the suffix specifying the font size can be also omitted; in this
     case, vidcontrol will use the size of the currently displayed font to  con-
     struct the suffix:

	   vidcontrol -f iso

     Likewise,	you  can also abbreviate the screen output map file name for the
     -l option if the file is found in /usr/share/syscons/scrnmaps.

	   vidcontrol -l iso-8859-1_to_cp437

     The	     above	       command		   will 	    load
     /usr/share/syscons/scrnmaps/iso-8859-1_to_cp437.scm.

     The  following  command  will  set-up a 100x37 raster text mode (useful for
     some LCD models):

	   vidcontrol -g 100x37 VESA_800x600

     The following command will capture the contents of the first virtual termi-
     nal video buffer, and redirect the output to the shot.scr file:

	   vidcontrol -p < /dev/ttyv0 > shot.scr

     The following command will dump contents of  the  fourth  virtual	terminal
     video buffer to the standard output in the human readable format:

	   vidcontrol -P < /dev/ttyv3

SEE ALSO
     kbdcontrol(1),  vidfont(1),  keyboard(4),	screen(4),  syscons(4),  vga(4),
     vt(4), rc.conf(5), kldload(8), moused(8), watch(8)

     The various scr2* utilities in the graphics and textproc categories of  the
     Ports Collection.

AUTHORS
     Soren Schmidt <sos@FreeBSD.org>
     Sascha Wildner

CONTRIBUTORS
     Maxim Sobolev <sobomax@FreeBSD.org>, Nik Clayton <nik@FreeBSD.org>

FreeBSD 10.2			December 23, 2006		   VIDCONTROL(1)

home | help