====================================================================== Release Notes for the Intel(R) Embedded Graphics Drivers (IEGD) with Configuration Editor (CED) Package Version 8.0 Gold Release Sep, 2007 ====================================================================== Contents ======== - In This Release (overview) - Supported Chipsets - New Features - Getting Started - VBIOS - Linux - Windows* - Windows CE 5.0 / 6.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 GRAPHICS DRIVER requirements of embedded applications for Intel embedded chipset-based platforms with integrated graphics capability. 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 Supported Chipsets ================== Target system must contain one of the following Intel Chipsets: Intel(R) Q35 Express Chipset Mobile Intel(R) GME965 Express Chipset Intel(R) Q965 Express Chipset Mobile Intel(R) 945GME Express Chipset Intel(R) 945G Express Chipset Mobile Intel(R) 915GME Express Chipset Intel(R) 915GV Express Chipset Mobile Intel(R) 910GMLE Express Chipset Intel(R) 855GME Chipset (Mobile) Intel(R) 852GM Chipset (Mobile) Intel(R) 852GME Chipset (Mobile) Please check with your system provider to determine the Intel Chipset used in your system. New Features ============ This release contains the following new features and capabilities: Added: - Intel(R) Q35 Express chipset support (2D only) - Windows CE software Vertex processing support - WCE D3DM for Windows CE 5.0 and 6.0 for Q965 and GME965 - Second Overlay support added for Q965, GME965 and Q35 - Text Tuning option for SDVO - VGA Bypass for second CRT with CH7021 (+HD TV) and CH7317 - Preliminary HDMI support with CH7315 (no HDCP or AUdio Sync) - Dual DVI with CH7319/CH7320 (no HDCP) - SETUP "silent install" option with "setup -s" - Linux: Fedora Core 6 and 7 - Linux: SUSE 10+ (SP1 and others) - Linux: IEGD Kernel Module (kernel agnostic GART and DRM interface) Removed (no longer supported): - Windows 2000 is no longer validated This release also contains fixes for errata. For details on errata, including status information, refer to the Errata document usually located at the following Web address: www.intel.com/design/intarch/specupdt/309380.htm or available to download with this release. Getting Started =============== The first step is to install the CED release. The setup and CED utility currently need a Windows (XP, XPe, etc.) environment in which to operate. Simply click on the release to run the setup. Default directory is: \IEGD\IEGD_x_x_x where x_x_x is the version number and release type (Gold, hot-fix, beta, EC, etc.) New versions will install in their own directory and do not disturb any existing CED installations so you can switch between versions as needed. Once installed, you need only switch to the folder and click on the file: iegd-ced.exe which will run the CED utility. NOTE: Only one iteration of CED should be run at any time and as such the program uses a semaphore lock file to prevent multiple versions from being run at the same time. If you receive an error indicating that another instance of CED is running yet no other copies are running, then you can clear the improper lock by going into the WORKSPACE folder in the version of CED you are attempting to run and delete the file named ".lock" which will clear the lock. Please see the IEGD User's Guide for your release for detailed configuration instructions. ===== 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 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 zzz indicates the chipset for which to build the specific Option ROM or TSR. /Driver/zzz/orom/igd_uinit.h Header file containing default initialization settings /Driver/zzz/orom/makefile Makefile used to build VBIOS Option ROM /Driver/zzz/orom/pd_init_all.c C file containing structures and default initialization settings /Driver/zzz/orom/vga-def.bin Default VBIOS Option ROM for single CRT display /Drivers/zzz/orom/lib/* Library files used to build the VBIOS option ROM libigdpialm.lib For Almador graphics engine based chipsets (852/855) libigdpinap.lib For Napa graphics engine based chipsets (915/945) libigdpign4.lib For Gen 4 graphics based chipsets (965) /Driver/zzz/tsr/igd_uinit.h Header file containing default initialization settings /Driver/zzz/tsr/makefile Makefile used to build VBIOS TSR /Driver/zzz/tsr/pd_init_all.c C file containing structures and default initialization settings /Driver/zzz/tsr/tsr-def.bin Default VBIOS TSR for single CRT display /Driver/zzz/tsr/lib/* Library files used to build the VBIOS TSR /Utilities Folder containing DOS utilities that interface with the Video BIOS /Utilities/readedid.exe Utility for retrieving panel EDID information /Utilities/readmode.exe Utility for retrieving current display mode /Utilities/setmode.exe Utility for setting a display mode /Utilities/setpipe.exe Utility for setting active display pipe /Utilities/vbebat02.exe VESA mode acceptance test, for diagnostic purposes /Utilities/vga00.exe Basic mode diagnostic test 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 no longer be build manually using command line utilities. VBIOS: Build Prerequisites -------------------------- Before building your VBIOS in the CED, you must set up your environment with the Open Watcom 16-bit compiler. The CED 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.3 of the Open Watcom compiler. The latest version can be downloaded from the following location: http://www.openwatcom.com 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. VBIOS: TSR and Option ROM ------------------------- The TSR.exe (Terminate and Stay Resident) executable is useful for testing you VBIOS build before merging the option ROM with your system firmware. This program can 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. The CED also creates a VGA.bin file, which is the Option ROM which must be merged with your system firmware. Contact your firmware provider for instructions on merging option ROMs with the system firmware. End VBIOS ********* ===== Linux ===== Linux: System Requirements ========================== This package includes drivers built for the following X servers: XFree86 version 4.3.0 X.org version 6.7, 6.8, 7.0, 7.1, & 7.2 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 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: License/License.txt License file for display driver 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 Driver/XFree86-4.3/iegd_drv.o Intel(R) Embedded Graphics Driver binary Driver/XFree86-4.3/libGLgn3.so Intel(R) Embedded Graphics Driver OpenGL library for 945 and earlier chipsets Driver/XFree86-4.3/libGLgn4.so Intel(R) Embedded Graphics Driver OpenGL library for 965 chipsets Driver/XFree86-4.3/libXiegd_escape.a Intel(R) Escape client library. Driver/XFree86-4.3/libXiegd_escape.so.2.0.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/*.* Xorg-X11R6.7 binaries Driver/Xorg-X11R6.8/*.* Xorg-X11R6.8 binaries Driver/Xorg-X11R7.0/*.* Xorg-X11R7.0 binaries Driver/Xorg-X11R7.1/*.* Xorg-X11R7.1 binaries Driver/Xorg-X11R7.2/*.* Xorg-X11R7.2 binaries Utilities/gui_lib_setup_linux.txt Instructions for GUI setup Utilities/iegdgui Display modes GUI utility Utilities/iegd_crg Customer Reprt Generator for reporting driver issues The following files are contained in the IEGD_Patches directories: IEGD_Patches/IKM IEGD Kernel Module for GART and DRM Replaces the patches for kernels 2.6 and later IEGD_Patches/DRIVER Kernel patches for AGP GART agpgart.patch-2.4.20 Patch for 2.4.20 kernel agpgart.patch-2.4.20-8 Patch for 2.4.20-8 kernel (Red Hat* 9) agpgart.patch-2.4.24 Patch for 2.4.24 kernel agpgart.patch-2.4.26 Patch for 2.4.26 kernel agpgart.patch-2.6.5-1.358 Patch for 2.6.5-1.358 kernel (Fedora* 2) agpgart.patch-2.6.5-7.191 Patch for 2.6.5-7.191 kernel (older SUSE) agpgart.patch-2.6.5-7.244 Patch for 2.6.5-7.244 kernel (NLPOS 9 SP3) agpgart.patch-2.6.13-15 Patch for 2.6.13-15 kernel (SUSE 10) agpgart.patch-2.6.15-1.2054 patch for 2.6.15-1.2054 kernel (Fedora 5) agpgart.patch-2.6.16.46-0.12 patch for 2.6.16.46-0.12 kernel (SUSE 10 SP1) agpgart.patch-2.6.18-1.2798 Patch for 2.6.18-1.2798 kernel (Fedora 6) agpgart.patch-2.6.21-1.3194 Patch for 2.6.21-1.3194 kernel (Fedora 7) IEGD_Patches/DRM DRM files for OPenGL support iegd.h iegd_drm.h iegd_drm_client.h iegd_drv.c iegd_drv.h iegd_interface.c iegd_interface-2611.c iegd_interface-2611.h iegd_interface-2615.c iegd_interface-2615.h iegd_interface-265.c iegd_interface-265.h Makefile Makefile to build the DRM 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 general install steps- the UG may contain specific instructions for your particular Linux distribution: 1) Copy the driver binary (iegd_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 directory. Linux: Patch /IKM Information ============================= Additional kernel changesare needed for the GART driver to support the Intel(R) Embedded Graphics X display driver. This may be in the form of a patch, or may be a new GART interface such as the IEGD Kernel Module (IKM) which provides the necessary GART and DRM interfaces for IEGD. Please see the USer's Guide for details. Patching instructions --------------------- Patching example 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 example for a Linux 2.6.xxx kernel: 1. cd into the kernel source directory (e.g., cd /usr/src/linux-2.6.xxx) 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.xxx) 2. Since the AGPGART is built-in by default for a specific kernel, 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/ (Note: using IKM eliminates the need for this step) 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 WEPOS* The system should contain a minimum of 128MB of RAM. Windows Files ============= The individual 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\iegdmini.sys Display driver Driver\iegddis.dll Hi level Interface Dynamic Link Library Driver\iegd3dgn3.dll Direct3D support Dynamic Link Library for 945 and earlier chipsets Driver\iegd3dgn4.dll Direct3D support Dynamic Link Library for 965 chipsets Driver\iegd.inf Install file for Display driver Driver\iegd.sld Sample Windows XP* Embedded Component definition file - you will need to build this from your specific iegd.inf for your installation! 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 Driver\License.txt License governing the use of the driver- Please READ and agree before using the driver! Utilities\IEGDGUI.dll Library file for display modes GUI Utilities\IEGDGUI.exe Stand-alone display modes GUI executable Utilities\iegd_crg.exe Customer Reprt Generator for reporting driver issues 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 iegd.inf and place it in the Drivers folder prior to running the installation with SETUP.EXE. 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 *********** ==================== Windows CE 5.0 / 6.0 ==================== WCE: System Requirements ============================ Development systems should have the following software installed. Platform Builder for Windows CE (latest service packs) For WCE 6.0: Visual Studio 2005 (latest) The target system should contain a minimum of 64MB of RAM, or 128MB if you will be using D3DM. WCE: Files =================================== The individual install file (for manual access/configuration) is found under the IEGD install directory in \plugins\com.intel.iegd.drivers.xxx\WCE50 or WCE60 folders (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_IEGD.DLL Display driver binary Driver\DDI_IEGD.REL Compilation REL file Driver\IEGD.reg Registry settings for the platform Driver\config.bib Example memory config file Driver\igd_Wince50.cec WCE 5.0 Catalog feature file (not in WCE6.0 package) 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: 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 Anti-alias 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 19. Loadable port driver architecture 20. Per port Custom DTD support. 21. Per port GPIO I2C configuration. 22. Per port FP Native Resolution, Power & Backlight controls. 23. Per port Attribute initialization via registry 24. D3DM support 25. Second overlay in vertical extended mode WCE: 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 IEGD.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. Please see the latest version of the IEGD User's Guide for more details. WCE: Catalogue Feature File =============================== A Catalogue Feature File has been included for WCE 5.0. In order to add this driver into the Platform Builder's catalogue feature list, complete the following steps (these will be automated in future) NOTE: example for WCE5.0: 1. Create the following folder WINCE60 PUBLIC root folder: C:\WINCE50\PUBLIC\COMMON\OAK\DRIVERS\DISPLAY\INTELIGD 2. Copy ddi_igd.dll, ddi_igd.rel and video.reg into that folder 3. Install igd_Wince50.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: 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: 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 off-screen 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 off-screen 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: 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: 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. Please see the separate "IEGD API" document for details on the functions and their use. 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. End WCE 5.0/6.0 *************** Software Errata =============== This release also contains fixes for errata. For details on the errata, including status information, refer to the Errata document usually located at the following Web address: www.intel.com/design/intarch/specupdt/309380.htm and also in the download section of the Intel Premier Support (Quad) system. 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 2007 * Other names and brands may be claimed as the property of others. ================================================================================