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.\" $Id: vga.4,v 1.1 1999/02/07 05:40:14 yokota Exp $ 28.\" 29.Dd February 9, 1999 30.Dt VGA 4 31.Os FreeBSD 32.Sh NAME 33.Nm vga 34.Nd 35generic video card interface 36.Sh SYNOPSIS 37.Cd "options" \&"VESA\&" 38.Cd "options" \&"VESA_DEBUG=N\&" 39.Cd "options" \&"VGA_ALT_SEQACCESS\&" 40.Cd "options" \&"VGA_NO_FONT_LOADING\&" 41.Cd "options" \&"VGA_NO_MODE_CHANGE\&" 42.Cd "options" \&"VGA_SLOW_IOACCESS\&" 43.Cd "options" \&"VM86\&" 44.Cd "device vga0 at isa? port ? conflicts" 45.Sh DESCRIPTION 46The 47.Nm 48driver is a generic video card driver which provides access to 49video cards. This driver is required for the console driver 50.Xr syscons 4 . 51The console driver will call the 52.Nm 53driver to manipulate video hardware (changing video modes, loading font, etc). 54.Pp 55The keyword 56.Em conflicts 57is required, as the video card may use I/O ports in the same range 58as other drivers. 59.Pp 60The 61.Nm 62driver supports the standard video cards: MDA, CGA, EGA and VGA. In 63addition, the driver can utilize VESA BIOS extensions if the video card 64supports them. VESA support can either be statically included in the kernel 65or can be loaded as a separate module. 66.Pp 67In order to statically link the support to the kernel, the 68.Em VESA 69option (see below) and the 70.Em VM86 71option must be defined in the kernel configuration file. 72.Pp 73The 74.Nm vesa 75module can be dynamically loaded into the kernel using 76.Xr kldload 8 . 77This requires the 78.Em VM86 79option to be defined in the kernel configuration file. 80.Sh DRIVER CONFIGURATION 81.Ss Kernel Configuration Options 82The following kernel configuration options 83.Pq see Xr config 8 84can be used to control the 85.Nm 86driver. 87These options provide compatibility with certain VGA cards. 88.Bl -tag -width MOUSE 89.It Em VGA_ALT_SEQACCESS 90You may want to try this option if the mouse pointer is not drawn correctly 91or the font does not seem to be loaded properly on the VGA card. 92However, it may cause flicker on some systems. 93.It Em VGA_SLOW_IOACCESS 94Older VGA cards may require this option for proper operation. 95It makes the driver perform byte-wide I/O to VGA registers and 96slow down a little. 97.El 98.Pp 99The following options add optional features to the driver. 100.Bl -tag -width MOUSE 101.It Em VESA 102Add VESA BIOS support to the driver. 103If the VGA card has the VESA BIOS extension 1.2 or later, 104this option will utilize the VESA BIOS service to switch to high 105resolution modes. 106This option requires the 107.Em VM86 108option. 109.It Em VESA_DEBUG=N 110Set the VESA support debug level to 111.Fa N . 112The default value is zero, which suppresses all debugging output. 113.El 114.Pp 115The following options will remove some features from the 116.Nm 117driver and save kernel memory. 118.Bl -tag -width MOUSE 119.It Em VGA_NO_FONT_LOADING 120The 121.Nm 122driver can load software font to EGA and VGA cards. 123This option removes this feature. 124.It Em VGA_NO_MODE_CHANGE 125This option prevents the driver from changing video modes. 126.El 127.\".Sh FILES 128.Sh EXAMPLE 129Your kernel configuration should normally have: 130.Pp 131.Dl "device vga0 at isa? port ? conflicts" 132.Pp 133The following lines should be included in the kernel configuration file 134in order to enable the VESA BIOS Extension support. 135.Pp 136.Dl "options" \&"VM86\&" 137.Dl "options" \&"VESA\&" 138.Dl "device vga0 at isa? port ? conflicts" 139.Pp 140If you do not want VESA support included in the kernel, but 141want to use occasionally, add the following lines to the kernel configuration 142file: 143.Pp 144.Dl "options" \&"VM86\&" 145.Dl "device vga0 at isa? port ? conflicts" 146.Pp 147Then load the 148.Nm vesa 149module as desired: 150.Pp 151.Dl kldload vesa 152.Pp 153.\".Sh DIAGNOSTICS 154.\".Sh CAVEATS 155.\".Sh BUGS 156.Sh SEE ALSO 157.Xr syscons 4 , 158.Xr config 8 , 159.Xr kldload 8 , 160.Xr kldunload 8 . 161.Sh STANDARD 162.Rs 163.%T "VESA BIOS Extension (VBE)" 164.%A Video Electronics Standards Association 165.Re 166.Sh HISTORY 167The 168.Nm 169driver first appeared in 170.Fx 3.1 . 171.Sh AUTHORS 172The 173.Nm 174driver was written by 175.An S�ren Schmidt Aq sos@FreeBSD.org 176and 177.An Kazutaka Yokota Aq yokota@FreeBSD.org . 178This manual page was written by 179.An Kazutaka Yokota . 180