Details of Video Acceleration

Enabling Windows NT video acceleration is a trial-and-error process whereby the standard video driver names in the Windows NT registry are interspersed with the name of an acceleration DLL. Whenever the client is restarted, the system attempts to load the first items in the driver list. If the accelerated driver fails to load correctly, acceleration does not occur and the acceleration DLL is removed from the list. Instead, one of the original driver names in the registry is loaded in its place.

Installation on a Client with a Non-Proprietary Driver

When you install the Windows NT video accelerator with the Remote Control client on all the Windows NT clients in your site, the following events occur. The following steps describe this process as it would occur on a Windows NT 4.0 computer with a standard SVGA card that has no proprietary driver. The list of video drivers described below is stored in the InstalledDisplayDrivers registry key. Locate this key using the procedure presented in “To determine whether acceleration is enabled on a particular client” on the previous page.

  1. The Remote Control client installation executable program copies the appropriate DLL to the client’s %Windir%\System32 directory (Idis_nt.dll for Windows NT 3.51 clients, Idisntkm.dll for Windows NT 4.0 clients).
  2. The Remote Control client installation executable program calls Rchwcfg.exe (the Hardware Munger) and has it set up the video drivers list on the client so that the accelerator will be loaded.

    In this case, the video driver list will initially appear as follows:

  3. vga vga256 vga64k

    After the Hardware Munger (Rchwcfg.exe) runs, the video driver list includes the appropriate accelerator for the operating system inserted between each of the existing driver names. At this stage, the video driver list now appears as follows:

    idisntkm vga idisntkm vga256 idisntkm vga64k

    The designation for the Windows NT 4.0 video accelerator (idisntkm) appears in the list before the name of each video driver that is compatible with, and capable of, supporting video acceleration.

  4. After the Remote Control client installation is finished, the Wuser32 service starts automatically. However, because the video driver cannot be changed immediately, the Wuser32 service does not have the use of the video accelerator during this time. The client must be restarted in order for the video accelerator to load.
  5. On the first restart after installation, the VGA driver is used. This driver attempts to load the video accelerator but fails, so the accelerator is not loaded. At the end of this step, the video driver list is
  6. vga idisntkm vga256 idisntkm vga64k
  7. On the second restart after installation, the vga256 video driver is to be used. This driver is supposed to support video acceleration, so an attempt is made to load the video accelerator again. The load might be successful, or it might not.

    If the accelerator is loaded successfully, the video driver list after this step is:

  8. vga idisntkm vga256 idisntkm vga64k

    In this case, the video accelerator will be loaded (with the vga256 driver) on all successive restarts of the client.

    If the accelerator does not load successfully, the video driver list after this step is:

    vga vga256 idisntkm vga64k
  9. If the video accelerator does not load on the second restart, the vga64k video driver will be used on the third restart. This video driver also might or might not load successfully. If the load is successful, the video driver list after this step is:
  10. vga vga256 idisntkm vga64k

    In this case, the video accelerator will be loaded (with the vga64k driver) on all successive restarts of the client.

    If the load is not successful, the video driver list after this step is:

    vga vga256 vga64k

    In this case, the video accelerator will never be loaded on the client (because it has been removed from the video driver list for the final time).

Installation on a Client with a Proprietary Video Driver

If the video card on the client has a proprietary video driver (such as an S3), the video driver list might look like this:

vga vga256 s3 vga64k

Because the S3 video driver is on the Intel list of video drivers that can support video acceleration, during Remote Control client installation, the video driver list will be changed to:

idisntkm vga idisntkm vga256 idisntkm s3 idisntkm vga64k

During the restart sequences, if the S3 driver can load the video accelerator successfully, it will be selected as the driver to be used during all successive restarts.

However, if the video card on the client has a proprietary video driver that is not in the provided list of video drivers that can support video acceleration (such as the NGD driver), the client’s video driver list will be changed by Remote Control installation to:

idisntkm vga idisntkm vga256 NGD idisntkm vga64k

In this case, the video accelerator will be loaded only if the vga256 or vga64k driver is selected for use after all the required restarts are completed.


Note   The process of attempting the next video driver in the list on successive reboots stops after a driver successfully loads the video accelerator. Windows NT will not move on and attempt to use any driver in the video driver list after vga256 if vga256 successfully loads the accelerator. Thus, even if the proprietary driver could support the accelerator, if the name of the driver is positioned in the list after the name of a generic driver that successfully loads the accelerator, the proprietary driver will not be used.