glenda.party
term% ls -F
term% pwd
$home/manuals/9front/8/vga
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)