RELNOTES.txt Driver File Contents (hdb41945_vga_20070529.zip)

======================================================================
                       Release Notes for the
  Intel(R) Embedded Graphics Drivers with Configuration Editor Package

                Version 6.1 Release, November 2006
======================================================================

Contents
========

- New Features
- Supported Chipsets
- In This Release
- VBIOS
- Linux
- Windows*
- Windows CE* 4.2
- Windows CE 5.0
- Software Errata
- Software Licenses
- Legal / Disclaimers


In This Release 
================

This is a release of the Intel(R) Embedded Graphics Drivers (IEGD).  IEGD is
designed specifically to support the unique requirements of
embedded applications for Intel chipset-based platforms.  

This release is a comprehensive package that includes all supported
O/S versions of IEGD, and the pre-installation configuration editor (CED)
utility.  Highlights of the included files/folders are:

iegd-ced.exe                              Configuration EDitor main file
License.txt                               IEGD License

\configuration                            CED main files

\features                                 CED copyright, license, and version info

\JRE                                      Java engine for CED 

\Plugins                                  CED program files and support files
\plugins\com.intel.iegd.drivers.xxx       Individual IEGD drivers 

\workspace                                Configured drivers and associated files
\workspace\Documentation\RELNOTES.TXT     Release Notes
\workspace\Documentation\UsersGuide.pdf   IEGD User's Guide


New Features
============

This release contains the following new features and capabilities:

    - Intel(R) Q965 Express chipset with "Gen4" graphics capability (2D only)
    - IEGD Configuration EDitor (CED) as a standard feature (consolidated release)
    - D3D support on Intel(R) 945G Express chipset and Mobile Intel(R) 945GM Express 
       chipset
    - Three display capability
    - Render scaling
    - Rotation support for Microsoft Windows CE* 

OS Support Changes:

    - Damn Small Linux (DSL)* support
    - Fedora Core 5* support
 
This release also contains fixes for errata. For details on errata, 
including status information, refer to the Errata document 
located at the following Web address:

	www.intel.com/design/intarch/specupdt/309380.htm


Supported Chipsets
==================

Target system must contain one of the following Intel Chipsets:

       Intel(R) Q965 Chipset
       Intel(R) 945G Chipset
       Intel(R) 945GM Chipset
       Intel(R) 915GM Chipset
       Intel(R) 915GV Chipset
       Intel(R) 855GME Chipset
       Intel(R) 852GM Chipset
       Intel(R) 852GME Chipset
       Intel(R) 845GV Chipset

Please check with your system provider to determine Intel Chipset 
used in your system.


=====
VBIOS
=====


VBIOS System Requirements
=========================

The VBIOS can be built on a host system and moved to the target system.  The 
host system should have installed a 32-bit Windows operating system with the 
capability to execute DOS commands from a command line window.

The Target system should have DOS installed. Supported DOS versions are MS-DOS* 
6.22, MS-DOS 7.1 (from Windows 98), or IBM PC DOS 2000*.

The Target system should contain a minimum of 64MB of RAM.

VBIOS Files
===========

The individual Linux install file (for manual access/configuration) is found
under the IEGD install directory in \plugins\com.intel.iegd.drivers.xxx\vbios
folder (where xxx represents the release version)

The following describes the files used for building the VBIOS for each 
supported platform, where xxx indicates the chipset for which to build the 
specific Option ROM or TSR.

/Driver/xxx/orom/go.bat	        Batch file used for manual build of VBIOS 
                                  Option ROM
/Driver/xxx/orom/igd_uinit.h    Header file containing default 
                                  initialization settings
/Driver/xxx/orom/makefile       Makefile used to build VBIOS Option ROM
/Driver/xxx/orom/pd_init_all.c??C file containing structures and default 
                                  initialization settings
/Driver/xxx/orom/sample.pcf     Sample Parameter Configuration File for 
                                  use with manual build of VBIOS
/Driver/xxx/orom/vga-def.bin    Default VBIOS Option ROM for single CRT 
                                  display
