Revision 2.0                                               April 27, 1992
                          OS/2 SVGA NETINFO
                       -----------------------
  INTRO:

This document is a collection of information about OS/2 and SVGA video
adapters.  I'll start out with known problems, some FAQs, and then
go into a description of all the SVGA-related files under OS/2 and thier uses.
If you find erroneous or incomplete information, please send a note to the
email address that the end of this document.  Thanks and enjoy!

    KNOWN PROBLEMS, AFFECTED SYSTEMS, AND SOLUTIONS:

P:  Video goes out of sync entering a DOS or WINOS2 fullscreen.
A:  Video adapters using the Tseng ET4000 chipset with batch #TC6059AF or
    higher.
S:  Get the new VSVGA.SYS dated 4-8-92 or later.

P:  When I window a DOS fullscreen running in SVGA I often get a Trap E.
A:  Will be prevalent on overcommited (low-memory) systems.  The PM driver you
    are using can also have an effect.
S:  Get the new VSVGA.SYS dated 4-20-92 or later.

P:  Install / bootup hangs
A:  Video cards based on the Western Digital PVGA1D chipset.
S:  Get the new BVHSVGA.DLL dated 4-21-92 or later.

P:  Get a SYS3176 error starting any DOS session
A:  Tseng ET3000 based adapters
S:  ? Soon

P:  ? Install
A:  Oak technologies video cards
S:  ?

    The latest VSVGA.SYS and BVHSVGA.DLL files will be distributed wherever
    possible..I don't know how they will find there way to you..but if you
    need them, ask around and look for them.  On the internet, the latest fixes
    will be on HOBBES.NMSU.EDU, which happens to be an excellent FTP site for
    all kinds of OS/2 goodies.

    QUESTIONS AND ANSWERS:

Q:  I'm having problems with my video.
A:  Start by reading the README in your root directory.

Q:  What SVGA support is actually provided with OS/2 2.0 GA edition?
A:  The only support that is provided in the shrink wrapped version is the
    ability to switch away from a DOS or OS/2 fullscreen and have the current
    state of your video card saved.. and this is only after you have turned
    SVGA ON, and if you have one of the adapters listed in the readme..although
    everyone with a Tseng, Trident, ATI, Headland, or Western Digital chipset
    should try turning SVGA ON at least for a while to see if it fixes any
    unseemly video problems they might be having.

Q:  What is the most important thing to remember about turning SVGA ON?
A:  When you type SVGA ON (as per readme) it must be in a DOS FULLSCREEN!

Q:  For what adapters has DOS + OS/2 fullscreen save/restore been tested?
A:  ATI VGA Wonder XL
    Boca Reseach SVGA
    Orchid Prodesigner II
    STB Powergraph
    Trident 8900C and 8900B
    Video 7 VRAM II
    Paradise VGA Professional

Q:  Are these the only cards which are "compatable" with OS/2?
A:  NO. Our support is designed to be generic for the Trident, Tseng, ATI,
    Headland, and Western Digital chipsets.  There are likely many more cards
    which work under OS/2 which we havn't even tried.  If you have a card which
    isn't on this list, but does work, please send a note to the email address
    at the bottom of this document with the name of the card and any small
    limitations you found.

Q:  How do I get my PM desktop to use SVGA?
A:  OS/2 does not provide any PM SVGA drivers.. they are available from the
    video board manufacturers.  Trident has an amazing set of OS/2 2.0 16-bit
    PM drivers that include seamless windows support and virtual desktops.
    Orchid has 16-bit 2.0 drivers in beta test..maybe released. And there are
    many OS/2 1.3 drivers around which function fine under 2.0.  Do not be
    deterred from using a PM display driver labeled for OS/2 version 1.3

Q:  What is the difference between 16-bit and 32-bit PM drivers?
A:  Because OS/2 shipped at the end of March without the 32-bit
    graphics engine, the video subsystem is all 16-bit.  Therefore, all PM
    drivers that work on OS/2 2.0 GA are 16-bit.  This will change come summer
    when the 32-bit graphics engine ships.  At that point it will become
    possible to have a fully 32-bit graphics subsystem. BTW: 32-bit does not
    imply 32-bit color, it only means 32-bit computation and data transfer.

