blog mail me! feed

Laptop驱动终于跟上时代了.

俺的本子是HP(Compaq) Presasio B1216tu,
话说HP一直很可恶的把2007年8月的Intel显卡驱动挂在自己的官网上, 再无更新.

下载Intel官方驱动, 无一例外说: 您的系统不支持此驱动云云.
看着X3100如此龟速的表现, 实在是觉得憋屈.
索性打算自己hack下驱动, 结果东搞西搞还真搞成功了 = =!
[ 以下是简易步骤笔记 ] 

下载最新的Intel 显卡驱动, 我的是2008.10.28的版本, 得到一安装文件.
把此安装文件用WinRAR打开解压出里边的安装文件,
应该有Graphics, HDMI, Lang目录和一干文件.
然后修改驱动配置文件 \Graphics\igdlh.inf
[ 与此同时打开HP驱动安装包里的 igdlh.inf ] 

分别打开HP驱动和Intel官方驱动的inf文件后,
对比就能发现, HP的驱动里总线的定义和官方驱动是有点不同的,
这也是为什么官方驱动不能直接在HP的机器上装的原因.

把HP自定义的这段设备描述抓过来:

;GM965 HP Specific

%iCRGD0% = iCRG0, PCI\VEN_8086&DEV_2A02&SUBSYS_30BE103C

%iCRGD1% = iCRG1, PCI\VEN_8086&DEV_2A03&SuBSYS_30BE103C

%iCRGD0% = iCRG0, PCI\VEN_8086&DEV_2A02&SUBSYS_30C0103C

%iCRGD1% = iCRG1, PCI\VEN_8086&DEV_2A03&SuBSYS_30C0103C

%iCRGD0% = iCRG0, PCI\VEN_8086&DEV_2A02&SUBSYS_30D8103C

%iCRGD1% = iCRG1, PCI\VEN_8086&DEV_2A03&SuBSYS_30D8103C

%iCRGD0% = iCRG0, PCI\VEN_8086&DEV_2A02&SUBSYS_30C9103C

%iCRGD1% = iCRG1, PCI\VEN_8086&DEV_2A03&SuBSYS_30C9103C

%iCRGD0% = iCRG0, PCI\VEN_8086&DEV_2A02&SUBSYS_3026103C

%iCRGD1% = iCRG1, PCI\VEN_8086&DEV_2A03&SuBSYS_3026103C

这里只定义了两个设备, iCRG0, iCRG1, 其实就是指的 Mobile Intel(R) 965 Express Chipset Family,
当然驱动里带的其他的一堆设备对于俺的笔记本都是废柴.

此后得把HP驱动的inf里所有iCRG0, iCRG1相关的Sections都复制到官方驱动的inf中去,
比如 [iCRG0], [iCRG0.CoInstallers], [iCRG0.Services], [iCRG0.GeneralConfigData] 等等(iCRG1同理).

需要注意的是,
新版本驱动在 [iCRG0], [iCRG1] 段的设置, 可能是和老版本的驱动是有所不同的. 
把[i965G0]的设置复制下来, 再把[iCRG0], [iCRG1]段的设置对应覆盖就行了.

比如我修改好后的[iCRG0], [iCRG1]段如下:

[iCRG0]

FeatureScore=F6

DelFiles=CUI.DelFiles

CopyFiles=igfx.Miniport, igfx.UserMode, MedKrnG500.Copy, Opm.Copy, CUI.Copy, CUISDK.Copy, Resource.Copy , OpenGL.Copy , DX10.Copy , CLK9.Copy

AddReg = igfx_SoftwareDX10Settings, igfx_SoftwareCommonSettings, CUI.AddReg, CUISDK.AddReg , OpenGL.AddReg

AddReg = OEMStaticMode_AddSwSettings, HotPlug_AddSwSettings,  Underscan_AddSwSettings, SDVOHDMI_VSI_AddSwSettings, NonEDIDMode_AddSwSettings, DynamicScaling_AddSwSettings, Enable3DContexts_CNTEGL_AddSwSettings, CRTHotPlugDefaultVrefVoltage_AddSwSettings,MediaSrcMode_AddSwSettings,MediaScaling_AddSwSettings, HDMICEATimings_AddSwSettings, SdvoDdcEdidRead_AddSwSettings, PipeOptimization_AddSwSettings, AsyncFlips_AddSwSettings, EnableInterlacedModeRemoval_AddSwSettings, ForceBorderForMAR_AddSwSettings

