Thu 09/24/1998 

                3DLABS WINDOWS NT 4.0 DRIVER
                ============================
                 2D Driver Build 2.12.0556
              ICD Build 4.10.01.2105-2.12.0556


© Copyright 3Dlabs Inc. Ltd. 1998.  All rights reserved worldwide.

The material in this document is the intellectual property of
3Dlabs Inc. Ltd. While every care has been taken in the
preparation of this document, 3Dlabs accepts no liability
for any consequences of its use.  Our products are under
continual improvement and we reserve the right to change
their specification without notice.

3Dlabs is the worldwide trading name of 3Dlabs Inc. Ltd.
3Dlabs and GLINT are registered trademarks of 3Dlabs.
OpenGL is a trademark of  Silicon Graphics, Inc.
Windows NT and DirectDraw are trademarks of Microsoft Corp.
All other trademarks are acknowledged.


Introduction
============
This Readme describes the above driver for the following boards:
• boards using the 3Dlabs GMX2000 chipset
• boards using the PERMEDIA 2 chip
• most boards based on the 3Dlabs GLINT DELTA+GLINT MX chipset
• most boards based on the 3Dlabs GLINT DELTA+GLINT 500TX chipset

Once the driver has been installed the display driver release
number can be determined by starting the Display Applet Control
Panel in Control Panels directory. Select the "3Dlabs" tab and
click on the "Information" button. The Display Driver and OpenGL
version numbers can be found in the Software section. The last
four digits following the "-" uniquely identify your driver
build.


Prerequisites
=============
• Windows NT 4.0 (Build No 1381), Service Pack 3 is recommended.
SP3 is necessary for AGP cards to work and for DirectDraw to be
hardware accelerated on PERMEDIA 2 based boards
• Intel Pentium processor or later


Download Instructions
=====================
1. Download the zip file into an appropriate scratch directory
   (e.g. C:\3dlabs).
2. Change into the scratch directory.
   > c:
   > cd \3dlabs
3. Use pkUnzip to uncompress the .ZIP file, USING THE -d OPTION to
   preserve the directory structure...
   > pkUnzip -d xxxxxxxx.ZIP
4. Install the new driver using the control panel display applet
   as described below under "Installation from floppy disk", but
   when asked for a disk containing the drivers at "step 5."
   select 'Browse..', move to the directory where you unzipped
   the drivers and select the 3DLABS.INF file which should be
   visible. Complete the remaining steps as if installing from
   floppy disk up to and including step 10.
5. You can now delete the download scratch directory and its
   contents.


Installation from floppy disk
=============================
Before installing the software, power down the machine and install
the 3Dlabs board as per the hardware installation instructions.
Boot the machine using the non-VGA boot option. Once booted, log
in as an Administrator, then perform the following steps:

1. Open the Display Control Panel in the Control Panels directory
   and click on the "Settings" tab.
2. Press the "Display Type" button.
3. Press the "Change..." button in this window.
4. Press the "Have Disk ..." button in this window.
5. Specify the path A:\. Insert the first release floppy into the
   drive and press OK.
6. Select the "3Dlabs Compatible Adapter", and press "OK".
7. Then follow the instructions and quit the control panel applet.
8. When asked if you want to restart the machine press "Yes" and
   eject the floppy disk from the drive.
9. The machine will now shutdown. On restart boot into Windows NT
   normally (do not choose the VGA boot option).
10. Open the Display Control Panel as in step 1. above, and select
   the required resolution, and monitor frequency.


3D Studio Max driver installation
=================================
3D Studio Max 1.x (Heidi1)
--------------------------
Locate your 3DStudio Max 1.x directory on your hard drive. Enter
the Drivers sub-directory. Copy the "wglint.hdi" from the driver
floppy, to the Drivers directory.

Start 3DStudio Max and go to the "File/Preferences" dialog box.
Click on the "Viewports" tab and select "Choose Driver". Ensure
that the "GLINT Hardware" option is selected. Restart 3DStudio
Max.

3D Studio Max 2.x (Heidi5 or OpenGL)
------------------------------------
HEIDI5:

PERMEDIA based boards and GLINT DELTA and GLINT 500TX or GLINT MX
(Racer) boards can be run either with the Heidi5 driver or OpenGL.