Q:  What is a virtual desktop?
A:  It is a PM display driver that uses all of the adapter's video memory to
    store a desktop that is bigger than what's actually displayed.  So, you
    could have 1024x1024 of desktop space, with only 640x480 being displayed on
    the screen.  You move to other portions of the desktop by dragging the
    mouse to the edge of the screen, which scrolls the desktop.  Because of the
    way OS/2 is designed, this is an extremely quick operation and will be very
    smooth even on the slowest video cards.  The PM driver has to be coded to
    support virtual desktops, and Trident is so far the only chipset to support
    it.

Q:  What is Seamless Windows, and can it co-exist with SVGA?
A:  Seamless windows is the ability to run Windows 3.x programs on the PM
    desktop.. Microsoft said it could never be done!!  The way it is achieved
    is by making a "hole" in the PM desktop that the seamless windows driver
    writes into.  Special code has to be put into both the windows driver and
    the PM display driver to support this.  Stone Li from Trident was able to
    produce 800x600/16 seamless drivers for Trident in about a week, and has
    been the only one to produce SVGA seamless support so far.

Q:  Will my Windows 3.0 drivers work in WinOS2?
A:  Yes, you should be able to simply update the SYSTEM.INI to point to a new
    windows display driver, or just copy over VGA.DRV in the
    OS2\MDOS\WINOS2\SYSTEM directory.   Keep in mind, however, that Windows in
    SVGA will only work if you have SVGA ON.

Q:  Why do I have to deal with this SVGA ON and OFF crap?
A:  Because we've torn out many clumps of hair discovering all of the crazy
    things that can happen when you try to provide video support for for so
    many different boards, each with their own quirks.  Most importantly, we
    found that turning SVGA ON actually caused some system's video to become
    worse.. so we had to have a way to give the user the ability to switch back
    and forth.  And so was born the SVGA ON OFF thing.  Hopefully a more
    elegant system will be developed in the future.

Q:  I have an ATI 8514 Ultra or Graphics Ultra, does it work under OS/2?
A:  This card is 100% 8514 compatable, and OS/2 detects and treats it like an
    8514.  On difference, though, is that you should update the video line in
    your CONFIG.SYS that reads:
    DEVICE=\OS2\MDOS\VVGA.SYS
                                    to:
    DEVICE=\OS2\MDOS\VSVGA.SYS
    Because OS/2 detects it as 8514, you can use OS/2's 8514 PM in WinOS2
    display drivers with no problems.

Q:  What is the outlook for OS/2 support for boards based on the S3 or TI
    chipsets?
A:  Boards which are co-processed are the fastest, but also take the longest to
    develop software for.  No manufacturers have announced dates yet for
    support for any of these cards.  The more these manufacturers are
    "encouraged" by owners of their cards, the faster the support will arrive.
    So, get on the phone and call! (but be pleasant :-)

Q:  I'm getting some corruption returning to my WinOS2 fullscreen
A:  Set your VIDEO_SWITCH_NOTIFICATION in the DOS SETTINGS to ON.

Q:  Even in VGA, games in a DOS fullscreen are shakey
A:  Set your VIDEO_RETRACE_EMULATION in the DOS SETTINGS to OFF.

Q:  Alot of DOS apps in a window have messed up colors
A:  This is a limitation of the VGA desktop.  The color palatte of the DOS
    session has to be translated to PM, and the 640x480/16 desktop doesn't
    offer enough colors to do a good translation.  The only solution to the
    problem is to use a 256 color PM driver.

Q:  The graphics of some of my apps are completely screwed up when in a window
A:  Chances are, this app is using a non-standard VGA mode that the card can
    support, but which OS/2 doesn't. Support for some of these modes (like
    320x400/256 and 360x480/256) will likely be added in base OS/2 support
    soon.

Q:  My friend has the same video card as me, and it doesn't work.. can't I
    just give him a working SVGADATA.PMI file?
A:  No. The SVGADATA.PMI has to be specific to each adapter/monitor setup.

Q:  If I have SVGA ON, can I use 132 column modes in an OS/2 fullscreen?
A:  yep.