DelReg = igfx_RemoveDeviceSettings, CUI.DelReg, CUISDK.DelReg 

DelReg = OEMStaticMode_DelSwSettings, HotPlug_DelSwSettings, Underscan_DelSwSettings, SDVOHDMI_VSI_DelSwSettings, NonEDIDMode_DelSwSettings, DynamicScaling_DelSwSettings,Enable3DContexts_CNTEGL_DelSwSettings, CRTHotPlugDefaultVrefVoltage_DelSwSettings,MediaSrcMode_DelSwSettings,MediaScaling_DelSwSettings, HDMICEATimings_DelSwSettings, SdvoDdcEdidRead_DelSwSettings, PipeOptimization_DelSwSettings, AsyncFlips_DelSwSettings, EnableInterlacedModeRemoval_DelSwSettings, ForceBorderForMAR_DelSwSettings

RegisterDLLs = igfx_RegisterDLLs

 

[iCRG1]

FeatureScore=F6

DelFiles=CUI.DelFiles

CopyFiles=igfx.Miniport, igfx.UserMode, MedKrnG500.Copy, Opm.Copy, CUI.Copy, CUISDK.Copy, Resource.Copy , OpenGL.Copy , DX10.Copy , CLK9.Copy

AddReg = igfx_SoftwareDX10Settings, igfx_SoftwareCommonSettings, CUI.AddReg, CUISDK.AddReg , OpenGL.AddReg

AddReg = OEMStaticMode_AddSwSettings, HotPlug_AddSwSettings,  Underscan_AddSwSettings, SDVOHDMI_VSI_AddSwSettings, NonEDIDMode_AddSwSettings, DynamicScaling_AddSwSettings, Enable3DContexts_CNTEGL_AddSwSettings, CRTHotPlugDefaultVrefVoltage_AddSwSettings,MediaSrcMode_AddSwSettings,MediaScaling_AddSwSettings, HDMICEATimings_AddSwSettings, SdvoDdcEdidRead_AddSwSettings, PipeOptimization_AddSwSettings, AsyncFlips_AddSwSettings, EnableInterlacedModeRemoval_AddSwSettings, ForceBorderForMAR_AddSwSettings

DelReg = igfx_RemoveDeviceSettings, CUI.DelReg, CUISDK.DelReg 

DelReg = OEMStaticMode_DelSwSettings, HotPlug_DelSwSettings, Underscan_DelSwSettings, SDVOHDMI_VSI_DelSwSettings, NonEDIDMode_DelSwSettings, DynamicScaling_DelSwSettings,Enable3DContexts_CNTEGL_DelSwSettings, CRTHotPlugDefaultVrefVoltage_DelSwSettings,MediaSrcMode_DelSwSettings,MediaScaling_DelSwSettings, HDMICEATimings_DelSwSettings, SdvoDdcEdidRead_DelSwSettings, PipeOptimization_DelSwSettings, AsyncFlips_DelSwSettings, EnableInterlacedModeRemoval_DelSwSettings, ForceBorderForMAR_DelSwSettings

RegisterDLLs = igfx_RegisterDLLs 

保存inf, 关闭记事本.

把新版本的(官方)驱动的Graphics目录下的所有文件拷贝到旧版本(HP)驱动的Graphics目录下,
替换旧文件, 再用新的Setup.exe替换旧的Setup.exe, 
驱动的hack工作就大功告成了.

接下来就在旧驱动的目录中运行Setup.exe应该就能完成驱动更新了,
当然Vista可能会弹出提示说驱动XXX, 是否继续云云, 点确定直到安装完毕重启.

更新后, 又进RA3测试了一把, 也许是心理作用, 感觉是快点了,
可是这块可怜的显卡, 跑3DMark05还是只有区区可怜的853分,
悲哀啊, 悲哀!

sub040 said,

November 24, 2008 @ 6:00 pm

换机器才是王道啊

RSS feed for comments on this post · TrackBack URI

Leave a Comment