Locate the 3D Studio MAX 2.x directory on your hard drive. Enter
the drivers sub-directory. Copy the wglint5.hdi file from the
driver floppy or download directory to that directory.

When you run next run 3D Studio MAX 2 go to the File/Preferences
/Viewports/Choose Driver dialog box. Select Heidi - Custom
Driver and ensure wglint5.hdi is selected in the drop
down box. Restart 3D Studio MAX.


OPENGL:

Boards using the GMX2000 chipset should always be used with OpenGL
acceleration under 3D Studio Max 2.x. The Heidi5 driver will
run but OpenGL will give better performance.

For other chipsets best performance is model dependent, and you
may wish to experiment to see which you prefer. 

The OpenGL driver is installed at the same time as the display
driver.

Start 3DStudio Max and go to the "File/Preferences" dialog box.
Click the "Viewports" tab and select "Choose Driver". Ensure
that the "OpenGL" option is selected. Shutdown 3DStudio Max.
Before restarting, delete the 3DStudio Max OpenGL configuration
file that stores information about your OpenGL driver. Doing
this will cause 3DStudio Max to reset some of its options to
get best performance from these drivers. The file is called
oglgfx.ini and is located in your /3dsmax2/ directory (or
wherever you installed 3DStudio Max). If the file does not
exist then simply restart 3DStudio Max.

When running through OpenGL, 3D Studio Max 2 defaults to not
backface culling wireframe objects. This may result in
less than optimal performance when manipulating wireframe
objects. This behaviour can be changed from within the
application. Go to the "File/Preferences" dialog box. Click
on the "Viewports" tab and then select "Configure Driver".
Enable the option "Display Wireframe Objects Using Triangle
Strips". This causes wireframe objects to be backfaced
culled and can significantly improve performance. The setting
also causes shared edges within polygons to be drawn which may
not appear as desired.

Windows 95
----------
Please note that when using either the Heidi1 (3D Studio Max
1.x) or Heidi5 (3D Studio Max 2.x) driver under Windows 95
the following software components must also be installed:

   Direct X version 3 or later
   The Microsoft OpenGL binaries, opengl32.dll and glu32.dll.

Color Depth and performance
---------------------------
If using PERMEDIA cards, the best performance can be achieved by
running in 32768 color mode.

If using GLINT 500TX or GLINT MX based cards, the best performance
can be achieved by running in TrueColor.

Oxygen GMX boards only run in TrueColor.


Uninstall
=========
1. Open the Add/Remove Programs icon in the Control Panel.
2. Highlight the "3Dlabs display driver" in the list and click
   "Add/Remove".
3. Follow the instructions to complete the removal of the
   display driver and OpenGL driver.
4. If you manually installed a Heidi driver as described in
   the section on 3D Studio Max driver installation, then
   you must manually delete it.


Resolutions and Refresh Rates
=============================
A full list of all modes is available via the Display Control
Panel applet once the 3Dlabs driver has been installed and the
system rebooted. Choose the "List all Modes" option to get this
list.


3Dlabs Display Control Panel Tab
================================
The 3Dlabs tab in the Display Control Panel allows control over
the configuration of OpenGL and other applications using the
3Dlabs display driver. The control panel is split into a number
of pages as listed below. The pages are selected by clicking on
one of the configuration buttons at the top right of the
window. Options not applicable to the currently installed graphics
board will not be visible.

Note: It is necessary to have administrator privileges to change
any settings in the control panel applet. If you do not have
administrator privileges the options will be greyed out and
cannot be changed.

1.INFORMATION PAGE
1.1 Information Page - 2D Driver Build
    The last four digits are the build number that uniquely
    identifies the display driver binary.

1.2 Information Page - ICD Build
    The last four digits are the build number that uniquely
    identifies the OpenGL Installable Client Driver (ICD) binary.

1.3 Information Page - OpenGL Release
    This is the OpenGL version number that can also be queried
    by an OpenGL application at run-time.
	
1.4 Information Page - Chip Name
    Reports the name of the 3Dlabs chipset on the board.

1.6 Information Page - Depth/Stencil
    Reports the total amount of memory used by auxillary buffers
    for use in hardware hidden surface removal (z-buffering) and
    masking/clipping (stencil and GID planes).

1.7 Information Page - Texture Memory
    Reports the total amount of graphics card memory available
    for storing texture maps - after allowing for full screen
    front, back and depth buffers. Lower screen resolutions
    will free up more graphics card memory for texture use.

2.SETUP PAGE
2.1 Setup Page - Gamma Correction Adjustment
    The gamma correction adjustment affects the entire screen
    display. The default gamma value is 1.0 and the allowable
    range of floating point values is 0.3 to 4.0.

2.2 Setup Page - Disable PCI Disconnect
    Higher 2D graphics performance can be achieved by using PCI
    Disconnect. However this feature can sometimes adversely
    affect the performance of other devices, such as modems and
    sound cards. 

    Tick this option if you are experiencing problems with the
    performance of other devices. 

3.OPENGL PAGE 
3.1 OpenGL Page - Number of DMA Sub Buffers
    Each DMA buffer is sub-divided into sub buffers which are
    used in conjunction with a queued DMA mechanism to
    reduce latency in the system.  The number of sub buffers
    can be set here. Setting it to 2 will disable the queued
    DMA mechanism.

3.2 OpenGL - Wait for VBlank
    Smooth animation of 3D applications can be achieved by
    rendering to an off-screen window/desktop sized color
    buffer and copying or swapping the contents to the
    displayable front buffer at the completion of each frame.
    Enabling this option prevents tearing of the display by
    synchronizing the swap of the back and front buffers to the
    vertical blank retrace interval of the monitor display.

 *  =================================
 *  IMPORTANT PERFORMANCE INFORMATION
 *  =================================
 *  By default the box is unchecked, which may result in some
 *  visible tearing. Check the box to eliminate visual tearing.
 *
 *  Unchecking the box gives the highest rendering frame
 *  rates of double buffered applications. You should uncheck
 *  the box for instance when running the viewperf benchmark.

3.3 OpenGL Page - SoftImage Version 3.51/3.7 Application support
    Version 3.51/3.7 of SoftImage requires this to be set to
    ensure the correct operation  on the Oxygen GMX boards.
    Changing this option requires a re-boot of the system.

3.4 OpenGL Page -Pro/DESIGNER application support
    Version 19.0 of Pro/DESIGNER requires this to be set to
    ensure the correct operation  on the Oxygen GMX boards.
    Changing this option does not require a re-boot of the system

4.MONITOR PAGE
This page allows you to specify your monitor type and display
the available settings but does not permit actual selection of 
different monitor modes. To do that you should click on the 
"Settings" tab at the top of the Display panel.  

4.1 Monitor  - Detect DDC Monitor
    When the display panel is started it automatically looks to  
    see if a DDC type monitor is connected in which case it will 
    display the available modes. However, it is possible for
    the panel to get out of `sync` E.g if the monitor is hot
    swapped. This option allows you to manually specify that 
    the panel should look for a DDC monitor again.

4.2 Monitor - Monitor Type
    Reports on the type of monitor detected and allows you to 
    specify the basic type, overriding the detected type if
    required. VESA should be selected if the monitor type is
    non DDC and is not a specific type shown in the "Details"
    list.  Select "Specific Type" if your monitor is listed.

4.3 Monitor - Details
    Displays a list of supported monitors and the modes
    available for each monitor but does not permit selection
    of the different monitor modes shown. (see above)


GLINT Event Logging
===================
The 3Dlabs Display Driver registers a number of event log errors
and warnings when problems are encountered. The events that can
be logged include:

• no DMA support has been configured
• no interrupt driven DMA has been configured
• a non-cache coherent PCI bus has been detected which results in
  uncached DMA buffers.
• fewer than the desired number of DMA buffers have been
  allocated.

In all cases your board should function correctly, but may
not supply maximum OpenGL performance.

After booting the driver it is advisable to check the system
event log to determine the characteristics of your machine. For
example, if an event log indicates that interrupt driven DMA has
not been configured, this may be because the BIOS has not been
configured for PCI interrupts. 

To view the system event log, run the Event Viewer from the
Administrative Tools program group. From the Log menu ensure
that the System Log has been selected. Look for events with the
Source type glint. Double click on these events to read the event
message.

