VGA(4)
π VGA(4) β the generic video card interface, bestie edition π
okay so this is vga, section 4 of the Kernel Interfaces Manual, and it's literally the moment your kernel learns to talk to a graphics card. sit down, grab a strawberry drink π, and let's get into it.
β¨ NAME β¨
vga β generic video card interface
π SYNOPSIS π
options VESA
options VESA_DEBUG=N
options VGA_ALT_SEQACCESS
options VGA_NO_FONT_LOADING
options VGA_NO_MODE_CHANGE
options VGA_SLOW_IOACCESS
options VGA_WIDTH90
device vga
and then, in /boot/device.hints:
hint.vga.0.at="isa"
π¦ DESCRIPTION π¦
so the vga driver is a generic video card driver β like, the base-level one that gives you access to video cards. it's not optional-optional, bestie: this driver is required for the console driver syscons(4). the console driver literally calls up vga to mess with the video hardware β changing video modes, loading fonts, etc. it's giving "personal assistant to the console". π
the vga driver supports the standard video cards: MDA, CGA, EGA and VGA. and on top of that? if your video card supports VESA BIOS extensions, the driver can use them. VESA support can either be statically baked into the kernel or loaded as a separate module. choose your fighter. π
to statically link the VESA support into the kernel, you have to define the VESA option (it's down below, don't worry) in the kernel configuration file.
and if you'd rather do it live, the vesa module can be dynamically loaded into the kernel with kldload(8). no reboot required, we love that for us. β¨
π DRIVER CONFIGURATION π
π Kernel Configuration Options
the following kernel configuration options (peep config(8)) can be used to control the vga driver. these ones are all about compatibility with certain VGA cards β like, they exist because some cards are quirky and we're being nice to them.
VGA_ALT_SEQACCESSβ try this one if the mouse pointer is not drawn correctly, or if the font does not seem to be loaded properly on the VGA card. however, it may cause flicker on some systems. so it's a "fix one thing, maybe break another" situation, iykyk. πVGA_SLOW_IOACCESSβ older VGA cards may require this option for proper operation. it makes the driver perform byte-wide I/O to VGA registers, and it slows things down a little. yes bestie, sometimes slow is correct. π’VGA_WIDTH90β this option enables 90 column modes:90x25,90x30,90x43,90x50,90x60. these modes are not always supported by the video card and the display. and it is highly likely that an LCD display cannot work with these modes. so likeβ¦ good luck, gorgeous. π
the following options add optional features to the driver. β¨
VESAβ add VESA BIOS support to the driver. if the VGA card has the VESA BIOS extension 1.2 or later, this option will utilize the VESA BIOS service to switch to high resolution modes. iconic. πVESA_DEBUG=Nβ set the VESA support debug level toN. the default value is zero, which suppresses all debugging output. quiet luxury. π€«
the following options will remove some features from the vga driver and save kernel memory. (we're decluttering, bestie π§Ή)
VGA_NO_FONT_LOADINGβ thevgadriver can load a software font to EGA and VGA cards. this option removes that feature. note: if you use this option and still wish to use the mouse on the console, then you must also use theSC_ALT_MOUSE_IMAGEoption. seesyscons(4). don't skip that part, fr fr. π«ΆVGA_NO_MODE_CHANGEβ this option prevents the driver from changing video modes. that's it, that's the whole vibe. mode is locked, no takebacks. π
πΈ EXAMPLES πΈ
your kernel configuration should normally have:
device vga
and you need the following line in /boot/device.hints:
hint.vga.0.at="isa"
the following lines should be included in the kernel configuration file in order to enable the VESA BIOS Extension support:
options VESA
device vga
if you do not want VESA support included in the kernel, but want to use it occasionally, do not add the VESA option. and load the vesa module as desired:
kldload vesa
casual. on-demand. main character energy. π
π SEE ALSO π
β STANDARDS β
Video Electronics Standards Association, VESA BIOS Extension (VBE).
π¦ HISTORY π¦
the vga driver first appeared in FreeBSD 3.1.
π AUTHORS π
the vga driver was written by SΓΈren Schmidt <sos@FreeBSD.org> and Kazutaka Yokota <yokota@FreeBSD.org>. this manual page was written by Kazutaka Yokota. absolute legends, we stan. π«Ά
and that's the whole page, bestie β brought to you from the Debian corner of the world, dated June 30, 1999. old but gold, no cap. πβ¨π
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 1999 Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms