term% cat index.txt VGA(8) System Manager's Manual VGA(8)
NAME
vga - configure a VGA card
SYNOPSIS
aux/vga [ -BcdilpvV ] [ -b bios-string ] [ -m monitor ] [ -x file ] [
mode [ size ] ]
DESCRIPTION
Vga configures a VGA controller for various display sizes and depths.
Using the monitor type specified in /env/monitor (default vga) and the
mode given as argument (default 640x480x1), vga uses the database of
known VGA controllers and monitors in /lib/vgadb (see vgadb(6)) to con‐
figure the display via the devices provided by vga(3). The options
are:
-b bios-string
use the VGA database entry corresponding to bios-string (e.g.
0xC0045="Stealth 64 DRAM Vers. 2.02") rather than looking for
identifying strings in the BIOS memory.
-B dump the BIOS memory (in hex) to standard output and exit.
-c disable the use of the hardware graphics cursor.
-d include the color palette in whatever actions are performed,
usually printing the contents.
-i when used with -p display the register values that will be
loaded.
-l load the desired mode.
-m monitor
override the /env/monitor value. /env/monitor is usually set by
including it in the plan9.ini file read by the PC boot program.
-p print the current or expected register values at appropriate
points depending on other options.
-v print a trace of the functions called.
-V print a verbose trace of the functions called.
-x file
use file as the VGA database rather than /lib/vgadb.
Mode is of the form XxYxZ[,S][,#N] , where X, Y, and Z are numbers
specifying the display height, width, and depth respectively. S is
scaling mode, either scalefull or scaleaspect; not specifying it dis‐
ables scaling altogether. #N is used to switch to a specific display
using its index N.
The mode must appear in /lib/vgadb as a value for one of the monitor
entries. The usual modes are 640x480x[18], 800x600x[18],
1024x768x[18][i], 1280x1024x[18][i], 1376x1024x8, and 1600x1200x8. A
trailing indicates interlaced operation. The default mode is
640x480x8. Size is of the form X x Y and configures the display to
have a virtual screen of the given size. The physical screen will pan
to follow the mouse. This is useful on displays with small screens,
such as laptops, but can be confusing.
Using the monitor name vesa instructs vga to use VESA BIOS calls to
configure the display. Also, if our VGA controller can't be found in
vgadb, vga will try the VESA calls. There are no entries for the vesa
monitor in vgadb. For a list of available VESA modes and connected
displays, use
aux/vga -m vesa -p
Loading the special mode text:
aux/vga -l text
switches out of graphics mode back into text mode. It uses the VESA
BIOS.
EXAMPLES
Change the display resolution:
aux/vga -l 1600x1200x8
Show connected and active displays:
aux/vga -m vesa -p | grep dsp
Switch to display 4 and load a specific mode:
aux/vga -m vesa -l '1920x1080x16,#4'
Print the current VGA controller registers. It is usually best to
redirect the output of a -p command to a file to prevent confusion
caused by using the VGA controller while trying to dump its state:
aux/vga -p >/tmp/x
Force the VGA controller to a known state:
aux/vga -m vga -l
Print the current VGA controller state and what would be loaded into it
for a new resolution, but don't do the load:
aux/vga -ip 1376x1024x8 >/tmp/x
FILES
/env/monitor
display type (default vga).
/lib/vgadb
VGA configuration file.
SOURCE
/sys/src/cmd/aux/vga
SEE ALSO
vga(3), vgadb(6),
BUGS
Aux/vga makes every effort possible to verify that the mode it is about
to load is valid and will bail out with an error message before setting
any registers if it encounters a problem. However, things can go
wrong, especially when playing with a new VGA controller or monitor
setting. It is useful in such cases to have the above command for set‐
ting the controller to a known state at your fingertips.
Scaling modes currently work with Intel and NVIDIA video adapters only,
using VESA. Intel doesn't support scaleaspect mode.
Display switching currently works with Intel video adapters only, using
VESA.
VGA(8)