If no GLINT events are logged then everything is working
perfectly. In this case interrupts are working, all DMA buffers
have been allocated and the PCI bus is cache coherent.


New Features and bug fixes
==========================
Build number -0547
------------------
• A problem when starting SoftImage v3.8 and a dialogue box appears at start up has been fixed.
• Specific support for running Pro/DESIGNER v19 has been added to the drivers and can be enabled
 via the Display Control Panel Tab.

Build number -0538
------------------
• A problem relating to depth clearing in an multi-threaded 
  environment has been fixed.  This will have shown up in
  the Intergraph gldemo.exe program and the pipes screen saver when
  multiple pipe trails were selected.
• A problem that occurred when a context which shared display
  lists with another context was deleted has been fixed. 
  This would only happen if the context being deleted was 
  never used.  The Houdini application showed up this problem.
• A problem with anti-aliased triangles with large vertical magnitude
 has been fixed. Running "ideas -m" glut demo at high resolution
 reproduced the problem.

Build number -0533
------------------
• Maya NT pixel readback bug fixed.
• MultiGen Creator alpha test with texture bug fixed.

Build number -0532
------------------
• OpenGL TexGen bug fix seen in glut\advanced\envphong.exe
  and SDK\samples\ttexture.exe option s. TexGen state was
  not being updated in some cases. (GMX2000 only)
• OpenGL CopyPixels bug fix seen as system crash with
  Glperf. CopyPixel operations with bad coordinates from
  application were causing a system crash. (GMX2000 only)
• A problem when running mickey4.txt trail file with
  ProEngineer 19.0 has been fixed.
• A problem where text was drawn incorrectly when sketching
  in SolidWorks has been fixed. (GLINT boards only)
• Added driver uninstall procedure.

Build number -0531
------------------
• Fixed an intermittent hang when running viewperf in a loop
  on GMX2000 boards.
• Nichimen N-World 3.2 popup menu performance enhanced.

Build number -0530
------------------
• Now only support true color visuals on GMX2000 boards
• Fixed problem with offscreen bitmaps becoming corrupted when
  OpenGL programs were run on GMX2000 boards.
• Fixed a problem in viewperf where DX-03 incorrectly renders
  test 5 on GMX2000 boards.
• Fixed a problem where Gouraud interpolation was drawn flat
  shaded when rendering with a rare combination of options
• Fixed a problem with software cursors when running 3DSMAX 1.2

Build number -0516
------------------
• Fixes problems seen on 4 Mbyte PERMEDIA 2 boards when using
  build -0504.

Build number -0504
------------------
• Fixes lock ups seen on GLINT GMX2000 boards.
• On PERMEDIA 2 boards all the possible screen resolutions are
  now available by default.

Build number -0459
------------------
• Support for GLINT GMX.
• Support for TVP3030 RAMDAC.
• Enhanced control panel tab.
• Removed support for 320x240 resolution on GLINT-based cards.
• Fix for NT5.0 crash problem, when running OpenGL or
  DirectDraw applications.
• Full support for PERMEDIA 2 including anti-aliased lines.
• Full support for OpenGL version 1.1 API.
• 16 light sources now supported on all boards.
• Support for the GL_EXT_shared_texture_palette extension
  (used by glQuake and glQuake2).
• Support for the GL_WIN_swap_hint extension (used by 3D Studio
  MAX 2).
• Support for the GL_KTX_buffer_region extension (used by 3D
  Studio MAX 2).
• Support for the GL_EXT_polygon_offset extension.
• Support for GL_REPLACE texture mode.
• Support for GL_INTENSITY and GL_ALPHA texture formats on
  PERMEDIA 2.
• Improved texture download rates.
• Improved the algorithm used for texture caching.
• GID window clipping is now supported.
• Improved the image upload rate on PERMEDIA 2.
• Improved double buffering performance on GLINT hardware.
• Display mode change support for glQuake2.
• Texturing is no longer disabled when the registry variable
  OpenGL.MaxTextureSize  is set to too high a value.
• Depth clears are now scissored correctly when fast clear planes
  are enabled.
• Decal non-depth buffered rendering on Permedia now runs faster.
• Fixed a clipping bug when switching between front and back
  buffer rendering.