Q:  If I have SVGA ON, can I window a DOS fullscreen onto the PM desktop, even
    if it is Super VGA?
A:  yep!

Q:  If I have SVGA ON, can I take a window with a SVGA image in it can paste
    to the clipboard?
A:  YEP!


    THE FILES:

  \OS2\SVGADATA.PMI
          This file serves as a flag to tell OS/2 whether SVGA support has been
          enabled with SVGA ON.  The file actually contains data on
          1. What video chipset your SVGA card has.
          2. What SVGA modes, from the supported list, your adapter is capable of
             setting.  The list of supported modes is:
                  a. 640x480/256
                  b. 800x600/16
                  c. 800x600/256
                  d. 1024x768/16
                  e. 1024x768/256
                  f. 132x25 text
                  g. 132x43 or 44 text
          3. What values are in the video registers when the card is in each
             mode..  this data is used by OS/2 to save and restore the registers
             to their proper state when switching between sessions with
             different SVGA modes set.
          This data file must be generated by typing SVGA ON from a DOS
          FULLSCREEN, because what SVGA ON actually does is set all the possible
          modes using the video card's BIOS and then read out the values of the
          registers into the .PMI file. If SVGA ON is run from a DOS window,
          OS/2's video virtualization takes over, and the BIOS doesn't set the
          svga modes properly.
  \OS2\SVGA.EXE
          This is the utility that generates the .PMI file and places it in the
          \OS2 subdirectory. Syntax is SVGA [ON][OFF][STATUS], where
            ON: creates the \OS2\SVGADATA.PMI file and enables SVGA support.
            OFF: deletes the .PMI file.
            STATUS: returns the chipset type OS/2 thinks your card is.
  \OS2\DLL\DISPLAY.DLL
          This file determines what video resolution the PM desktop uses.
          This is the PM display driver and the heart of OS/2 video.  The
          equivalent file on a Windows system is the VGA.DRV (in the case of
          VGA) file.  For the first release, SVGA systems will have a VGA
          display driver installed on their system.  Already, SVGA drivers are
          available from most of the main board manufacturers. In
          this document, I'll try to list some of the ones that are working.
  \OS2\DLL\BVHSVGA.DLL
          This file is the Base Video Handler for OS/2.  Any OS/2 application
          that sets a video mode calls this DLL.  In most cases, however, the
          only application that sets any video modes is the PM display driver
          and the MODE.EXE utility (for setting 132 column modes).  The first
          time this DLL would be called is after the OS/2 bitmap logo appears
          (PM starts up then).  This DLL is specified in the CONFIG.SYS in the
          following manner:
             SET VIO_VGA=DEVICE(BVHVGA,BVHSVGA)
          BVHVGA is used to set, save, and restore VGA modes, BVHSVGA for SVGA
          modes.
  \OS2\MDOS\VSVGA.SYS
          This is the virtual video device handler for DOS sessions.  All calls
          to change the video mode from a DOS session are handled through this
          driver.  This driver's job is to allow the user to set a SVGA mode, and
          when the user switches away, save the current state of the video card
          (its registers and its video RAM).  Then, when the user returns to the
          DOS session, restore the video card to it's previous state. When there
          is no .PMI file (SVGA is OFF) this driver acts like a VGA driver,
          except for adapter-specific code in it to make sure the VGA modes work
          right on the SVGA adapter.  Therefore, even if you don't want SVGA,
          you'll probably want VSVGA.
  \OS2\MDOS\WINOS2\SYSTEM\VGA.DRV
  \OS2\MDOS\WINOS2\SYSTEM\SWINVGA.DRV
          These are the WINOS2 and seamless WINOS2 drivers, respectively.  They
          determine what resolution WINSO2 uses.

Bernie Thompson PSU student and IBM co-op
Send comments/additions to:
    BERNIET@BCRVMPC1.VNET.IBM.COM

  ***************************************************************************
  *                              DISCLAIMER                                 *
  *                              ----------                                 *
  *  The opinions and suggestions contained herein are my own and not those *
  *  of my employer. This document does not represent any sort of guarantee *
  *  or assurance. Just tips guys... nothing legal, get it?  Good.  :-)     *
  ***************************************************************************


