SuperProbe
Section: User Commands (1)
Updated: Release 6.3 (XFree86 3.3.3/SuperProbe 2.17)
NAME
SuperProbe - probe for and identify installed video hardware.
SYNOPSIS
SuperProbe
[-verbose] [-no16] [-excl list] [-mask10]
[-order list] [-noprobe list] [-bios base]
[-no_bios] [-no_dac] [-no_mem] [-info]
DESCRIPTION
SuperProbe
is a a program that will attempt to determine the type of video hardware
installed in an EISA/ISA/VLB-bus system by checking for known registers
in various combinations at various locations (MicroChannel and PCI machines
may not be fully supported; many work with the use of the
-no_bios
option). This is an error-prone process, especially on Unix (which
usually has a lot more esoteric hardware installed than MS-DOS system do), so
SuperProbe may likely need help from the user.
SuperProbe
runs on SVR3, SVR4, Linux, 386BSD/FreeBSD/NetBSD, Minix-386, and Mach. It
should be trivial to extend it to work on any other Unix-like operating
system, and even non-Unix operating systems. All of the OS dependencies
are isolated to a single file for each OS.
At this time,
SuperProbe
can identify MDA, Hercules, CGA, MCGA, EGA, VGA, and an entire horde of
SVGA chipsets (see the
-info
option, below). It can also identify several HiColor/True-color RAMDACs
in use on SVGA boards, and the amount of video memory installed (for many
chipsets). It can identify 8514/A and some derivatives, but
not XGA, or PGC (although the author intends to add those capabilities).
Nor can it identify other esoteric video hardware (like Targa, TIGA, or
Microfield boards).
OPTIONS
- -verbose
-
SuperProbe
will be verbose and provide lots of information as it does its work.
- -no16
-
SuperProbe
will not attempt to use any ports that require 16-bit I/O address decoding.
The original ISA bus only specified that I/O ports be decoded to 10 bits.
Therefore some old cards (including many 8-bit cards) will mis-decode
references to ports that use the upper 6 bits, and may get into funny states
because they think that they are being addressed when they are not.
It is recommended that this option be used initially if any 8-bit cards
are present in the system.
- -excl list
-
SuperProbe
will not attempt to access any I/O ports on the specified exclusion list.
Some video cards use rather non-standard I/O ports that may conflict with
other cards installed in your system. By specifying to
SuperProbe
a list of ports already in use, it will know that there cannot be any video
cards that use those ports, and hence will not probe them (which could
otherwise confuse your hardware). The exclusion list is specified as
a comma-separated list of I/O ports or port ranges. A range is specified
as "low-high", and is inclusive. The ports can be specified in decimal,
in octal (numbers begin with '0'), or hexadecimal (numbers begin with '0x').
- -mask10
-
This option is used in combination with
-excl.
It tells
SuperProbe
that when comparing an I/O port under test against the exclusion list, the
port address should be masked to 10 bits. This is important with older
8-bit cards that only do 10 bit decoding, and for some cheap 16-bit cards
as well. This option is simply a less-drastic form of the
-no16
option.
- -order list
-
This option specifies which chipsets
SuperProbe
should test, and in which order. The
list
parameter is a comma-separated list of chipset names. This list overrides
the built-in default testing order. To find the list of acceptable names,
use the
-info
option described below. Note that items displayed as "Standard video
hardware" are not usable with the
-order
option.
- -noprobe list
-
This options specifies which chipsets
SuperProbe
should
not
test. The order of testing will either be the default order, or that
specified with the
-order
option described above. The
list
parameter is a comma-separated list of chipset names. To find the list
of acceptable names, use the
-info
option described below. Note that items displayed as "Standard video
hardware" are not usable with the
-noprobe
option.
- -bios base
-
This option specifies the base address for the graphics-hardware BIOS.
By default,
SuperProbe
will attempt to locate the BIOS base on its own (the normal address is
0xC0000). If it fails to correctly locate the BIOS (an error message will
be printed if this occurs), the
-bios
option can be used to specify the base.
- -no_bios
-
Disallow reading of the video BIOS and assume that an EGA or later
(VGA, SVGA) board is present as the primary video hardware.
- -no_dac
-
Skip probing for the RAMDAC type when an (S)VGA is identified.
- -no_mem
-
Skip probing for the amount of installed video memory.
- -info
-
SuperProbe
will print out a listing of all the video hardware that it knows how to
identify.
EXAMPLES
To run
SuperProbe
in its most basic and automated form, simply enter:
SuperProbe
Note - you may want to redirect
stdout
to a file when you run
SuperProbe
(especially if your OS does not support Virtual Terminals on the console).
However, if you have any 8-bit cards installed, you should initially run
SuperProbe
as:
SuperProbe -verbose -no16
(the
-verbose
option is included so you can see what
SuperProbe
is skipping).
Finer granularity can be obtained with an exclusion list, for example:
SuperProbe -verbose -excl 0x200,0x220-0x230,0x250
which will not test for any device that use port 0x200, ports 0x220 through
0x230, inclusive, or port 0x250. If you have any 8-bit cards installed,
you should add
-mask10
to the list of options.
To restrict the search to Western Digital, Tseng, and Cirrus chipset,
run
SuperProbe
as follows:
SuperProbe -order WD,Tseng,Cirrus
BUGS
Probably a lot at this point. Please report any bugs or incorrect
identifications to the author.
It is possible that SuperProbe can lock up your machine. Be sure to
narrow the search by using the -no16, -excl, and -mask10
options provided to keep SuperProbe from conflicting with other installed
hardware.
SEE ALSO
The
vgadoc3.zip
documentation package by Finn Thoegersen, available in the MS-DOS archives
of many FTP repositories.
Programmer's Guide to the EGA and VGA Cards, 2nd Ed, by Richard
Ferraro.
AUTHOR
David E. Wexelblat <dwex@xfree86.org>
with help from David Dawes <dawes@xfree86.org> and the XFree86
development team.