• The following OpenGL version 1.1 API calls now implemented:
  · glIndexub
  · glIndexubv
  · glPolygonOffset
  · glCopyTexImage1D
  · glCopyTexImage2D
  · glCopyTexSubImage1D
  · glCopyTexSubImage2D
  · glTexSubImage1D
  · glTexSubImage2D
• glAreTexturesResident on PERMEDIA was always returning FALSE
  when minification filter set to mipmapping.
• Fixed a crashing bug when deleting multiple contexts that were
  sharing textures with wglShareLists.
• glBitmap can now be used to set a -ve rasterpos position.
• A bug which caused bitmap text to be depth buffered when depth
  buffering is disabled has been fixed.
• Depth buffered points were incorrectly re-setting depth
  functionality in the chip as opposed to defining a depth value.
• Clipped depth buffered lines now get rendered with the correct
  depth values. 
• Rapidly switching between OpenGL screensavers in the control
  panel hung system.
• Lack of contouring in the SDK sample twave now fixed
  (GL_EYE_LINEAR mode).
• Unlit textured lines not textured fixed.
• Various lighting bug fixes (including LightWave and
  MicroStation95).
• The order in which PERMEDIA 2 pixel formats are exported has
  been changed so that applications that don't request a stencil
  buffer get 16 bit Z.

Known Anomalies
===============
• When a constantly updating OpenGL application is running (such
  as the X29 or rollercoaster demos) screensavers run very
  slowly. This appears to be a problem with the priority
  allocated to the screensaver process.
• Microsoft Maze screen saver is never hardware accelerated
  due to a bug in the screen saver library code. An alternative
  customised 3Dlabs version is provided.
• Loss of 2D icons and icon corruption can occur when running
  OpenGL applications under Windows NT 4.0 without any service
  packs installed. Please install Service Pack 3 to cure this
  problem.
• PCI BIOS
  Some PCI BIOS's may not assign correct physical addresses to
  PCI regions. Experience shows that this sometimes happens with
  the PCI region for the GLINT framebuffer. If this problem does
  arise, the Windows NT driver will boot but black areas will be
  seen on the screen. If this happens then a new physical address
  can be configured for the framebuffer by setting a registry
  variable. If this variable exists its value will override any
  address set up by the PCI BIOS.

  If having booted the Windsows NT driver, black areas are seen
  on the screen, try setting this override variable as follows:
  a) run regedt32
  b) open the key
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\glint\Device0
  c) From the Edit menu choose the "Add New Value" option.
  d) Set the Value Name to be "PhysicalAddress.Region2". Be
  careful to spell the name exactly as specified - it is case
  sensitive.
  e) Set the data type to be "REG_DWORD" and press OK.
  f) In the DWORD editor window set the physical address value
  (see below for suggestions) and press OK.
  g) Check that the entry has been created correctly and reboot
  the machine.

  Selecting physical addresses in this way is an empirical task.
  An address must be chosen which does not conflict with any
  other in the system (the PCI address space is 4 GigaBytes in
  size so there is plenty to choose from). This task should be
  performed by the PCI BIOS but if it fails to do this the user
  must choose instead. A useful address to start with for the
  framebuffer is 0xA0000000. If this fails increment the address
  in units of 32MB. Another good starting address is 0x40000000.
  The final address chosen must be on a 32MB boundary.

  Having created the Region2 registry variable and assigned it a
  value the machine should be rebooted. Continue modifying the
  address until the black areas of the screen do not appear.
  Normally, this will work after the first one or two addresses.

  Note, this procedure is required very rarely. Generally, the
  user will never be required to perform these steps.
• PCI Disconnect
  As mentioned earlier in the control panel section, on occasions
  the use of PCI Disconnect can cause other devices to suffer
  from performance problems, tick the 'Disable PCI Disconnect'
  option in the Control Panel Applet to disable this feature.
• A mode change after running MultiGen Creator Version 2.0 for
  the first time can hang the system and/or corrupt title bar
  text. This is an application issue that will be fixed in a
  future release of Multigen Creator.
