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/vga.4,v 1.7.2.10 2002/12/20 18:03:05 trhodes Exp $ 28.\" $DragonFly: src/share/man/man4/vga.4,v 1.6 2008/01/09 22:08:29 swildner Exp $ 29.\" 30.Dd January 9, 2008 31.Dt VGA 4 32.Os 33.Sh NAME 34.Nm vesa , 35.Nm vga 36.Nd generic video card interface 37.Sh SYNOPSIS 38.Cd "options VESA" 39.Cd "options VESA_DEBUG=N" 40.Cd "options VGA_ALT_SEQACCESS" 41.Cd "options VGA_NO_FONT_LOADING" 42.Cd "options VGA_NO_MODE_CHANGE" 43.Cd "options VGA_SLOW_IOACCESS" 44.Cd "options VGA_DEBUG=N" 45.Cd "options VGA_WIDTH90" 46.Cd "device vga0 at isa? port ?" 47.Sh DESCRIPTION 48The 49.Nm 50driver is a generic video card driver which provides access to 51video cards. 52This driver is required for the console driver 53.Xr syscons 4 . 54The console driver will call the 55.Nm 56driver to manipulate video hardware (changing video modes, loading font, etc). 57.Pp 58The 59.Nm 60driver supports the standard VGA video cards. 61In addition, the driver can utilize the VESA BIOS Extension if the video card 62supports it. 63VESA support can either be statically included in the kernel 64or can be loaded as a separate module. 65.Pp 66In order to statically link the VESA support into the kernel, the 67.Dv VESA 68option (see below) must be defined in the kernel configuration file. 69.Pp 70The 71.Nm vesa 72module can be dynamically loaded into the kernel using 73.Xr kldload 8 . 74.Sh DRIVER CONFIGURATION 75.Ss Kernel Configuration Options 76The following kernel configuration options 77(see 78.Xr config 8 ) 79can be used to control the 80.Nm 81driver. 82These options provide compatibility with certain VGA cards. 83.Bl -tag -width ".Dv VGA_NO_FONT_LOADING" 84.It Dv VGA_ALT_SEQACCESS 85You may want to try this option if the mouse pointer is not drawn correctly 86or the font does not seem to be loaded properly on the VGA card. 87However, it may cause flicker on some systems. 88.It Dv VGA_DEBUG=N 89Set the VGA support debug level to 90.Fa N . 91The default value is 0, which suppresses all debugging output. 92A value of 2 gives maximum verbosity. 93.It Dv 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.It Dv VGA_WIDTH90 98This option enables 90 column modes: 90x25, 90x30, 90x43, 90x50, 90x60. 99These modes are not always supported by the video card and the display. 100It is highly likely that LCD display cannot work with these modes. 101.El 102.Pp 103The following options add optional features to the driver. 104.Bl -tag -width ".Dv VGA_NO_FONT_LOADING" 105.It Dv VESA 106Add VESA BIOS Extension support to the driver. 107If the VGA card has the VESA BIOS Extension 1.2 or later, 108this option will utilize it to switch to high resolution modes. 109.It Dv VESA_DEBUG=N 110Set the VESA support debug level to 111.Fa N . 112The default value is 0, which suppresses all debugging output. 113A value of 2 gives maximum verbosity. 114.El 115.Pp 116The following options will remove some features from the 117.Nm 118driver and save kernel memory. 119.Bl -tag -width ".Dv VGA_NO_FONT_LOADING" 120.It Dv VGA_NO_FONT_LOADING 121This option removes font loading from the driver. 122Note that if you use this option and 123still wish to use the mouse on the console then you must also use the 124.Dv SC_ALT_MOUSE_IMAGE 125option. 126See 127.Xr syscons 4 . 128.It Dv VGA_NO_MODE_CHANGE 129This option prevents the driver from changing video modes. 130.El 131.Sh EXAMPLES 132Your kernel configuration should normally have: 133.Pp 134.D1 Cd "device vga0 at isa? port ?" 135.Pp 136The following line should be included in the kernel configuration file 137in order to enable the VESA BIOS Extension support. 138.Pp 139.D1 Cd "options VESA" 140.Pp 141If you do not want VESA support included in the kernel, but 142want to use occasionally, do not add the 143.Dv VESA 144option. 145And load the 146.Nm vesa 147module as desired: 148.Pp 149.Dl kldload vesa 150.Sh SEE ALSO 151.Xr vgl 3 , 152.Xr syscons 4 , 153.Xr config 8 , 154.Xr kldload 8 , 155.Xr kldunload 8 156.Sh STANDARDS 157.Rs 158.%A "Apple, IBM, Motorola" 159.%T "Common Hardware Reference Platform: I/O Device Reference" 160.%B "Appendix A: VGA Programming Model" 161.%P "p. 195" 162.%O "ftp://ftp.software.ibm.com/rs6000/technology/spec/chrp/" 163.Re 164.Rs 165.%T "VESA BIOS Extension (VBE)" 166.%A Video Electronics Standards Association 167.Re 168.Sh HISTORY 169The 170.Nm 171driver first appeared in 172.Fx 3.1 . 173.Sh AUTHORS 174.An -nosplit 175The 176.Nm 177driver was written by 178.An S\(/oren Schmidt Aq sos@FreeBSD.org 179and 180.An Kazutaka Yokota Aq yokota@FreeBSD.org . 181This manual page was written by 182.An Kazutaka Yokota . 183