Questa guida ha come scopo quello di fornirvi le "BASI" per generare un driver IEMGD sulla suite per MS Windows 7 ma non si sostituisce alla documentazione ufficiale!
L'esempio qui sotto è sviluppato per ASUS 1101HA\1201HA (per gli altri modelli di device il procedimento è simile).
Nota.Qui utilizzeremo i profili già disponibili
3.Avviamo e familiarizziamo col programma (gode di un'ottima grafica semplice e con poche opzioni):
4.Selezioniamo la Configurazione 6x4.cnfg (quella per il monitor del nostro netbook)
-LVDS (Low-voltage differential signaling) è la voce che si riferisce al nostro monitor
-Aggiungiamo alla lista di destra la voce sDVO (Serial Digital Video Out) per aggiungere il supporto all'uscita VGA e selezioniamo "Next"
5.Selezioniamo da Custom Display Timing la risoluzione massima con quale il driver si avvierà (dipende dal vostro monitor su Asus 1101-1201HA è 1366x768)
6.Selezionamo Attribute Settings (per molti netbook saltare questo punto)
Possiamo vagliare diverse opzioni ma quella che interessa a noi è la frequenza dell'inverter che è calcolata in Hz (dipende dal vostro computer), immettiamo il valore desiderato e selezioniamo Finish
7.Passiamo alla configurazione uscita VGA\HDMI\Ect
Selezioniamo il Chip dedicato, che per ASUS 1101HA è il Chrontel CH7317A, e Use driver built in timing + Use EDID Display if avaiable
8.Ora andiamo alla voce Package
Eliminiamo la voce Video BioS e aggiungiamo Windows7 per la creazione dei driver
9.A questo punto selezioniamo il pacchetto che dobbiamo creare e clickiamo Generate Installation
Il Driver è nella cartella IEMGD\Workspace\Installation\multiPB.pkg_installation\
Basta scompattare l'archivio zip e sarete pronti a installare il vostro driver ;)
-Complimenti! Adesso leggete le guide sul sito intel!!!!-
Tavola dall'User Guide:
1)Generic: Multipackage; Freq:0
2)Asus: 6x4 profile;1366x768; CH7317; Freq:20300
3)Sony Vaio P: Add DTD 1600x768; CH7317; Freq:300
4)Dell Mini 1010: HDMI Silicon 1392; Freq:0
5)Acer 751H: CH7317; Freq:20300
6)Viliv N5: 10x6Sam Profile; 1024x600; no video output
7)Viliv S5: 10x6Sam Profile
- Panning Mode: Use resolution that is larger than the native resolution of the display
DTD Page: This page requires specific values basing on your Monitor Panel DataSheet
For this reason generic drivers can't be 100% setted for your device,without EDID, because it's impossible to know which kind of panel uses Asus,Dell or Sony ect. in every product and also in the same line product: for ex. not all Asus 1101HA have the same Monitor Panel).
Anyway if you don't see any artifacts on the display can use generic settings.
Generic Pixel clock frequency = HTOTAL * VTOTAL * Vertical Refresh Rate / 1000000
HTOTAL = HACTIVE + HBLANK_BACK PORCH + HBLANK_FRONT PORCH
VTOTAL = VACTIVE + VBLANK_BACK PORCH + VBLANK_FRONT PORCH
Output names based on informations available on http://notebookschematic.com/
Supporto video output IEMGD:
CH7319-CH7320 Dual Port DVI
Silicon Image SII 1362
Silicon Image SII 1364
Lapis Semiconductor ML7213
STM IOH ConneXt
Read your model's name with AIDA64 and after search datasheet on google
Asus 1101HA LCD: Chi Mei N116B6-L02 Rev.C2
VideoBIOS: (Introdution to vBios)
Primary Dislay Mode:
Standard Modes on Asus 1101HA: Use Default (better) or set a 16bpp value like 800x600.
Primary Non-standard Modes: Should be 1366x768 but on datasheet there isn't any value for this res.
Secondary Display Mode on Asus 1101HA: Leave Default
Power On Self Test: First screen after power on your device. Write anything you want (i usually leave it blank
5F Function: Select which your device support (ASUS 1101HA not support it)
Common to port: Allow the vBios to get port informations from Bios
VideoBios flash on AMI BIOS for US15 Platform (Vendor ID:8086 Device ID:8108)
Ingredients: MMTool; system BIOS; video BIOS; Bios flasher; Pendrive
1)Open with MMTool your bios (Load ROM)
2)Select Replace Tab
3)Select ID20 Option Rom as in picture (be sure that ID is GPU)
4)Select Browse (path of VGA.bin compiled with CED) and after Replace
5)Save ROM or save ROM as...
6)Flash with your BIOS utility (on Asus 1101HA series copy modded rom into a pendrive and change name in 1101HA.ROM. Restart PC and on boot press ALT+F2)
Driver Package for Windows 7:
e6xxdispext.inf NOT for US15
e6xxdispext.sys NOT for US15
hkcmd.exe Intel Tool (hotkey)
igdkmd32.sys Main Driver File
igdkmd32.vp Kernel Module
igdlh32.inf Installer Configuration
igdogl32.exp OpenGL file (useless?)
igdogl32.lib OpenGL file (useless?)
igdogl32.dll Main OpenGL 2.0 File
igdsgl32.dll Main OpenGL 2.0 File
igdumd32.dll WDDM directly linked to sys file
igfxcfg.exe Intel Tool
igfxcpl.cpl Intel Tool (Control Panel File)
IgfxExt.exe Intel Tool
IgfxExtps.dll Intel Tool
igfxrENU.lrc English Intel Tool
igfxressENU.lrc English Intel Tool
igfxsrvc.dll Intel Tool
igfxsrvc.exe Intel Tool
igfxtray.exe Intel Tool Tray Icon
libmfxhw32.dll NOT for US15: Intel MediaSDK library
Driver Package for Windows XP:
ch7036.sys video-output driver for Chrontel model 7036
ch7036.vp Voucher file for COPP
iegd.inf Driver Configuration File
iegd3dga.dll Direct3D support Dynamic Link Library
iegdcagt.cpa Agent for COPP
iegdcagt.vp Voucher file for COPP
iegdckey.vp Voucher file for COPP
iegddis.dll Display Driver
iegdmini.sys Main Driver File
iegdmsys.vp Voucher file for COPP
libGLES_CM.dll OpenGL ES 2.0
libGLES_CM.lib (OpenGL ES useless file?)
libGLESv2.dll OpenGL ES 2.0
libGLESv2.lib (OpenGL ES useless file?)
lvds.sys Port driver for Internal (GMCH) LVDS
lvds.vp Voucher file for COPP
sdvo.sys Port driver for SDVO devices
sdvo.vp Voucher file for COPP
softpd.sys Port driver for VCH devices
softpd.vp Voucher file for COPP
Useless: Memory and max devices connected not working on US15, FeatureScore (this key tells to windows if a driver is designed for an OS and if is better than an other),Pcf version default 700 (the other value is 400) don't change it!
Overlay function for Windows XP: (a technique to hold the decoded video frame only for XP,linux and Meego):
1)Intel ® EMGD offers a video overlay feature to speed up video display
2)Framebuffer blending of 3D graphics with overlay does not cause any significant increase in CPU or GPU usage compare to other methods such as compositing and works with OpenGL,OpenGL ES,Direct3D.
3)The media application needs to play the video using the overlay plane. Most applications, by default, play video in overlay
4)This feature reduces the amount of CPU cycles to achieve video and the 3D blending effect compared to programming on a standard operating system API.
5)Problem: Black corruption in some display element
Under windows xp is fixable with 2D Alpha Override Feature but:
A)Minor increase in CPU usage due to the overriding operation
B)Windows XP display must be set to 32 bits (I hope no one is using 16 bits)
C)Microsoft WHQL may fail if it is tested when this feature is turned on
D)This feature will slow down 2D operation slightly. Most of the time it is not noticeable to the user
How to translate Installation Package: Add Lang Package to Driver's Archive Path\Lang\LPCO\
Windows Registry Driver Initialization Keys:
-> Hexadecimal values are in (VALUE) and as you can see are for 1366x768 display
To update the new value just disable gpu and then renable it from Device Manager (should be sufficient also a Windows restart).
PS. If you find something useful to edit post HERE!
VGA\HDMI Port AutoDetection:
Other possibility is to enable porthotoverride and enable igfxcfg.exe system autorun manually (but this solution isn't a cool )
Ram usage (Embedded Compact):
system resources with the operating system or statically by pre-allocating a block of
system memory to be used exclusively by the graphics driver.
To configure the driver to operate using static video memory, two registry settings
“ReservedMemoryBase” and “ReservedMemorySize” need to be enabled and defined
with valid values. These two registry entries control the start address and size of the
memory range pre-allocated for graphics driver use. The pre-allocated memory range
should include the stolen memory (BIOS setting). For the Intel chipset or processor,
this feature does not reuse the stolen video memory reserved by BIOS. Intel
recommends getting BIOS to limit this to the smallest size as this memory is wasted
due to some combined OS and hardware limitation.
For example, on a system with 512 MB of system memory and 4 MB of stolen memory
(BIOS option), if an additional 14 MB of graphics memory (for a total of 18 MB) is
desired, these settings should be used.
These settings indicate that the managed graphics memory pool will begin at physical
address 0x1E400000 (484 MB) and will be 18 MB in size. The base address,
“ReservedMemoryBase,” is the physical system address value and the stolen memory
from the BIOS settings is included.
Check the platform you are using to ensure you have all the stolen memory taken into
account. For example, in the case of the Cobra board that uses Intel's ACSFL firmware,
2 MB of stolen video memory needs to be included in this configuration. Always
remember to include the amount of stolen memory in this number.
Besides the registry entry, the Platform Builder working project also needs to be
updated to ensure that the kernel does not try to access this stolen memory. Two items
in the config.bib of the project workspace need editing: the NK image/RAM memory
partitioning and the memory reservation list. Using the example of the registry
configurations above, the kernel would have to be configured not to use the physical
memory above the 484 MB mark since that's where the static video memory begins.
Thus, the total of the NK image and the system's available RAM must be no more than
484 MB, so you must change your config.bib accordingly:
NK 80220000 009BE0000 RAMIMAGE ;14 MB for nk.bin + misc.
RAM 80C00000 1DA00000 RAM ;42 MB for RAM
The NK.BIN image plus the lower conventional memory DMA buffers used by Windows
Embedded Compact 7 takes 10 MB; 474 MB is for the RAM. Thus, the memory area
above the 484 MB mark is untouched by the kernel and will be used by the display
Two additional 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 (4 KB) 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 2 MB are used for the
framebuffer and a maximum of 16 MB are permitted for all offscreen videosurface
In the case of Microsoft Windows Embedded Compact 7, 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 waste. 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
1280x1024x16 = A000000
1280x1024x32 = A000000
Another two optional registry entries determine a minimum width and height that allow
video surface allocations to succeed.
In Windows Embedded Compact 7 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 stated.
The “MinVidSurfX” registry entry defines the minimum width of a surface allocation for
it to succeed with video memory. “MinVidSurfY” defines the minimum height. The
surface allocation will succeed if either the width or the height is at the required
n 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.
This option increases performance of the display device as smaller video images, such
as icons, would be kept in system memory and only blitted onto the visible frame buffer
when they are needed. This ensures optimal use of the display device for larger video
surfaces where acceleration makes sense.
System to Video Memory stretch blits are not natively supported on Intel GMCH
devices. This feature allows you to enable a soft copy of system surfaces to video
surfaces to conduct an accelerated stretch blit. The advantage is that the stretch blit
uses the blend engine and hardware filtering can be applied. The filtering options are
listed in Section 6.2.2.
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.
switch it on, add these registry settings:
Note: Always turn on Text Anti-Aliasing when using a TV display device
While XP driver supports upscaling feature seems that 7 edition don't. Anyway on Win 7 datasheet there is the possibility to upscale CH7308 LVDS Trasmitters and the procedure should be also compatible with EDID-less pannel
In Windows 7, upscaling is supported through the CH7308 LVDS transmitter. When a
lower resolution (compared to native resolution) is selected, the panel will be scaled to
fit the panel while maintaining the aspect ratio.
The Intel ® EMGD can upscale lower-resolution modes (those smaller than the size of
the respective panel) to the native size of the panel connected to a Chrontel CH7308*
The Intel ® EMGD uses a user-supplied DTD with the native flag set (also known as
native DTD) as native timing for the panel connected to a CH7308 transmitter.
If the user does not supply a native DTD, Intel ® EMGD uses 1024x768 as the default
native timing and 800x600 and 640x480 as built-in standard timings.
To support upscaling, the LVDS transmitters require setting the pipe to native timing of
the panel despite the user-selected resolution. It also requires finding the native timing
(also known as native DTD) of the panel based on user-supplied configuration
The CH7308 (sDVO) port drivers limit the list of supported modes to the size of panel.
The port drivers also mark one of the timings as native DTD as follows (it goes to the
next step only if native DTD is not found in the current step).
1. It finds the timing with the user-defined DTD with the native DTD flag set. This
becomes the native DTD for the panel.
2. If the panel is an EDID panel and user selected to use EDID DTDs, then the port
driver marks the EDID DTD as native DTD.
3. If the user supplies a DTD without the native DTD flag set, then the port driver
marks this one as the native DTD.
4. If none of the above steps works, the driver uses 1024x768 as the default native
timing and 800x600 and 640x480 as built-in standard timings.
The Internal LVDS connected to an EDID Panel supports scaling of modes other than
native mode. To support this, the port driver exports information to the EDID parser
that it can scale. The EDID parser does not remove other modes (that is, non-native
modes) from the mode table. It only marks the native mode. When the Intel ® EMGD
queries the port driver on which modes are supported, the port driver then removes
any modes that cannot be scaled (up or down depending on the port's hardware
capability). When mode-setting occurs, the second display in Clone mode can indeed
support non-native modes even though the panel had EDID. This occurs only if a native
mode can be found the port driver can scale. Otherwise, the port driver ignores the
scaling information and the Intel ® EMGD proceeds normally.
The driver also supports Internal LVDS Scaling on EDID-less panels. The steps that
enable this are the same as those described for the scaling of Chrontel LVDS
Panning Mode: I don't know if can be usefull for someone but this feature isn't upscaling is only a zoom. The panning mode allows you to set a resolution that is larger than the native
resolution of the display panel.
Registry keys for Scaling Mode:
There must be multi %display Key% exist, you should find out the one you are using. This is easy, you can delete all keys first, and then change your current monitor's setting. There will be a new key automatically created and that's your display. Below is the scaling value options:
2: Center Image
3: Full Screen should be set
4: Maitain Aspect Ratio
What i think about 1024x600 display at 1024x768 (downscaling):
While IEMGD XP version and Intel Official Win 7 support this feature. I'm a littlebit confused with IEMGD 7\8\10 edition. I will try to check if is possible but this an hobby not my work :D
Possible solution: Read Up or Panning+Scaling?
Other GMA GPUs support this feature via downscaling registry key editing (applicable also with Change Netbook Resolution application) or via INI editing (before the installion of the driver)
Intel Video Decoding Dll
Result: Found Package from Sony servers.
Some cheats: Exported from EeeCtl and are replicable also with RWeverithing program
/* kiwidrew's work */
#define EC_ST00 0xF451 // ACPI: Temperature of CPU (C)
#define EC_SC02 0xF463 // ACPI: Fan PWM duty cycle (%)
#define EC_SC05 0xF466 // ACPI: High byte of fan speed (RPM)
#define EC_SC06 0xF467 // ACPI: Low byte of fan speed (RPM)
#define EC_SFB3 0xF4D3 // ACPI: Flag byte containing SF25 (FANctrl)
#define GPIO_PIN_VOLTAGE 0x0066 //
#define EC_FPWMH1 0xFE26
#define EC_FPWML1 0xFE27
1)Legacy Backlight,WORKS ONLY ON WINDOWS XP
This info was present also in intel documents
Path: Bus 0 Device 2 (Intel VGA Card)
Path where insert Brightness Level: 0xF4
Value Setted by EeeCtl:
UltraBright: FF the maximum value for brightness
Accepted values: 1-99 (1-15=really low values) and combination 0;1;2;3;4;5;6;7;8;9; A;B;C;D;E;F
2)Registry Settings for Win 8-10 that I have to test: (i reported here to remember them)
(Because newer Os uses DWM and should be a problem for GMA500)
REG_DWORD 10 = default ; 0 = disable VSync control
RTL_REGISTRY_CONTROL is the same as HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControl
DWORD value 1=Disabled Hardware acceleration ; 0=Enable Hardware acceleration
DWORD Value min0 max16
HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Services\Monitor
OpenCL Compatibity:Hardware rendering isn't possible, anyway is possible to install this library with CPU deconding. Probably need fixes to load correctly this source. HERE
Graphics Rendering Registry