![[Toc]](../../toc.gif)
![[Index]](/idx.gif)
Most Frequently Asked Video Configuration Questions and Answers
How does the user configure monitor, resolution, and refresh in OS/2?
The user interface for video configuration is located in the
System object member of the System Setup folder, which can be
brought up by clicking the right mouse button on the desktop
area.
Why use the System Icon monitor configuration vs. custom configuration?
System Icon provides a large pool of legacy monitors and a
consistent device-independent resolution/refresh/monitor
configuration. The OS/2 Warp, Version 3.0 System Icon
configuration support can be installed on OS/2 2.1 and will be
supported on future versions of OS/2. The Sysem Icon's initial
configuration reflects the configuration that was performed by
the BIOS.
What other video configuration features are supported by the System Icon?
VIDEOCFG, the binary module that owns the System's video pages,
also has a generic capability interface. This generic interface
allows for expansion of configuration if a vendor needs
additional pages, such as a page for font selection,
orientation selection, or any other discrete value
configuration.
What is needed to get the System Icon to display the monitor list?
The mode table exported by the PMI subsystem has to have at
least one graphics mode with a [MonitorModeInfo] section. The
presence of this graphics mode indicates that the base video
system can take into account monitor capabilities.
What is needed to get the System Icon to display the Monitor size button?
The PMI subsystem mode table has to have at least one mode with
startup values for ScreenLeftEdge, ScreenRightEdge and so
forth. The support for monitor sizing is disabled in the DDK
version of the VIDEOCFG, but a refresh of the VIDEOCFG is
available on request.
How are monitor capabilities described in OS/2?
OS/2 has a pre-built database of about 300 monitors. The list
is ordered alphabetically by monitor manufacturer name. Each
monitor is described in terms of the resolutions it supports
and the maximum refresh value for each resolution. The syntax
does not allow for optimum or multiple timing choices. The
database is a flat file, MONITOR.DIF, that can be modified.
VIDEOCFG.DLL exports APIs that allow for monitor database
queries and expansion.
Where is the current configuration stored?
Current monitor configuration capabilities, as well as the
current refresh for each mode and screen sizing information,
are stored in a flat file, VIDEO.CFG, whose syntax is very
similar to PMI. The content can be queried or changed by
calling VIDEOCFG.DLL's configuration APIs.
Where does the default monitor come from?
SVGA.EXE (SVGAOEM.EXE) formats the very first VIDEO.CFG that
communicates to the configurator the current refresh
configuration, as left by the BIOS. We have assembled
per-adapter information that lets us understand how each vendor
records its refresh configuration. These values are formatted
into the VIDEO.CFG. If SVGA.EXE does not format the file, the
very first monitor from the MONITOR.DIF database is chosen.
Otherwise, the original (default) VIDEO.CFG monitor
capabilities are added to the MONITOR.DIF so that the customer
can go back to the BIOS-configured monitor capabilities.
Is there DDC support?
SVGA.EXE (and SVGAOEM.EXE) and the configuration do support the
DDC1 standard. SVGA.EXE formats the VIDEO.CFG with the
DDC1-queried capabilities and marks the monitor as DDC. This
automatically excludes any monitor from the database. As a result
, the customer is not offered monitor selection page, but does
have refresh choices per mode on Page 1. In order to change
from a DDC monitor to a non-DDC monitor, the customer has to do
one of the following:
* Change the current VIDEO.CFG's monitor name from the "DDC"
keyword to anything else
* Issue a SetCurrentCFG API into the VIDEOCFG.DLL and
specify a name other than DDC for the current monitor's
name
* Remove VIDEO.CFG will also enable the monitor selection.
Where do the refresh values in the refresh listbox on Page 1 come from?
The resolutions offered represent the resolutions returned by
the display driver that are also available from the PMI
subsystem. The match is done on horizontal and vertical
resolution and color depth (NOT pixel depth).
If at least one of the resolutions in this group has a
[MonitorModeInfo] section, the refresh box will be offered. The
content of the refresh box is tied into the currently selected
resolution. The refresh values are those found in the
VIDEOPMI's mode query list that are within the range of the
currently selected monitor. The highlight (default) is on the
highest value in the listbox (unless overridden by the
customer). Changing the selected monitor affects the range and
elicits immediate change if the range has been diminished. If
the range is increased, the configured refresh remains the same
and has to be increased by the customer, if so desired.
What does "DEFAULT" entry in the refresh listbox mean?
If the very first VIDEO.CFG has 0xFF for the resolutions
vertical refresh, the entry "DEFAULT" will be highlighted in
the refresh box. The actual set mode will also pass the 0xFF in
the mode structure, so that the selection of the refresh is
entirely up to the PMI subsystem (PMI file or imported binary
that handles the setmode function). The "DEFAULT" can be used
in places where the startup configuration of an adapter is not
known at first, but the base video subsystem has ways of
setting appropriate (non-harmful) refresh values. If the
SVGADATA.PMI contains [MonitorModeInfo] sections with refresh
entries other than 0xFF, the refresh listbox will also contain
those, but the customer has to override the default highlight.
As soon as an actual (non-DDC) monitor is chosen, the DEFAULT
will no longer be a valid option in the refresh listbox. Going
back to the original monitor "DEFAULT" would put the "DEFAULT"
refresh entry into the listbox.
How could a vendor be noncommittal about the refresh values it supports?
The vendor could provide a single [MonitorModeInfo] section
that represent its highest refresh capability. This information
will be filtered against the monitor's capabilities (the
monitor's range is always the highest refresh entry), which
effectively notifies the customer that only one (highest
capability of the monitor) refresh can be offered. The vendor
could specify its [MonitorModeInfo] entry to be so high that no
monitor is discriminated against. However, we strongly
recommend that the monitor's refresh value passed into the
setmode be respected and set as close as possible. There is the
potential for some legal problems if the values requested are
not within a margin. Regulations, such as ISO 9000
specifications, are established and enforced by countries where
our product is sold, not by IBM.
Could the OS/2 configuration serve to configure BIOS/WIN-OS2?
If the setmode function servicing the requested refresh also
sets configuration registers used by the BIOS / WIN-OS2 driver
before or after it changes the clock registers, this will
affect non-OS2 mode sets as well. It is not recommended that
non-OS2 applications read the VIDEO.CFG, as its format is open
to change. The GetCurrentCFG and GetCurrentDesktopMode APIs are
exported by the VIDEOCFG.DLL for OS/2 applications so that the
current monitor capabilities and current
resolution/refresh/monitor sizing values can be read.
How can new monitors be added to the list?
A new monitor can be added by using the AddMonitorData API
exported by the VIDEOCFG or by manually editing the MONITOR.DIF
file. A PRIVATE.DIF file with new monitor entries will
accomplish the same thing while keeping MONITOR.DIF as
read-only.
Are customers configuring their monitors or the refresh in OS/2?
The answer is both, if the vendor's PMI file has more than one
[MonitorModeInfo] section per mode. In other words, after
selecting the monitor, the customer still has multiple refresh
choices if the PMI file had multiple refresh entries for the
current mode below the monitor's end-of-range. Some vendors
have utilities that are geared towards monitor configuration (a
somewhat limited monitor list is usually the problem) and some
are geared towards the refresh value setting (most users have a
hard time understanding what the refresh means). We have a
two-pronged configuration which, in the absence of DDC, lets
the user choose a monitor as a way of limiting the highest
refresh, and still select one of the more standard timings for
a given resolution.
How can the System Icon refresh support be installed on OS/2 2.1?
In order to install VIDEOCFG on OS/2 2.x, the VCFGINST.EXE
utility provided in the video\bin directory should be executed
first. This utility installs WPVIDSYS.DLL, which subclassed
WPSYSTEM class to VIDEOCFG.DLL. Both WPVIDSYS.DLL and
VIDEOCFG.DLL should be copied into the LIBPATH and will become
active upon a reboot following the VCFGINST.EXE. There used to
be a version of VIDEOCFG for OS/2 2.x called VIDEOCFG.206. This
version is now consolidated into VIDEOCFG.DLL, so a single
library can be installed on both versions of the operating
system.
You can also download the S3_864.ZIP from CompuServe, OS2SUP
library 23 (search for 86C84 and UPGRADE keywords). This
package supports S3 864/964 and 764 and showcases the
installation on OS/2 2.x. The 764 driver also uses VIDEOPMI's
software interrupt services.
Created using Inf-PHP v.2 (c) 2003 Yuri Prokushev
Created using Inf-HTML v.0.9b (c) 1995 Peter Childs