OS/2 SVGA NETINFO Rev 2.0

Revision 2.0 - April 27, 1992

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 their 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 "compatible" 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 haven'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: A lot 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
 * What video chipset your SVGA card has.
 * 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
 * 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.