• On PERMEDIA and GLINT DELTA boards (not GMX2000) when
  using the glaux library supplied by Microsoft, specifying
  that you require alpha planes in the visual is not satisfied by
  requesting a visual type of AUX_RGBA as opposed to AUX_RGB when
  calling auxInitDisplayMode(type).  In these instances the
  hardware accelerated visual that will be returned in some modes
  may not have alpha planes. This is because the display driver
  exports visuals without alpha planes before those that do.
  This problem can be resolved in two ways: Firstly, if you have
  the source code, then when specifying the visual type you can
  OR in AUX_ALPHA, along with AUX_RGB (for Example
  auxInitDisplayMode(AUX_RGB | AUX_ALPHA)). Secondly, if source
  is not available, the following registry variable can be set
  to 1, which enables the visuals with alpha planes to be
  selected first.
3DExtensions.ExportAlpha
in:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\glint\Device0
  Setting this variable will result in a decrease in the
  performance of some applications as the driver must perform
  additional setup calculations for the graphics chip to cater
  for the Alpha value as well as R, G, and B.
• The conformance tests that involve mip-map texture filtering
  (miplin.c, mipsel.c and texbc.c) will fail on GLINT 500TX if a
  registry variable is not changed.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\glint\Device0
\OpenGL.DisableMipMaps
  should be set to zero to enable the tests to pass. The default
  state is to have this set to one because this provides the best
  trade-off between image quality and performance for the
  majority of applications.
• In some cases, there is confusion over the meaning of the
  PFD_SUPPORT_GDI bit in the dwFlags field of the PIXELFORMAT
  descriptor. 3Dlabs have seen applications (for instance Open
  Inventor) which incorrectly assume that if this flag is set,
  rendering to bitmaps is supported by the visual. The
  Installable Client Driver does not support bitmap rendering
  so these applications fail. To enable these applications to
  work the exporting of PFD_SUPPORT_GDI can be disabled by
  setting the following registry variables in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\glint\Device0
  to FALSE. The applications will then choose a Generic pixel
  format so using unaccelerated software rendering to draw to
  bitmaps.
		3DExtensions.SupportSingle
		3DExtensions.SupportDouble
  By default PFD_SUPPORT_GDI is set to TRUE for single buffer
  formats and FALSE for double buffered formats.
  Note: Under Windows NT, Generic pixel formats that support
  double buffering and rendering via GDI are mutually exclusive.
  This is because GDI does not have the ability to render to the
  backbuffer. 3Dlabs have therefore chosen to set the default for
  double buffering, so as to be in line with the Microsoft
  implementation. However with care GDI rendering and double
  buffering may be mixed, so the latter registry variable will
  cause PFD_SUPPORT_GDI to be exported by double buffer formats,
  should an application benefit from this added functionality.
• When running multi-threaded applications it may be necessary
  to disable the use of the fast clear planes by setting the
  environment variable GLINT_DONT_USE_FCP to TRUE, or by checking
  the corresponding box in the GLINT control panel applet. This
  issue arises when more than one context is being used to render
  to the same window (e.g. OpenGL pipes screen-saver with
  multiple option selected). If this variable is set then this
  disables the use of 3Dlabs proprietary fast clear mechanism
  that allows the depth(Z) buffer to be cleared up to 16 times
  more quickly than normal. Typically this becomes significant
  for animation rates of 10Hz or higher in large windows.


Trouble Shooting
================

Monitor Fails to synchronize following boot
------------------------------------------
Reboot the system and select the VGA boot option. You will
now be able to select higher resolutions and refresh rates.
Ensure that you test the mode before applying it to ensure
that your monitor can support it. When you click on "Apply"
or "OK" you will be asked if you want to reboot - click "Yes".

If you are unable to boot into VGA and your system uses the
standard "FAT" file system then boot into DOS, and delete
the file:
$SystemRoot%\SYSTEM32\DRIVERS\GLINT.SYS
When you reboot into Windows NT you will be able to reinstall
the 3Dlabs driver.

If you have an "NTFS" file system you will need to reinstall
Windows NT, but should choose not reformat your system disk
during the reinstall so that your applications and data are
preserved.


Customer Support
================
You can contact 3Dlab's technical support via the World Wide Web
at www.3dlabs.com, or via email to support@3dlabs.com.