2 .\" vidcontrol - a utility for manipulating the syscons video driver
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
21 .Nd system console control and configuration utility
26 .Op Fl c Ar appearance
34 .Op Fl i Cm adapter | mode
35 .Op Fl l Ar screen_map
38 .Op Fl r Ar foreground Ar background
41 .Op Fl t Ar N | Cm off
43 .Op Ar foreground Op Ar background
48 command is used to set various options for the
51 such as video mode, colors, cursor shape, screen output map, font and screen
54 The following command line options are supported:
55 .Bl -tag -width indent
57 Select a new video mode.
58 The modes currently recognized are:
91 Alternatively, a mode can be specified with its number by using a mode name of
94 A list of valid mode numbers can be obtained with the
97 .Sx Video Mode Support
99 .It Ar foreground Op Ar background
100 Change colors when displaying text.
101 Specify the foreground color
103 .Dq vidcontrol white ) ,
104 or both a foreground and background colors
106 .Dq vidcontrol yellow blue ) .
109 command below to see available colors.
111 See the supported colors on a given platform.
115 This option may not be always supported by the video driver.
117 Clear the history buffer.
118 .It Fl c Cm normal | blink | destructive
119 Change the cursor appearance.
120 The cursor is either an inverting block
124 or it can be like the old hardware cursor
126 The latter is actually a simulation.
128 Print out current output screen map.
143 The font file can be either uuencoded or in raw binary format.
144 You can also use the menu-driven
146 command to load the font of your choice.
149 may be omitted, in this case
151 will try to guess it from the size of font file.
153 Note that older video cards, such as MDA and CGA, do not support
156 .Sx Video Mode Support
159 below and the man page for
164 of the text mode for the modes with selectable
166 Currently only raster modes, such as
170 .Sx Video Mode Support
175 Set the size of the history (scrollback) buffer to
179 Shows info about the current video adapter.
181 Shows the possible video modes with the current video hardware.
182 .It Fl l Ar screen_map
183 Install screen output map file from
188 Install default screen output map.
190 Sets the base character used to render the mouse pointer to
193 Switch the mouse pointer
197 Used together with the
199 daemon for text mode cut & paste functionality.
201 Capture the current contents of the video buffer corresponding
202 to the terminal device referred to by standard input.
205 utility writes contents of the video buffer to the standard
206 output in a raw binary format.
207 For details about that
209 .Sx Format of Video Buffer Dump
214 but dump contents of the video buffer in a plain text format
215 ignoring nonprintable characters and information about text
224 to dump full history buffer instead of visible portion of
225 the video buffer only.
226 .It Fl r Ar foreground background
227 Change reverse mode colors to
232 Turn vty switching on or off.
233 When vty switching is off,
234 attempts to switch to a different virtual terminal will fail.
235 (The default is to permit vty switching.)
236 This protection can be easily bypassed when the kernel is compiled with
240 However, you probably should not compile the kernel debugger on a box which
241 is supposed to be physically secure.
243 Set the current vty to
245 .It Fl t Ar N | Cm off
246 Set the screensaver timeout to
251 Use hexadecimal digits for output.
253 .Ss Video Mode Support
254 Note that not all modes listed above may be supported by the video
256 You can verify which mode is supported by the video hardware, using the
260 The VESA BIOS support must be linked to the kernel
261 or loaded as a KLD module if you wish to use VESA video modes
266 You need to compile your kernel with the
268 option if you wish to use VGA 90 column modes
272 Video modes other than 25 and 30 line modes may require specific size of font.
275 option above to load a font file to the kernel.
276 If the required size of font has not been loaded to the kernel,
278 will fail if the user attempts to set a new video mode.
280 .Bl -column "25 line modes" "8x16 (VGA), 8x14 (EGA)" -compact
281 .Sy Modes Ta Sy Font size
282 .Li 25 line modes Ta 8x16 (VGA), 8x14 (EGA)
283 .Li 30 line modes Ta 8x16
284 .Li 43 line modes Ta 8x8
285 .Li 50 line modes Ta 8x8
286 .Li 60 line modes Ta 8x8
289 It is better to always load all three sizes (8x8, 8x14 and 8x16)
292 You may set variables in
295 .Pa /etc/rc.conf.local
296 so that desired font files will be automatically loaded
297 when the system starts up.
300 If you want to use any of the raster text modes you need to recompile your
306 for more details on this kernel option.
307 .Ss Format of Video Buffer Dump
314 to capture the current contents of the video buffer.
317 utility writes version and additional information to the standard
318 output, followed by the contents of the terminal device.
320 VGA video memory is typically arranged in two byte tuples,
321 one per character position.
322 In each tuple, the first byte will be the character code,
323 and the second byte is the character's color attribute.
325 The VGA color attribute byte looks like this:
327 .Bl -column "X:X" "<00000000>" "width" "bright foreground color"
328 .Sy "bits# width meaning"
329 .Li "7 <X0000000> 1 character blinking"
330 .Li "6:4 <0XXX0000> 3 background color"
331 .Li "3 <0000X000> 1 bright foreground color"
332 .Li "2:0 <00000XXX> 3 foreground color"
335 Here is a list of the three bit wide base colors:
337 .Bl -hang -offset indent -compact
356 Base colors with bit 3 (the bright foreground flag) set:
358 .Bl -hang -offset indent -compact
377 For example, the two bytes
381 specify an uppercase A (character code 65), blinking
382 (bit 7 set) in yellow (bits 3:0) on a blue background
387 output contains a small header which includes additional
388 information which may be useful to utilities processing
391 The first 10 bytes are always arranged as follows:
392 .Bl -column "Byte range" "Contents" -offset indent
393 .It Sy "Byte Range Contents"
394 .It "1 thru 8 Literal text" Dq Li SCRSHOT_
395 .It "9 File format version number"
396 .It "10 Remaining number of bytes in the header"
399 Subsequent bytes depend on the version number.
400 .Bl -column "Version" "13 and up" -offset indent
401 .It Sy "Version Byte Meaning"
402 .It "1 11 Terminal width, in characters"
403 .It " 12 Terminal depth, in characters"
404 .It " 13 and up The snapshot data"
407 So a dump of an 80x25 screen would start (in hex)
408 .Bd -literal -offset indent
409 53 43 52 53 48 4f 54 5f 01 02 50 19
410 ----------------------- -- -- -- --
412 | | | `--- 80 decimal
413 | | `------ 2 remaining bytes of header data
414 | `--------- File format version 1
415 `------------------------ Literal "SCRSHOT_"
417 .Sh VIDEO OUTPUT CONFIGURATION
418 .Ss Boot Time Configuration
419 You may set the following variables in
422 .Pa /etc/rc.conf.local
423 in order to configure the video output at boot time.
425 .Bl -tag -width foo_bar_var -compact
427 Sets the timeout value for the
430 .It Ar font8x16 , font8x14 , font8x8
431 Specifies font files for the
435 Specifies a screen output map file for the
443 .Ss Driver Configuration
444 The video card driver may let you change default configuration
445 options, such as the default font, so that you do not need to set up
446 the options at boot time.
447 See video card driver manuals, (e.g.\&
451 .Bl -tag -width /usr/share/syscons/scrnmaps/foo-bar -compact
452 .It Pa /usr/share/syscons/fonts/*
454 .It Pa /usr/share/syscons/scrnmaps/*
455 screen output map files.
459 .Pa /usr/share/syscons/fonts/iso-8x16.fnt
464 .Dl vidcontrol -f 8x16 /usr/share/syscons/fonts/iso-8x16.fnt
466 So long as the font file is in
467 .Pa /usr/share/syscons/fonts ,
468 you may abbreviate the file name as
471 .Dl vidcontrol -f 8x16 iso-8x16
473 Furthermore, you can also omit font size
476 .Dl vidcontrol -f iso-8x16
478 Moreover, the suffix specifying the font size can be also omitted; in
481 will use the size of the currently displayed font to construct the
484 .Dl vidcontrol -f iso
486 Likewise, you can also abbreviate the screen output map file name for
489 option if the file is found in
490 .Pa /usr/share/syscons/scrnmaps .
492 .Dl vidcontrol -l iso-8859-1_to_cp437
494 The above command will load
495 .Pa /usr/share/syscons/scrnmaps/iso-8859-1_to_cp437.scm .
497 The following command will set-up a 100x37 raster text mode (useful for
500 .Dl vidcontrol -g 100x37 VESA_800x600
502 The following command will capture the contents of the first virtual
503 terminal, and redirect the output to the
507 .Dl vidcontrol -p < /dev/ttyv0 > shot.scr
509 The following command will dump contents of the fourth virtual terminal
510 to the standard output in the human readable format:
512 .Dl vidcontrol -P < /dev/ttyv3
532 .Em "Ports Collection" .
534 .An S\(/oren Schmidt Aq sos@FreeBSD.org
537 .An Maxim Sobolev Aq sobomax@FreeBSD.org ,
538 .An Nik Clayton Aq nik@FreeBSD.org