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