/Drivers/xxx/orom/lib/*         Library files used to build the VBIOS 
                                  option ROM
    libigdpialm.lib             For Almador graphics engine based chipsets 
                                  (845/852/855)
    libigdpinap.lib             For Napa graphics engine based chipsets 
                                  (915/945)
    libigdpign4.lib             For Gen 4 graphics based chipsets 
                                   (Q965)

/Driver/xxx/tsr/go.bat	        Batch file used for manual build of VBIOS 
                                  Terminate and Stay Resident (TSR) program
/Driver/xxx/tsr/igd_uinit.h     Header file containing default initialization 
                                  settings
/Driver/xxx/tsr/makefile        Makefile used to build VBIOS TSR
/Driver/xxx/tsr/pd_init_all.c   C file containing structures and default 
                                  initialization settings
/Driver/xxx/tsr/sample.pcf      Sample Parameter Configuration File for use 
                                  with manual build of VBIOS
/Driver/xxx/tsr/tsr-def.bin     Default VBIOS TSR for single CRT display
/Drivers/xxx/tsr/lib/*	        Library files used to build the VBIOS TSR


/Utilities/pcf2iegd.exe


VBIOS: Building the VBIOS
=========================

The Intel Embedded VBIOS should be built using the CED utility. The VBIOS 
is built based on settings in CED configuration. When directed to do so,
CED will automatically build both the VGA.BIN ROM image and a TSR.EXE based 
on your CED settings.  These files are ready to use directly out of the CED.
Output will be found under the \workspace folder based on the chipset(s)
you built. Details are provided in the User's Guide and 
in the CED online help.     

The Intel Embedded VBIOS may also be built using command line utilities. The 
VBIOS is built based on settings in text configuration files.  This system of 
configuration files and command line utilities is called the "Manual Build" 
User Build System.  The following steps describe how to build a VBIOS 
utilizing the User Build System.

VBIOS: Manual Build Installation
--------------------------------

The VBIOS installation is a standard zipped file that should be uncompressed in 
a folder of your choice on the host platform where you will build the VBIOS.

Note that the DOS executable files may not run properly if the package is 
extracted in a location with a long directory path.  To ensure proper operation, 
it is advised that the files be placed as close as possible to the root
directory of your drive.

VBIOS: Manual Build Prerequisites
---------------------------------

Before building your VBIOS, you must set up your environment with two items:

1. Install Open Watcom compiler

The User Build System for the VBIOS relies on the Open Watcom C/C++ compiler to 
be able to build a 16-bit DOS binary required for the BIOS.  The VBIOS has been 
tested with version 1.2 of the Open Watcom compiler.  This can be downloaded 
from the following location:

     http://www.openwatcom.com

2. Set up directory paths

You must set up the PATH in DOS to be able to execute the Watcom compiler.  The 
directories for the ml.exe and nmake.exe programs should be included in the 
execution path variable in your DOS environment.

In addition, you must set the PATH to execute the Utilities\pcf2iegd.exe program 
that is included in this VBIOS package.

VBIOS: Manual Build- Select Build Folder
----------------------------------------

This release of the VBIOS contains specific folders used for creating a VBIOS 
that is either an option ROM (OROM) that can be merged with the system BIOS, or 
an executable Terminate and Stay Resident (TSR) program for debugging purposes.  
There are also separate directories for the different chipsets that are 
supported.  Depending on which chipset you are using, and whether or not you 
want an OROM or a TSR, open a DOS command window and move to the appropriate 
directory.  You will execute the build commands in a DOS window from the 
selected folder.  For example, if you are creating a OROM for a platform with an 
Intel(R) 855GME chipset, you would build the VBIOS from the Driver\855\orom 
directory.

VBIOS: Manual Build - Create PCF File
-------------------------------------

This release of the VBIOS now consolidates the configuration into the Parameter 
Configuration Format that is used for configuration of the driver.  You should 
create your PCF file according to the instructions in the Intel Embedded 
Graphics Driver and Video BIOS User's Guide.

The display settings will be used in the same manner they are used for the 
driver.  In addition, there is a new "vbios" block that is included in each 
config block of the PCF file with some settings that are specific to the VBIOS.  
These new settings are below.  Please see the file sample.pcf in the release 
package as an example of these settings.

VBIOS: Manual Build the VBIOS
-----------------------------

To build the VBIOS, in a DOS command window run the go.bat batch file from the 
selected build folder (depending on the desired chipset and if you are building
the TSR or Option ROM).  The go.bat file takes two command line parameters, the
name of the PCF configuration file, and the default configuration ID.  The
configuration ID should match one of the configuration blocks in the specified
PCF file.  The configuration ID is optional, and if not specified the first
configuration in the PCF file will be used as the default.  The command line
syntax of the go.bat file is as follows:

     go <pcf file name> <config ID>

If you are building a TSR, the resulting file will be TSR.exe.  This program can 
then be copied to the target machine.  To run the TSR, boot the target machine 
with DOS, and then run the TSR.exe from the DOS command line.

If you are building an Option ROM, the resulting file will be OROM.exe.  From 
the command prompt on the host machine, run the OROM.exe, which will generate 
the file TEST1.BIN.  The TEST1.BIN is the binary option ROM that can be merged 
with your system BIOS per the instructions provided by your system BIOS vendor.

End VBIOS
*********


=====
Linux
=====


Linux: System Requirements    
==========================    
    
This package includes drivers built for the following X servers: 
 
	XFree86 version 4.2.0 & 4.3.0 
	X.org version 6.7,6.8 & 7.0
 
Note the driver requires the official versions from www.Xfree86.org 
or www.X.org, and may not necessarily operate with versions that are 
part of your Linux distribution.    
    
    
The drivers provided by this package have been tested using the following     
firmware version:    
    
        AMI* BIOS version:          08.00.09    
        AMI BIOS build date:       05/21/2003    
        AMI BIOS ID:               HLFDB022    
    
The system should contain a minimum of 128MB of RAM.    
    
The Linux kernel Accelerated Graphics Port Graphics Address Remapping Table
(AGPGART) must support the supported Intel chipsets (see    
below for more information).    


Linux: Files
============

The individual Linux install file (for manual access/configuration) is found
under the IEGD install directory in \plugins\com.intel.iegd.drivers.xxx\linux
folder (where xxx represents the release version).

This package contains an XFree86 loadable module device driver for the     
Intel chipsets supported by this release.    
    
The following files are contained in the Linux release: 
 
Documents/RELNOTES.txt                     Release notes 
Documents/UsersGuide.pdf                   IEGD User's Guide 
Documents/Xfree86/intel.4                  Man page for display driver - Xfree86
Documents/Xfree86/IntelEscape.3x           Intel(R) Escape man page - Xfree86
Documents/Xorg-X11/intel.4                 Man page for display driver - X.org
Documents/Xorg-X11/IntelEscape.3x          Intel(R) Escape man page - X.org
License/License.txt                        License file for display driver 
Driver/XFree86-4.2/intel_drv.o             Intel(R) Embedded Graphics Driver binary 
Driver/XFree86-4.2/libXiegd_escape.a       Intel(R) Escape client library
Driver/XFree86-4.2/libXiegd_escape.so.1.0  Intel(R) Escape client shared library 
Driver/XFree86-4.2/intel_escape.h          Intel(R) Escape client include 
Driver/XFree86-4.2/ch7009.so               Chrontel CH7009/7301* TVout/DVI encoder 
Driver/XFree86-4.2/ch7017.so               Chrontel CH7017/7019/7304/7305 TVout/LVDS  
                                           encoder 
Driver/XFree86-4.2/fs454.so                Focus FS453/454* TVout encoder 
Driver/XFree86-4.2/lvds.so                 GMCH Internal LVDS controller 
Driver/XFree86-4.2/tv.so                   GMCH Internal TV controller 
Driver/XFree86-4.2/ns2501.so               National Semiconductor NS2501* LVDS  
                                           controller 
Driver/XFree86-4.2/ns387.so                National Semiconductor NS387R* LVDS  
                                           controller 
Driver/XFree86-4.2/sii164.so               Silicon Image SiI164* DVI encoder 
Driver/XFree86-4.2/ti410.so                Texas Instruments* TFP410 DVI encoder 
Driver/XFree86-4.2/th164.so                THine TH164* DVI encoder 
Driver/XFree86-4.2/sdvo.so                 Serial DVO Devices 
Driver/XFree86-4.2/softpd.so               VCH Devices 
 
Driver/XFree86-4.3/intel_drv.o             Intel(R) Embedded Graphics Driver binary 
Driver/XFree86-4.3/libXiegd_escape.a       Intel(R) Escape client library. 
Driver/XFree86-4.3/libXiegd_escape.so.1.0  Intel(R) Escape client shared library 
Driver/XFree86-4.3/intel_escape.h          Intel(R) Escape client include 
Driver/XFree86-4.3/ch7009.so               Chrontel CH7009/7301 TVout/DVI encoder 
Driver/XFree86-4.3/ch7017.so               Chrontel CH7017/7019/7304/7305* TVout/LVDS  
                                           encoder 
Driver/XFree86-4.3/fs454.so                Focus FS453/454 TVout encoder 
Driver/XFree86-4.3/lvds.so                 GMCH Internal LVDS controller 
Driver/XFree86-4.3/tv.so                   GMCH Internal TV controller 
Driver/XFree86-4.3/ns2501.so               National Semiconductor NS2501 LVDS  
                                           controller 
Driver/XFree86-4.3/ns387.so                National Semiconductor NS387R LVDS  
                                           controller 
Driver/XFree86-4.3/sii164.so               Silicon Image SiI164 DVI encoder 
Driver/XFree86-4.3/ti410.so                Texas Instruments TFP410 DVI encoder 
Driver/XFree86-4.3/th164.so                Thine 164 DVI encoder 
Driver/XFree86-4.3/sdvo.so                 Serial DVO Devices 
Driver/XFree86-4.3/softpd.so               VCH Devices 
 
Driver/Xorg-X11R6.7/intel_drv.o            Intel(R) Embedded Graphics Driver binary 
Driver/Xorg-X11R6.7/libXiegd_escape.a      Intel(R) Escape client library. 
Driver/Xorg-X11R6.7/libXiegd_escape.so.1.0 Intel(R) Escape client shared  
                                           library  
Driver/Xorg-X11R6.7/intel_escape.h         Intel(R) Escape client include 
Driver/Xorg-X11R6.7/ch7009.so              Chrontel 7009/7301 TVout/DVI encoder 
Driver/Xorg-X11R6.7/ch7017.so              Chrontel 7017/7019/7304/7305 TVout/LVDS  
                                           encoder 
Driver/Xorg-X11R6.7/fs454.so               Focus* 453/454 TVout encoder 
Driver/Xorg-X11R6.7/lvds.so                GMCH Internal LVDS controller 
Driver/Xorg-X11R6.7/tv.so                  GMCH Internal TV controller 
Driver/Xorg-X11R6.7/ns2501.so              National Semiconductor 2501 LVDS  
                                           controller 
Driver/Xorg-X11R6.7/ns387.so               National Semiconductor 387R LVDS 
                                           controller 
Driver/Xorg-X11R6.7/sii164.so              Silicon Image 164 DVI encoder 
Driver/Xorg-X11R6.7/ti410.so               Texas Instruments TFP410 DVI encoder 
Driver/Xorg-X11R6.7/th164.so               Thine 164 DVI encoder 
Driver/Xorg-X11R6.7/sdvo.so                Serial DVO Devices 
Driver/Xorg-X11R6.7/softpd.so              VCH Devices 
 
Driver/Xorg-X11R6.8                        Xorg-X11R6.8 binaries 
Driver/Xorg-X11R6.8/libGL.so               OpenGL binary 
Driver/Xorg-X11R6.8/intel_drv.o            Intel(R) Embedded Graphics Driver  
binary 
Driver/Xorg-X11R6.8/libXiegd_escape.a      Intel(R) Escape client library. 
Driver/Xorg-X11R6.8/libXiegd_escape.so.1.0 Intel(R) Escape client shared  
                                           library  
Driver/Xorg-X11R6.8/intel_escape.h         Intel(R) Escape client include 
Driver/Xorg-X11R6.8/ch7009.so              Chrontel 7009/7301 TVout/DVI encoder 
Driver/Xorg-X11R6.8/ch7017.so              Chrontel 7017/7019/7304/7305  
TVout/LVDS  
                                           encoder 
Driver/Xorg-X11R6.8/fs454.so               Focus* 453/454 TVout encoder 
Driver/Xorg-X11R6.8/lvds.so                GMCH Internal LVDS controller 
Driver/Xorg-X11R6.8/tv.so                  GMCH Internal TV controller 
Driver/Xorg-X11R6.8/ns2501.so              National Semiconductor 2501 LVDS  
                                           controller 
Driver/Xorg-X11R6.8/ns387.so               National Semiconductor 387R LVDS 
                                           controller 
Driver/Xorg-X11R6.8/sii164.so              Silicon Image 164 DVI encoder 
Driver/Xorg-X11R6.8/ti410.so               Texas Instruments TFP410 DVI encoder 
Driver/Xorg-X11R6.8/th164.so               Thine 164 DVI encoder 
Driver/Xorg-X11R6.8/sdvo.so                Serial DVO Devices 
Driver/Xorg-X11R6.8/softpd.so              VCH Devices 

Utilities/gui_lib_setup_linux.txt          Instructions for GUI setup 
Utilities/IEGDGUI                          Display modes GUI utility 
Utilities/pcf2iegd                         Utility for conversion of PCF files 
 
The following files are contained in the IEGD_Patches/Driver directory: 
 
agpgart.patch-2.4.20          Patch for 2.4.20 kernel 
agpgart.patch-2.4.20-8        Patch for Red Hat* 2.4.20-8 kernel 
agpgart.patch-2.4.24          Patch for 2.4.24 kernel 
agpgart.patch-2.6.5-1.358     Patch for Fedora* 2.6.5-1.358 kernel 
agpgart.patch-2.6.5-7.191     Patch for SuSE 2.6.5-7.191 kernel 
agpgart.patch-2.6.13-15       Patch for SuSE 2.6.13-15 kernel
COPYING                       GPL license agreement for patches    


Source included in this release    
-------------------------------    
    
None.    


Linux: Installation 
=================== 
 
Please see the IEGD User's Guide for more detailed installation instructions.

Note: Default installation locations can vary so be sure to check your 
system for the proper path.

This is an overview of the install steps:

1) Copy the driver binary (intel_drv.o) to the X server's modules/driver 
   directory. The default installation location is 
   /usr/X11R6/lib/modules/drivers.
 
2) Copy the necessary port driver files (*.so files) into X server's modules  
   directory. The default installation location is /usr/X11R6/lib/modules. 
   Once copying the required port drivers, specify them in "PortDrivers"  
   option in the Device section of config file. For more information, 
   look for option "PortDrivers" in the man page. 
 
3) Copy the driver man page to the X server's man/man4 directory.  The default 
   installation location is /usr/X11R6/man/man4.
 
4) Modify your X server config file to include a device section for this driver. 
   See the man page for details on the configuration options and example 
   usage. 
 
   The default location for the config file is /etc/X11 
 
5) Copy the escape client libraries libXiegd_escape.a and  
   libXiegd_escape.so.1.0 to the X server's library directory.    
   Create symbolic links for additional names: 
        ln -s libXiegd_escape.so.1.0 libXiegd_escape.so 
        ln -s libXiegd_escape.so.1.0 libXiegd_escape.so.1 
 
   The default installation location is /usr/X11R6/lib.
 
6) Copy the driver intel_escape.h include file to the X server's
include/extensions  directory.  The default installation location is
/usr/X11R6/include/X11. 

7) Copy the driver escape man page to the X server's man/man3 directory.  
     
   The default installation location is /usr/X11R6/man/man3. 
 

 
Linux: Patch Information 
======================== 
 
Additional kernel patches are needed for the GART driver to support the 
Intel(R) Embedded Graphics X display driver.  
 
Patching instructions using Linux distributions with XFree86: 
 
To patch the Linux 2.4.2x and SuSE kernel with the GART changes:    
   1. cd into the kernel source directory (e.g., /usr/src/linux-2.x.xxx)    
   2. run 'patch -p1 < .../IEGD_Patches/Driver/agpgart.patch-2.x.xxx'    
 
To update the kernel:    
   1. cd to the kernel source directory (e.g., /usr/src/linux-2.x.xxx)    
   2. run 'make modules'    
   3. run 'make modules_install'    
 
Patching instructions for Fedora Core 2 
--------------------------------------- 
 
To patch a Linux 2.6.xxxx kernel with the GART changes for Fedora Core 2  
kernels: 
 
   1. cd into the kernel source directory (e.g., cd /usr/src/linux-2.6.5-1.358) 
   2. Execute the patch command as follows: 
 
      patch -p1 < .../IEGD_Patches/Driver/agpgart.patch-2.6.xxxx 
 
To update the kernel: 
 
   1. cd to the kernel source directory (e.g., cd /usr/src/linux-2.6.5-1.358) 
 
   2. Since the AGPGART is built-in by default in Fedora Core 2, it needs to be    
      configured to be installed as a module before updating the kernel. 
 
      make menuconfig 
 
      From the configuration menu, select Device Drivers, then Character  
      Devices. Scroll down to /dev/agpgart. Change the disposition to M (for  
      Module). Exit from the configuration menu and save your changes. 
 
   3. Execute the make modules command: 
 
      make modules 
 
   4. Install the modules: 
 
      make modules_install 
 
   5. Build the kernel 
 
      make install 
 
   6. Run the following commands for the linux-2.6.xxxx kernel: 
 
      modprobe agpgart  
      modprobe intel-agp 
 
    Also, to ensure the modules are loaded after a reboot, add the following 
    line to the /etc/modprobe.conf file: 
 
      alias char-major-10-175 intel-agp 


Linux: OpenGL*  
============== 
 
OGL Description: 
----------------
 
The OpenGL implementation for IEGD consists of three components. 
 
    libGL.so: This is the shared library that implements the OpenGL and 
	      GLX APIs. It is linked by all OpenGL applications. 
 
    intel.ko: This is the Direct Rendering Manager (DRM). It is a kernel 
	      module that provides the OpenGL application with the 
	      permissions necessary to directly access the DMA buffers 
	      used by libGL. 
 
    X Server: The existing IEGD X server driver has been enhanced to 
	      communicate with libGL. 
 
Installing the IEGD OpenGL driver provides a fully hardware accelerated 
implementation of the OpenGL library to applications. This implementation 
makes use of a direct rendering technology, which allows the client to 
directly write to DMA buffers that are used by the Graphics Hardware. 
 
Due to the use of direct rendering technology, system designers should 
take special care to ensure that only trusted clients are allowed to use 
the OpenGL library. A malicious application could otherwise use direct 
rendering to destabilized the graphics hardware or, in theory, elevate 
their permissions on the system. 
 
A system designer can control the access to the direct rendering functionality 
by limiting the access to the DRI device file located at: 
 
   /dev/dri/card0 
 
The permissions on this device are set by the X-Server using the information 
provided in the "DRI" section of the xorg.conf file.

OGL Install:
------------

To install the IEGD libGL onto a system copy the libGL.so binary from the 
package to the standard location. Then compile and install the kernel 
module from the sources provided. Lastly, enable the DRI option in the 
X configuration file. Details can be found in the OGL section of the
IEGD User's Guide.
 
    NOTE: The system likely has a version of libGL already installed. 
    You may want to make a backup copy of the existing library before 
    installing the IEGD library. 
 
 
    1) cd IEGD_x_x_Linux/Driver/Xorg-X11R6.8/ 
    2) cp libGL.so /usr/X11R6/lib/libGL.so.1.2
    3) ln -sfv /usr/X11R6/lib/libGL.so.1.2 libGL.so
    4) ln -sfv /usr/X11R6/lib/libGL.so.1.2 libGL.so.1 
    5) ldconfig 
    6) cd IEGD_Patches/Drm/ 
    7) make 
    8) depmod -Ae 
    9) modprobe intel  
        Note: to make the DRM always load:
          9a) edit modprobe.conf
          9b)  add the line: 

                install intel /sbin/modprobe intel_agp; /sbin/modprobe -i intel

   10) cd /etc/x11
   11) Add the following option to the first IEGD device section in the 
       xorg.conf file: 
	 
           Option "DRI"  "Yes" 
 
   12) restart the X-Server (or reboot)  


End Linux
*********


=======
Windows
=======

Windows System Requirements
===========================

The development system should have one the following Windows operating 
systems installed.

	Microsoft Windows XP*                   SP2
	Microsoft Windows XP Professional*     SP2
	Microsoft Windows XP Embedded*         SP2
	Microsoft Windows 2000*                SP4
	Microsoft WEPOS*

The drivers provided by this package have been tested using the 
following firmware version:

        AMI BIOS version:          08.00.09
        AMI BIOS build date:       05/21/2003
        AMI BIOS ID:               049

The system should contain a minimum of 128MB of RAM.


Windows Files
=============

The individual Linux install file (for manual access/configuration) is found
under the IEGD install directory in \plugins\com.intel.iegd.drivers.xxx\windows
folder (where xxx represents the release version)

The following are found in the Windows Installation:

Driver\igdmini.sys            Display driver
Driver\igddis.dll             Hi level Interface Dynamic Link Library
Driver\igd3dalm.dll           Direct3D support Dynamic Link Library
Driver\ssigd.inf              Install file for Display driver
Driver\ssigd_alm.sld          Windows XP* Embedded Component definition 
                               file 
Driver\ch7009.sys             Port driver for Chrontel* CH7009/CH7301 encoder
Driver\ch7017.sys             Port driver for Chrontel CH7017/CH7305 encoder
Driver\fs454.sys              Port driver for Focus 453/454 TVOut encoder
Driver\lvds.sys               Port driver for Internal (GMCH) LVDS controller
Driver\tv.sys                 Port driver for Internal (GMCH) TV controller
Driver\ns2501.sys             Port driver for National Semiconductor* 2501 LVDS 
                               controller
Driver\ns387.sys              Port driver for National Semiconductor 387R LVDS 
                               controller
Driver\th164.sys              Port driver for Thine* 164 encoder
Driver\sii164.sys             Port driver for Silicon Image* 164 encoder
Driver\sdvo.sys               Port driver for SDVO devices
Driver\ti410.sys              Port driver for Texas Instruments* TFP410 encoder
Driver\softpd.sys             Port driver for VCH devices
Utilities\IEGDGUI.dll         Library file for display modes GUI
Utilities\IEGDGUI.exe         Stand-alone display modes GUI executable
Utilities\pcf2iegd.exe        Utility for conversion of PCF files
Utilities\Setup.exe           Install/uninstall utility for driver
Utilities\display_license.txt License agreement for display driver


Installation and De-installation
================================

This release contains an installer/uninstaller utility.  This utility 
does not, however, configure the driver.  Please be sure to update your 
ssigd.inf file with appropriate settings for your display configuration 
prior to installation.  The installation program requires specific file 
names.If you have a different INF file for driver installation, you 
must name it ssigd.inf and place it in the Drivers folder prior to 
running the installation.

Do not move or alter the directories after unzipping the release 
package.  The installation utility uses relative path information, and 
must be run from the Utilities folder, and also requires the Driver 
folder.  If the folders are moved or renamed, the installation utility 
will not operate properly.

Also, be sure to not install this version of the driver with an 
existing installation of a previous version of the driver.  The 
installation utility will not uninstall previous versions of the Intel 
Embedded Graphics Driver, and you must begin from a fresh operating 
system installation.  Results are unpredictable if you install over a 
previous version of the Intel Embedded Graphics Driver. 

To run the installation, simply run the Setup.exe program located in 
the Utilities folder of the installation.  This must run from the 
Utilities folder. 

To uninstall this version of Intel Embedded Graphics Driver, run the 
Setup.exe program.


End Windows
***********


==============
WCE 4.2
=======

WCE 4.2: System Requirements
============================

Development systems should have the following software
installed on the machine.

	Windows XP Professional SP1
	Platform Builder for Windows CE 4.2 (latest service packs)

The target system should contain a minimum of 64MB of RAM.


WCE 4.2: Files
==============

The individual Linux install file (for manual access/configuration) is found
under the IEGD install directory in \plugins\com.intel.iegd.drivers.xxx\WCE42
folder (where xxx represents the release version)


This package contains the following drivers, files and documents.

Documents\RELNOTES.TXT       Release Notes
Documents\UsersGuide.pdf     IEGD User's Guide
License\License.txt          License agreement for display driver
Driver\DDI_IGD.DLL           Display driver binary
Driver\DDI_IGD.REL           Compilation REL file
Driver\igd3dalm.dll          Direct3D support Dynamic Link Library
Driver\video.reg             Registry settings for the platform
Driver\config.bib            Example memory config file
Driver\igdbin.cec            Catalogue feature file
Driver\ch7009.dll            Port driver for Chrontel* CH7009/CH7301 encoder
Driver\ch7017.dll            Port driver for Chrontel CH7017/CH7305 encoder
Driver\fs454.dll             Port driver for Focus 453/454 TVOut encoder
Driver\lvds.dll              Port driver for Internal (GMCH) LVDS controller
Driver\tv.dll                Port driver for Internal (GMCH) TV controller
Driver\ns2501.dll            Port driver for National Semiconductor* 2501 LVDS 
                             controller
Driver\ns387.dll             Port driver for National Semiconductor 387R LVDS 
                             controller
Driver\ti410.dll             Port driver for the Texas Instruments* TFP410 encoder
Driver\th164.dll             Port driver for Thine* 164 encoder
Driver\sii164.dll            Port driver for Silicon Image* 164 encoder
Driver\sdvo.dll              Port driver for SDVO devices
Driver\softpd.dll            Port driver for VCH devices

WCE 4.2: Installation
=====================

Integration/installation of the driver binaries depends upon the requirements of 
the target project workspace.

If taken directly from this release package, the driver binaries need to be 
manually integrated into the project workspace on Platform Builder.

In your current project workspace, remove the default display device driver. Add 
a new user feature to the project and browse for the extracted ddi_igd.dll file. 
When rebuilding your project, Platform Builder will request to select a 
replacement display device driver to solve dependencies.  Select the NULL(Stub) 
display device driver listed from the menu of choices offered.

To install a DVO device port driver, use the platform settings menu and add the 
desired port driver DLL into the BIB image.

The contents of the extracted video.reg file must be copied into the project
registry file (project.reg) every time for each new project, or into the 
platform registry file (platform.reg) if all following projects on your current 
platform will run on the Intel graphics chipset.


WCE 4.2: Mode setting through registry
======================================

The contents of video.reg are the registry entries for
this driver and must be present for the driver to work.
The current settings in this file are defaults.

This version supports setting display configurations through the registry.  
Refer to the following for details of the configuration options.

[HKEY_LOCAL_MACHINE\Drivers\Display\Intel]
   "Width"=dword:280 (HEX)
	;screen width
   "Height"=dword:1E0 (HEX)
	;screen height
   "Depth"=dword:10
	;screen bit depth (HEX)
   "Refresh"=dword:3C
	;screen refresh rate (HEX)

The driver will read these entries at startup and will try
to validate it with a list of known good modes. If validation
is successful, it will set the mode, otherwise it will default
to 640x480x16x60.

The following options allow for configuring the video memory location
and size to a static location. Modifying these requires strong
understanding of the config.bib file. The example config.bib file 
works with the values being set for these options.

If either of the below values is zero or they are not defined, then the
dynamic memory allocation method will be used for video memory
usage. Thus availability is dependant on system resources. This
is compliant with Intel's Dynamic Video Memory Technology.

[HKEY_LOCAL_MACHINE\Drivers\Display\Intel]
   ;"ReservedMemoryBase"=dword:3200000
	; starting physical address of video memory
   ;"ReservedMemorySize"=dword:0E00000
	; size of video memory (includes stolen memory)

NOTE: The above values and current defaults in the video.reg file are
configured to use the last 14 of 64MB of RAM on the system. Please 
refer to the section below on "Determining graphics memory size" 
for details on this static video memory configuration.

For more advanced possibilities of what modes and configurations
are available, refer below to section Display Mode Configuration.


WCE 4.2: Determining graphics memory size
=========================================

This version supports the static as well as dynamic location
of graphics memory. For static video memory, the two registry 
settings ReservedMemoryBase and ReservedMemorySize will 
denote where and how big this area will be. This portion 
of memory will be handled by the built-in 
GART driver. The size should include the stolen memory (BIOS 
setting, if applicable).

If either of these registry settings are zero or not 
defined in the registry, then dynamic memory allocation will
be used for video memory management. The usage will be
dependant on system resources. This is compliant with 
Intel's Dynamic Video Memory Technology.

For example of static video memory, if the stolen memory 
is 8 MB and you want a total of extra 56 MB of graphics 
memory for a total of 64 Mbytes of graphics memory you 
would want to have these settings: (On a 128MB machine)

[HKEY_LOCAL_MACHINE\Drivers\Display\Intel]
   "ReservedMemoryBase"=dword:4000000
   "ReservedMemorySize"=dword:4000000

Which means that the managed graphics memory pool will begin
at physical address 0x4000000 (64MB) and is 64MB of size.

Always remember to include the amount of stolen memory in
this number!

The lower 64MB in the above machine will be used for the NK.bin
and RAM, so therefore you must change your config.bib accordingly.

The configuration for the given machine is (debug build):

	   NK		80220000  01650000  RAMIMAGE
	   RAM	81700000  02790000  RAM

As you see, the NK.BIN image takes 22.3125 MB and the rest of
41.6875 MB is RAM. The release build should have much smaller
NK area. For better control, users may turn AUTOSIZE=OFF to 
calculate exactly where the image and RAM starts and ends followed
by the location of the video memory pool with no possibility of 
runtime deviation.

These two settings, together with the registry settings mentioned
above, will determine your machine?s memory layout.

The example config.bib and the memory configuration settings
in the video.reg are validated settings that can be used for static
video memory of 16MB in size starting from the 48MB address, thus 
including the stolen memory.


WCE 4.2: Framebuffer and video surface size
===========================================

Two more optional registry settings are available to
limit the framebuffer size of the display driver and
the total size of offscreen video surfaces.

The MaxFbSize registry entry will control the maximum
size of the framebuffer only. Actual usage will depend
on the mode being used.

The PageReqLimit registry entry will control the total
size in pages (4K) of all video surfaces, buffers allocated
for any use. Both of these registry configurations apply 
to both the static as well as dynamic video memory management
explained in the previous section. The default below indicates
that a maximum of 2MB's are used for the framebuffer and 
a maximum of 16MB's are permitted for all offscreen video
surface allocations.

   "MaxFbSize"=dword:200000
   "PageReqLimit"=dword:1000

In the case of Windows CE, because the OS does not allow
for dynamically setting the framebuffer size, the MaxFbSize
can be changed to match the mode setting being used in order
to minimize video memory wastage. The following are
different suggested values for MaxFbSize for different display
modes. These values have not been validated. Note that 640X480
is calculated as 640X512 and 800X600 is calculated as 800X768
for stride alignment purposes.

	640X512X16 = A0000
	640X512X24 = F0000
	640X512X32 = 140000
	800X768X16 = 12C000
	800X768X24 = 1C2000
	800X768X32 = 258000
	1024X768X16 = 180000
	1024X768X24 = 240000
	1024X768X32 = 300000


WCE 4.2: Video surface allocation rule
======================================

Another two optional registries entries determine
a minimum width and height dimension that would enable
successful video surface allocations.

In Windows CE GDI, video surface allocations can happen
with a REQUIRE_VIDEO_MEMORY or a PREFER_VIDEO_MEMORY
flag. The following options will force surface
allocations with the PREFER_VIDEO_MEMORY flag to
be allocated in system memory if the width and height
are lower than what is stated in the following entries.

   "MinVidSurfX"=dword:10
   "MinVidSurfY"=dword:10

In this example, surfaces allocated with the
PREFER_VIDEO_MEMORY, where the width and height
are both less than 16 pixels and are forced to be 
in system memory.


WCE 4.2: Driver General Configuration Selection
===============================================

The Intel Embedded Graphics Driver allows the system
integrator to provide multiple instances of per port
platform customizations. There can be up to 16 instances
of configurations and a single variable called "ConfigId"
will ensure the display driver selects the right instance.
Each instance may contain multiple groups of per-config
and per-config+per-port platform customizations.
   "ConfigId"=dword:1
	; 1 = default


WCE 4.2: Display Mode Configuration
===================================

The "DisplayConfig" registry setting (see below), will let
you decide whether you want to configure the display configuration
to be in Single, Twin, Clone, or VEXT. (Windows CE 4.2 does 
not support Extended mode like Windows XP). DisplayConfig
is a per-configuration setting, so note that in the registry path 
the Config number must match what's chosen in ConfigId above.

[HKEY_LOCAL_MACHINE\Drivers\Display\Intel\Config\1\General]
   "DisplayConfig"=dword:1
	;  DigitalPort 1 == SINGLE
	;  DigitalPort 4 == TWIN
	;  DigitalPort 2 == CLONE 
	;  DigitalPort 5 == VEXT
	;          (Vertical Extended) 

The Intel 845GV chipset does not support Clone mode.

"DisplayConfig" does not, however, dictate what type of display
ports will be used. The setting of "PortOrder"
keys ensure the correct display port types are used based on user
selection. Again, these are per-configuration settings.

The Intel 845GV chipset does not support Clone/VEXT mode.
Vertical Extended is like "Extended Desktop" on Windows XP
BUT the desktop is not extended horizontally across from 
left to right but extended vertically across from top to 
bottom. Overlay will not work in VEXT mode.
In VEXT mode, the "Height" settings of the display
resolution must be doubled of what each port height will
be. Also, both ports must share the same timings.

   "PortOrder"="54320"
PortOrder specifies the actual port that will be used for the primary and
secondary ports. I the specified port is unavailable (port driver failed or
display detection failed or port is not available on current chipset), then 
the next port in the above order will be used. PortOrder must be set,
based on chipset specifications, for the driver to work properly:

WCE 4.2: On Intel915 Express series  and later chipsets:
====================================
    1 - Integrated TV Encoder
	(not supported for now)
    2 - DVO B port
    3 - DVO C port
    4 - Internal LVDS port
    5 - Analog port

WCE 4.2: On Intel 830/835/845/85x/865 chipsets:
==========================================
    1 - DVO A port
    2 - DVO B port
    3 - DVO C port
    4 - Internal LVDS port
    5 - Analog port
 

There is also the option to detect the displays before the actual
initialization of the display ports to happen. However, this 
option must be used carefully, displays without EDID tend NOT
to be detected.

	"DisplayDetect"=dword:0
Set DispayDetect to '1' to detect display ports (panel/tv/etc...).
BEWARE, setting this to '1' will mean display for the requested 
port won?t be enabled if detection failed. Use this option wisely.


WCE 4.2: Per Port Platform Customization
========================================

The Intel Embedded Graphics Driver provides what's considered
the most useful tools to the embedded market. Per port platform
customizations. This includes the following:
           - Defining custom DTD panel timings
		     : PixelClock, HorzActive, HorzSync etc...
           - Customized GPIO pin selection for I2C
		     and DDC communication with DVO encoders
			 and panels.
			 : I2cPin, I2cDab, I2cSpeed etc...
           - Flat Panel width and height limitations
		     and power and/or backlight control mechanisms
			 : BkltMethod, BkltT1, BkltT2, GpioPinVdd etc...
           - Port driver specific attribute settings 
		     for initialization at boot time.
			 : Brightness, Contrast, H-Position etc...
All of the above can be set for each individual port
depending on the maximum number of ports the chipset
supports. Also, all of these configurations can be multiply
instanced for per-configuration selection.

The usage model for these per-config, per-port platform
customizations reflect the same options available
in Windows XP inf registry settings. Refer to
the IEGD User Manual or to the provided registry sample file 
in the IEGD Windows CE driver package for examples. The 
following sections provide some details on these 
configurations.


WCE 4.2: Per Port Customization - Custom DTD Mode Timings
=========================================================

For each configuration, each port can be added with up to
255 customized DTD modes. The following is an example of
adding 800X640 mode to the LVDS port when "Config=1" is used.

However, the DTD timings should be preceded with the following
keys:
	- Edid - (1=Read EDID from port, 0=Don?t Read EDID)
	- UseStdTimings - (whether to add the DTD timings to the internal
						mode tables or to discard internal modes 
						and replace them with DTD provided modes.)
	;[HKEY_LOCAL_MACHINE\Drivers\Display\Intel\Config\1\Port\2\General]
	;  "Edid"=dword:0
	;  "UseStdTimings"=dword:1

	;[HKEY_LOCAL_MACHINE\Drivers\Display\Intel\Config\1\Port\4\DTD\1]
	;  "PixelClock"=dword:9c40
	;  "HorzActive"=dword:320
	;  "HorzSync"=dword:28
	;  "HorzSyncPulse"=dword:80
	;  "HorzBorder"=dword:0
	;  "HorzBlank"=dword:100
	;  "HorzSize"=dword:0
	;  "VertActive"=dword:280
	;  "VertSync"=dword:1
	;  "VertSyncPulse"=dword:4
	;  "VertBorder"=dword:0
	;  "VertBlank"=dword:1c
	;  "VertSize"=dword:0
	;  "Flags"=dword:1e
* Note for Per-Config, Per-Port configuration, the subkey 
  path includes the correct "Config" and "Port" numbers


WCE 4.2: Per Port Customization - Custom DVO GPIO Pin Settings
==============================================================

For each configuration, each ports' GPIO pin pair 
settings can be configured in terms of which physical pins,
what I2C slave address the DVO encoder on that port responds 
to, and what speeds to use.
	;[HKEY_LOCAL_MACHINE\Drivers\Display\Intel\Config\1\Port\2\DVO]
	;  "I2cPin"=dword:2
	;  "I2cDab"=dword:70
	;  "I2cSpeed"=dword:0
	;  "DdcPin"=dword:0
	;  "DdcSpeed"=dword:0
* Note for Per-Config, Per-Port configuration, the subkey 
  path includes the correct "Config" and "Port" numbers


WCE 4.2: Per Port Customization - Custom Flat Panel Controls
============================================================

Similarly, the flat panel native resolution and power 
and backlight sequencing controls can also be 
configured here.
	;[HKEY_LOCAL_MACHINE\Drivers\Display\Intel\Config\1\Port\4\FPInfo]
	;  "Width"=dword:320
	;  "Height"=dword:280
	;  "BkltMethod"=dword:0
	;  "BkltT1"=dword:0
	;  "BkltT2"=dword:0
	;  "BkltT3"=dword:0
	;  "BkltT4"=dword:0
	;  "BkltT5"=dword:0
	;  "GpioPinVdd"=dword:0
	;  "GpioPinVee"=dword:0
	;  "GpioPinBklt"=dword:0
	;  "BkltEnable"=dword:0
	;  "UseGMCHClockPin"=dword:0
	;  "UseGMCHDataPin"=dword:0
* Note for Per-Config, Per-Port configuration, the subkey 
  path includes the correct "Config" and "Port" numbers


WCE 4.2: Per Port Customization - Attribute Initialization
==========================================================

Attributes are also per config and per port. However, the actual
keys are dependant on the port driver being used. Below are examples 
of registry keys associated with initializing attributes for 
the Conexant Port Driver.

Attribute Ranges for the Conexant Port Driver:
	Brightness                0-100
	Contrast                  0-7
	Flicker Filter            0-4
	Saturation                0-7
	Hue                       0-100
	Text Filter               0-3
	Macrovision               boolean
	Overscan ratio            1-4        (Low, Std, High, None)
	TV Format                 1, 17, 33  (NTSC-M, NTSC-M-J, NTSC-4.33)
	TV Output                 1-4        (Comp & Svid, Comp, Svid, Comp)

* Note for Per-Config, Per-Port configuration, the subkey 
  path includes the correct "Config" and "Port" numbers
[HKEY_LOCAL_MACHINE\Drivers\Display\Intel\Config\1\Port\2\Attr]
   "Brightness"=dword:32
   "Contrast"=dword:4
   "Flicker Filter"=dword:1
   "Saturation"=dword:4
   "Hue"=dword:32
   "Text Filter"=dword:0
   "Macrovision"=dword:0
   "Overscan ratio"=dword:1
   "TV Format"=dword:1
   "TV Output"=dword:1
   "Composite and S-Video"=dword:1


WCE 4.2: Escape API
===================

Some escape IOCTL code are exposed to user application space in order to control 
non-mode dependent port device attributes, such as Brightness, Contrast, etc, 
raw I2C read/write, and port enable/disable.  The following escape codes are 
defined for providing these features:

INTEL_ESCAPE_ENABLE_PORT              - En/Disables Primary Port
INTEL_ESCAPE_GET_NUM_PD_ATTRIBUTES    - Returns the number of attributes
INTEL_ESCAPE_GET_AVAIL_PD_ATTRIBUTES  - Returns the available attributes
INTEL_ESCAPE_SET_PD_ATTRIBUTES        - Sets attributes
INTEL_ESCAPE_I2C_CONFIG               - Configures I2C access
INTEL_ESCAPE_I2C_ACCESS

Besides the above, two Microsoft reserved Windows escape codes are also 
supported in this release. They are SETPOWERMANAGEMENT and  GETPOWERMANAGEMENT. 
However, in the implementation of GETPOWERMANAGEMENT, all power state requests 
apart from VideoPowerOn will only equate to powering down of the display ports.

Included in this release are some sample source codes to
demonstrate how to use the above custom escape codes.


WCE 4.2: System To Video Stretch Blit
=====================================

System to Video Memory stretch blits are not supported on Intel
GMCH devices.  This feature allows the end user to enable a soft copy
of system surfaces to video surfaces in order to conduct an accelerated
stretch blit. The advantage of this is that the stretch blit then
utilizes the blend engine and hardware filtering can be applied. The
filtering options are listed below under "Blend Filtering".

A value of 1 for the "SysToVidStretch" enables system to video 
stretch blits, as described above, while a value of 0, disables 
this feature and forwards all system to video stretch
blits to the emulator provided by the operating system.

[HKEY_LOCAL_MACHINE\Drivers\Display\Intel]
   "SysToVidStretch"=dword:0


WCE 4.2: Blend Filtering
========================

The blend filtering method can be selected via the BlendFilter registry
setting.  The filter method chosen will be used for all stretch blit
operations, including video to video stretch blits, as well as system to
video stretch blits.  The default filtering method is Nearest.

Available Blend Filter options:
	0 == Default == Nearest
	1 == Binlinear
	2 == Anisotropic
	3 == 4x4

[HKEY_LOCAL_MACHINE\Drivers\Display\Intel]
   "BlendFilter"=dword:2
;  Blend filter to use for all stretch blits
;  BlendFilter 0 == NEAREST
;  BlendFilter 1 == BILINEAR
;  BlendFilter 2 == ANISOTROPIC
;  BlendFIlter 3 == 4X4


WCE 4.2: Catalogue Feature File
===============================

A Catalogue Feature File has been included in this release, igd.cec. In order to 
add this driver into Platform Builders catalogue feature list, take the 
following steps (these will be automated in future):

	1. Create the following folder WINCE420 PUBLIC root folder:
		C:\WINCE420\PUBLIC\COMMON\OAK\DRIVERS\DISPLAY\INTELIGD
	2. Copy ddi_igd.dll, ddi_igd.rel and video.reg into that folder
	3. Install igd.cec file into Platform Builder by:
		- From the File menu, choose Manage Catalog Features. 
		- Choose Import. 
		- In the Import Catalog Features dialog box,
		  choose the .cec file, and then choose Open. 
		- From the View menu, choose Catalog 
		  to display the Catalog.


WCE 4.2: Text Anti-Aliasing 
===========================

This version supports text anti-aliasing. To switch it on add these
registry settings:

[HKEY_LOCAL_MACHINE\System\GDI\Fontsmoothing]

[HKEY_LOCAL_MACHINE\System\GDI]
	"ForceGRAY16"=dword:1

This will enable anti-aliasing.

This needs to be on when using a TV display device.


WCE 4.2: Dynamic Loading Port Drivers
=====================================

This version supports the ability to load the port drivers dynamically.

The "PortDrivers" registry setting will decide which port drivers
to be dynamically loaded.  The port drivers are loaded in the order
specified.  These DLLs must exist in the /Windows directory.


WCE 4.2: NOTEARING support for smooth blits
===========================================

This version supports NOTEARING support for flicker-free images.

The "TearFB" registry setting enables or disables the tearing option. 
Default setting is OFF "0", i.e., tearing enabled. Enabling "TearFB" does
incur a performance penalty.


End WCE 4.2
***********


==============
Windows CE 5.0
==============


WCE 5.0: System Requirements
============================

Development systems should have the following software
installed.

	Windows XP Professional SP1
	Platform Builder for Windows CE 5.0 (latest service packs)

The target system should contain a minimum of 64MB of RAM.


WCE 5.0: Files
===================================

The individual Linux install file (for manual access/configuration) is found
under the IEGD install directory in \plugins\com.intel.iegd.drivers.xxx\WCE50
folder (where xxx represents the release version)

This package contains the following drivers, files, and documents.

Documents\RELNOTES.TXT	     Release Notes
Documents\UsersGuide.pdf     IEGD User's Guide
License\License.txt          License agreement for display driver
Driver\DDI_IGD.DLL           Display driver binary
Driver\DDI_IGD.REL           Compilation REL file
Driver\video.reg             Registry settings for the platform
Driver\config.bib            Example memory config file
Driver\igd_Wince50.cec       Catalogue feature file
Driver\ch7009.dll            Port driver for Chrontel CH7009/CH7301 encoder
Driver\ch7009.rel            File required for Chrontel CH7009/CH7301 build process
Driver\ch7017.dll            Port driver for Chrontel CH7017/CH7305 encoder
Driver\ch7017.rel            File required for Chrontel CH7017/CH7305 build process
Driver\fs454.dll             Port driver for Focus 453/454 TVOut encoder
Driver\fs454.rel             File required for Focus 453/454 build process
Driver\lvds.dll              Port driver for Internal (GMCH) LVDS controller
Driver\lvds.rel              File required for Internal (GMCH) LVDS build process
Driver\tv.dll                Port driver for Internal (GMCH) TV controller
Driver\tv.rel                File required for Internal (GMCH) TV build process
Driver\ns2501.dll            Port driver for National Semiconductor* 2501 LVDS 
                             controller
Driver\ns2501.rel            File required for National Semiconductor 2501 LVDS 
                             build process
Driver\ns387.dll             Port driver for National 387R LVDS controller
Driver\ns387.rel             File required for National Semiconductor 387R LVDS 
                             build process
Driver\ti410.dll             Port driver for Texas Instruments* TFP410 encoder
Driver\ti410.rel             File required for TFP410 encoder build process
Driver\th164.dll             Port driver for Thine* 164 encoder
Driver\th164.rel             File required for Thine 164 build process
Driver\sii164.dll            Port driver for Silicon Image* 164 encoder
Driver\sii164.rel            File required for Silicon Image 164 build process
Driver\sdvo.dll              Port driver for SDVO devices
Driver\sdvo.rel              File required for SDVO encoder build process
Driver\softpd.dll            Port driver for VCH devices
Driver\softpd.rel            File required for VCH encoder build process

WCE 5.0: Installation
=====================

Integration/installation of the driver binaries depends upon the requirements of 
the target project workspace.

If taken directly from this release package, the driver binaries need to be 
manually integrated into the project workspace on Platform Builder.

In your current project workspace, remove the default display device driver. Add 
a new user feature to the project and browse for the extracted ddi_igd.dll file. 
When rebuilding your project, Platform Builder will request to select a 
replacement display device driver to solve dependencies.  Select the NULL(Stub) 
display device driver listed from the menu of choices offered.

To install a DVO device port driver, use the platform settings menu and add the 
desired port driver DLL into the BIB image.

The contents of the extracted video.reg file must be copied into the project
registry file (project.reg) every time for each new project, or into the 
platform registry file (platform.reg) if all following projects on your current 
platform will run on the Intel graphics chipset.


WCE 5.0: Mode setting through registry
======================================

The contents of video.reg are the registry entries for
this driver and must be present for the driver to work.
The current settings in this file are defaults.

This version supports setting display configurations through the registry.  
Refer to the following for details of the configuration options.

[HKEY_LOCAL_MACHINE\Drivers\Display\Intel]
   "Width"=dword:280 (HEX)
	;screen width
   "Height"=dword:1E0 (HEX)
	;screen height
   "Depth"=dword:10
	;screen bit depth (HEX)
   "Refresh"=dword:3C
	;screen refresh rate (HEX)

The driver will read these entries at startup and will try
to validate it with a list of known good modes. If validation
is successful, it will set the mode, otherwise it will default
to 640x480x16x60.

The following options allow for configuring the video memory location
and size to a static location. Modifying these requires strong
understanding of the config.bib file. The example config.bib file 
works with the values being set for these options.

If either of below values is zero or they are not defined, then
dynamic memory allocation method will be used for video memory
usage. Thus availability is dependant on system resources. This
is compliant with Intel's Dynamic Video Memory Technology.

[HKEY_LOCAL_MACHINE\Drivers\Display\Intel]
   ;"ReservedMemoryBase"=dword:3200000
	; starting physical address of video memory
   ;"ReservedMemorySize"=dword:0E00000
	; size of video memory (includes stolen memory)

NOTE: The above values and current defaults in the video.reg file are
configured to use the last 14 of 64MB of RAM on the system. Please 
refer to the section below on "Determining graphics memory size" 
for details on this static video memory configuration.

For more advanced possibilities of what modes and configurations
are available, please refer below to the section titled ?Display Mode Configuration?.


WCE 5.0: Determining graphics memory size
=========================================

This version supports the static as well as dynamic location
of graphics memory. For static video memory, the two registry 
settings ReservedMemoryBase and ReservedMemorySize will 
denote where and how big this area will be. This portion 
of memory will be taken care off by the built in 
GART driver. The size should include the stolen memory 
(BIOS setting, if applicable).

If either of these registry settings are zero or not 
defined in the registry, then dynamic memory allocation will
be used for video memory management. The usage will be
dependant on system resources. This is in line with 
Intel's Dynamic Video Memory Technology.

For example of static video memory, if the stolen memory 
is 8 MB and you want a total of extra 56 MB of graphics 
memory for a total of 64 Mbytes of graphics memory you 
would want to have these settings: (On a 128MB machine)

[HKEY_LOCAL_MACHINE\Drivers\Display\Intel]
   "ReservedMemoryBase"=dword:4000000
   "ReservedMemorySize"=dword:4000000

Which means that the managed graphics memory pool will begin
at physical address 0x4000000 (64MB) and is 64MB of size.

Always remember to include the amount of stolen memory in
this number!

The lower 64MB in the above machine will be used for the NK.bin
and RAM, so therefore you must change your config.bib accordingly

The configuration for the given machine is (debug build):

	   NK		80220000  01650000  RAMIMAGE
	   RAM		81700000  02790000  RAM

As you see, the NK.BIN image takes 22.3125 MB and the rest of
41.6875 MB is RAM. The release build should have much smaller
NK area. For better control, users may turn AUTOSIZE=OFF to 
calculate exactly where the image and RAM starts and ends followed
by the location of the video memory pool with no possibility of 
runtime deviation.

These two settings, together with the registry settings mentioned
above will decide what your machines memory layout will look like.

The example config.bib and the memory configuration settings
in the video.reg are validated settings that can be used for static
video memory of 16MB in size starting from the 48MB address, thus 
including the stolen memory.


WCE 5.0: Framebuffer and video surface size
===========================================

2 more optional registry settings are available to
limit the Framebuffer size of the display driver and
the total size of offscreen video surfaces.

The MaxFbSize registry entry will control the maximum
size of the framebuffer only. Actual usage will depend
on the mode being used.

The PageReqLimit registry entry will control the total
size in pages (4K) of all video surfaces, buffers allocated
for any use. Both of these registry configurations apply 
to both the static as well as dynamic video memory management
explained in the previous section. The default below indicates
that a maximum of 2MB's are used for the framebuffer and 
a maximum of 16MB's are permitted for all offscreen video
surface allocations.

   "MaxFbSize"=dword:200000
   "PageReqLimit"=dword:1000

In the case of Windows CE, because the OS does not allow
for dynamically setting the framebuffer size, the MaxFbSize
can be changed to match the mode setting being used in order
to minimize on video memory wastage. The following are
different suggested values for MaxFbSize for different display
modes. These values have not been validated. Note that 640X480
is calculated as 640X512 and 800X600 is calculated as 800X768
for stride alignment purposes.

	640X512X16 = A0000
	640X512X24 = F0000
	640X512X32 = 140000
	800X768X16 = 12C000
	800X768X24 = 1C2000
	800X768X32 = 258000
	1024X768X16 = 180000
	1024X768X24 = 240000
	1024X768X32 = 300000


WCE 5.0: Video surface allocation rule
======================================

Another two optional registries entries determine
a minimum width and height dimension that would enable
successful video surface allocations.

In Windows CE GDI, video surface allocations can happen
with a REQUIRE_VIDEO_MEMORY or a PREFER_VIDEO_MEMORY
flag. The following options will force surface
allocations with the PREFER_VIDEO_MEMORY flag to
be allocated in system memory if the width and height
are lower then what is stated in the following entries.

   "MinVidSurfX"=dword:10
   "MinVidSurfY"=dword:10

In this example, surfaces allocated with the
PREFER_VIDEO_MEMORY where the width and height
are both less than 16 pixels are forced to be 
in system memory.


WCE 5.0: Driver General Configuration Selection
===============================================

The Intel Embedded Graphics Driver allows the system
integrator to provide multiple instances of per-port
platform customizations. There can be up to 16 instances
of configurations and a single variable called "ConfigId"
will ensure the display driver selects the right instance.
Each instance may contain multiple groups of per-config
and per-config+per-port platform customizations.
   "ConfigId"=dword:1
	; 1 = default


WCE 5.0: Display Mode Configuration
===================================

The "DisplayConfig" registry setting (see below), will let
you decide whether you want to configure the display configuration
to be in Single, Twin, Clone or VEXT. (Windows CE. NET 4.2 does 
not support Extended mode like Windows XP). DisplayConfig
is a per configuration setting, so note the registry path 
that the Config number must match what's chosen in ConfigId above.

[HKEY_LOCAL_MACHINE\Drivers\Display\Intel\Config\1\General]
   "DisplayConfig"=dword:1
	;  DigitalPort 1 == SINGLE
	;  DigitalPort 4 == TWIN
	;  DigitalPort 2 == CLONE 
	;  DigitalPort 5 == VEXT
	;          (Vertical Extended) 

The Intel 845 chipset does not support Clone mode.

"DisplayConfig" does not however dictate what type of display
ports will be used. The setting of "PortOrder"
keys ensure the correct display port types are used based on user
selection. ΤAgain, these are per-configuration settings.

The 845 chipset does not support Clone/VEXT mode.
Vertical Extended is like "Extended Desktop" on Windows XP
BUT the desktop is not extended horizontally across from 
left to right but extended vertically across from top to 
bottom. Overlay will not work in vertical extended mode.
In VEXT mode, the "Height" settings of the display
resolution must be doubled of what each port height will
be. Also, both ports must share the same timings.


   "PortOrder"="54320"
PortOrder specifies the actual port that will be used for the primary and
secondary ports. IF specified port is unavailable (port driver failed or
display detection failed or port is not available on current chipset), then 
the next port in the above order will be used. PortOrder must be set,
based on chipset specifications, for driver to work properly:

WCE 5.0: On Intel 915 Express and later chipsets:
====================================
    1 - Integrated TV Encoder
	(not supported for now)
    2 - DVO B port
    3 - DVO C port
    4 - Internal LVDS port
    5 - Analog port

WCE 5.0: On Intel830/835/845/85x/865 chipsets:
==========================================
    1 - DVO A port
    2 - DVO B port
    3 - DVO C port
    4 - Internal LVDS port
    5 - Analog port
 
There is also an option to detect the displays before the actual
initialization of the display ports to happen. However, this 
option must be used carefully, displays without EDID tend NOT
to be detected.

	"DisplayDetect"=dword:0
Set DispayDetect to '1' to detect display ports (panel/tv/etc...).
BEWARE, setting °·this to '1' will mean display for the requested 
port wont be enabled if detection failed. Use this option wisely.


WCE 5.0: Per Port Platform Customization
========================================

The Intel Embedded Graphics Driver provides what's considered
the most useful tools to the embedded market. Per port platform
customizations. This includes the following:
           - Defining custom DTD panel timings
		     : PixelClock, HorzActive, HorzSync etc...
           - Customized GPIO pin selection for I2C
		     and DDC communication with DVO encoders
			 and panels.
			 : I2cPin, I2cDab, I2cSpeed etc...
           - Flat Panel width and height limitations
		     and power and/or backlight control mechanisms
			 : BkltMethod, BkltT1, BkltT2, GpioPinVdd etc...
           - Port driver specific attribute settings 
		     for initialization at boot time.
			 : Brightness, Contrast, H-Position etc...
All of the above can be set for each individual port
depending on the maximum number of ports the chipset
supports. Also, all of these configurations can be multiply
instanced for per-configuration selection.

The usage model for these per-config, per-port platform
customizations reflect the same options available
in Windows XP inf registry settings. Refer to
the IEGD User's Manual or to the provided registry sample file 
in the IEGD Windows CE driver package for examples. The 
following sections provide some understanding on these 
configurations.


WCE 5.0: Per Port Customization - Custom DTD Mode Timings
=========================================================

For each configuration, each port can be added with up to
255 customized DTD modes. The following is an example of
adding 800X640 mode to the LVDS port when "Config=1" is used.

However, the DTD timings should be preceded with the following
keys:
	- Edid - (1=Read EDID from port, 0=Dont Read EDID)
	- UseStdTimings - (whether to add the DTD timings to the internal
			   mode tables or to discard internal modes 
			   and replace them with DTD provided modes.)
	;[HKEY_LOCAL_MACHINE\Drivers\Display\Intel\Config\1\Port\2\General]
	;  "Edid"=dword:0
	;  "UseStdTimings"=dword:1

	;[HKEY_LOCAL_MACHINE\Drivers\Display\Intel\Config\1\Port\4\DTD\1]
	;  "PixelClock"=dword:9c40
	;  "HorzActive"=dword:320
	;  "HorzSync"=dword:28
	;  "HorzSyncPulse"=dword:80
	;  "HorzBorder"=dword:0
	;  "HorzBlank"=dword:100
	;  "HorzSize"=dword:0
	;  "VertActive"=dword:280
	;  "VertSync"=dword:1
	;  "VertSyncPulse"=dword:4
	;  "VertBorder"=dword:0
	;  "VertBlank"=dword:1c
	;  "VertSize"=dword:0
	;  "Flags"=dword:1e

* Note for Per-Config, Per-Port configuration, the subkey 
  path includes the correct "Config" and "Port" numbers


WCE 5.0: Per Port Customization - Custom DVO GPIO Pin Settings
==============================================================

For each configuration, each ports' GPIO pin pair 
settings can be configured in terms of which physical pins,
what I2C slave address the DVO encoder on that port responds 
to and what speeds to use.
	;[HKEY_LOCAL_MACHINE\Drivers\Display\Intel\Config\1\Port\2\DVO]
	;  "I2cPin"=dword:2
	;  "I2cDab"=dword:70
	;  "I2cSpeed"=dword:0
	;  "DdcPin"=dword:0
	;  "DdcSpeed"=dword:0
* Note for Per-Config, Per-Port configuration, the subkey 
  path includes the correct "Config" and "Port" numbers


WCE 5.0: Per Port Customization - Custom Flat Panel Controls
============================================================

Similarly, the flat panel native resolution and power 
and backlight sequencing controls can also be 
configured here.
	;[HKEY_LOCAL_MACHINE\Drivers\Display\Intel\Config\1\Port\4\FPInfo]
	;  "Width"=dword:320
	;  "Height"=dword:280
	;  "BkltMethod"=dword:0
	;  "BkltT1"=dword:0
	;  "BkltT2"=dword:0
	;  "BkltT3"=dword:0
	;  "BkltT4"=dword:0
	;  "BkltT5"=dword:0
	;  "GpioPinVdd"=dword:0
	;  "GpioPinVee"=dword:0
	;  "GpioPinBklt"=dword:0
	;  "BkltEnable"=dword:0
	;  "UseGMCHClockPin"=dword:0
	;  "UseGMCHDataPin"=dword:0
* Note for Per-Config, Per-Port configuration, the subkey 
  path includes the correct "Config" and "Port" numbers


WCE 5.0: Per Port Customization - Attribute Initialization
==========================================================

Attributes are also per config and per port. However, the actual
keys are dependant on the port driver being used. Below are examples 
of registry keys associated with initializing attributes for 
the Conexant Port Driver specific.

Attribute Ranges for the Conexant Port Driver:
	Brightness                0-100
	Contrast                  0-7
	Flicker Filter            0-4
	Saturation                0-7
	Hue                       0-100
	Text Filter               0-3
	Macrovision*              boolean
	Overscan ratio            1-4        (Low, Std, High, None)
	TV Format                 1, 17, 33  (NTSC-M, NTSC-M-J, NTSC-4.33)
	TV Output                 1-4        (Comp & Svid, Comp, Svid, Comp)

* Note for Per-Config, Per-Port configuration, the subkey 
  path includes the correct "Config" and "Port" numbers
[HKEY_LOCAL_MACHINE\Drivers\Display\Intel\Config\1\Port\2\Attr]
   "Brightness"=dword:32
   "Contrast"=dword:4
   "Flicker Filter"=dword:1
   "Saturation"=dword:4
   "Hue"=dword:32
   "Text Filter"=dword:0
   "Macrovision"=dword:0
   "Overscan ratio"=dword:1
   "TV Format"=dword:1
   "TV Output"=dword:1
   "Composite and S-Video"=dword:1


WCE 5.0: Escape API
===================

Some escape IOCTL code are exposed to user application space in order to control 
non-mode-dependent port device attributes, such as Brightness, Contrast, etc, 
raw I2C read/write, and port enable/disable.  The following escape codes are 
defined for providing these features:

INTEL_ESCAPE_ENABLE_PORT              - En/Disables Primary Port
INTEL_ESCAPE_GET_NUM_PD_ATTRIBUTES    - Returns the number of attributes
INTEL_ESCAPE_GET_AVAIL_PD_ATTRIBUTES  - Returns the available attributes
INTEL_ESCAPE_SET_PD_ATTRIBUTES        - Sets attributes
INTEL_ESCAPE_I2C_CONFIG               - Configures I2C access
INTEL_ESCAPE_I2C_ACCESS

In addition to the above, two Microsoft reserved Windows escape codes are also 
supported in this release. They are SETPOWERMANAGEMENT and  GETPOWERMANAGEMENT. 
However, in the implementation of GETPOWERMANAGEMENT, all power state requests 
apart from VideoPowerOn will only equate to powering down of the display ports.

Included in this release are some sample source codes to
demonstrate how to use the above custom escape codes.


WCE 5.0: System To Video Stretch Blit
=====================================

System to Video Memory stretch blits are not supported on Intel
GMCH devices.  This feature allows the end user to enable a soft copy
of system surfaces to video surfaces in order to conduct an accelerated
stretch blit. The advantage of this is that the stretch blit then
utilizes the blend engine and hardware filtering can be applied. The
filtering options are listed below under "Blend Filtering".

A value of 1 for the "SysToVidStretch" enables system to video 
stretch blits, as described above, while a value of 0 disables 
this feature and forwards all system to video stretch
blits to the emulator provided by the operating system.

[HKEY_LOCAL_MACHINE\Drivers\Display\Intel]
   "SysToVidStretch"=dword:0


WCE 5.0: Blend Filtering
========================

The blend filtering method can be selected via the BlendFilter registry
setting.  The filter method chosen will be used for all stretch blit
operations, including video to video stretch blits, as well as system to
video stretch blits.  The default filtering method is Nearest.

Available Blend Filter options:
	0 == Default == Nearest
	1 == Binlinear
	2 == Anisotropic
	3 == 4x4

[HKEY_LOCAL_MACHINE\Drivers\Display\Intel]
   "BlendFilter"=dword:2
;  Blend filter to use for all stretch blits
;  BlendFilter 0 == NEAREST
;  BlendFilter 1 == BILINEAR
;  BlendFilter 2 == ANISOTROPIC
;  BlendFIlter 3 == 4X4


WCE 5.0: Catalogue Feature File
===============================

A Catalogue Feature File has been included in this release, igd.cec. In order to 
add this driver into the Platform Builder?s catalogue feature list, complete the 
following steps (these will be automated in future):

	1. Create the following folder WINCE420 PUBLIC root folder:
		C:\WINCE420\PUBLIC\COMMON\OAK\DRIVERS\DISPLAY\INTELIGD
	2. Copy ddi_igd.dll, ddi_igd.rel and video.reg into that folder
	3. Install igd.cec file into Platform Builder by:
		- From the File menu, choose Manage Catalog Features. 
		- Choose Import. 
		- In the Import Catalog Features dialog box,
		  choose the .cec file, and then choose Open. 
		- From the View menu, choose Catalog 
		  to display the Catalog.


WCE 5.0: Text Anti-Aliasing 
===========================

This version supports text anti-aliasing. To switch it on, add these
registry settings:

[HKEY_LOCAL_MACHINE\System\GDI\Fontsmoothing]

[HKEY_LOCAL_MACHINE\System\GDI]
	"ForceGRAY16"=dword:1

This will enable anti-aliasing.

This needs to be on when using a TV display device.


WCE 5.0: Dynamic Loading Port Drivers
=====================================

This version supports the ability to load the port drivers dynamically.

The "PortDrivers" registry setting will decide which port drivers
to be dynamically loaded.  The port drivers are loaded in the order
specified.  These DLLs must exist in the /Windows directory.


WCE 5.0: NOTEARING support for smooth blits
===========================================

This version supports NOTEARING to provide a flicker-free image.

The "TearFB" registry setting enables or disables the tearing option. 
Default setting is OFF "0", i.e., tearing enabled. Enabling "TearFB" does
incur a performance penalty.


WCE 5.0: Functions Supported
============================
1. Mode setting
2. Hardware cursor
3. GDI Line Acceleration
4. Mode setting thru registry
5. 8, 16, and 32 bit color modes
6. All supported modes available
7. GDI blitting acceleration (colorfill, stretched, source)
8. DirectDraw support (overlay, blitting, flipping, etc)
9. Text AA
10. DVO port support
11. ACSFL support
12. Attribute control
13. Twin, Clone and Vertical Extended modes
14. Optional sys-to-video stretch blit
15. Blend filter options
16. Dynamic Video Memory Technology
17. Minimum dimension video surface allocation rule
18. NOTEARING support added
19. Per port Custom DTD support.
20. Per port GPIO I2C configuration.
21. Per port FP Native Resolution, Power & Backlight controls.
22. Per port Attribute initialization via registry


End WCE 5.0
***********


Software Errata
===============

This release also contains fixes for errata. For details on the errata, 
including status information, refer to the Errata document located at the 
following Web address:

	www.intel.com/design/intarch/specupdt/309380.htm


Software Licenses
=================

The Intel Embedded Graphics Drivers are subject to the terms of the 
license agreement located in the license file in this distribution package. 
Please read, understand, and agree to the terms before using the IEGD drivers
or the IEGD Configuration Editor.


Legal / Disclaimers
===================

INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL(R) PRODUCTS.
NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL
PROPERTY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL'S TERMS
AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER,
AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE
OF INTEL PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A
PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR
OTHER INTELLECTUAL PROPERTY RIGHT. Intel products are not intended for use in
medical, life saving, life sustaining, critical control or safety systems, or in
nuclear facility applications.

Intel may make changes to specifications and product descriptions at any time,
without notice.

(C) Intel Corporation 2006  

* Other names and brands may be claimed as the property of others.

================================================================================


Download Driver Pack

How To Update Drivers Manually

After your driver has been downloaded, follow these simple steps to install it.

  • Expand the archive file (if the download file is in zip or rar format).

  • If the expanded file has an .exe extension, double click it and follow the installation instructions.

  • Otherwise, open Device Manager by right-clicking the Start menu and selecting Device Manager.

  • Find the device and model you want to update in the device list.

  • Double-click on it to open the Properties dialog box.

  • From the Properties dialog box, select the Driver tab.

  • Click the Update Driver button, then follow the instructions.

Very important: You must reboot your system to ensure that any driver updates have taken effect.

For more help, visit our Driver Support section for step-by-step videos on how to install drivers for every file type.

server: web5, load: 1.26