win10系统intel老核显OpenGL问题解决办法


hd3000

我的旧笔记本电脑核显是2代酷睿i5的Intel HD3000 Graphics,从安装win10以来,越来越多使用用OpenGL的应用开始工作不正常,例如Minecraft我的世界,Virtualbox等等...

经过查询得知是因为Intel没有为HD3000/HD2000/HD Graphics这些一代及二代的老核显为Win10更新驱动,以至于程序在manifest文件中的supportedOS加上了Win10之后,OpenGL的DLL就无法被加载。

只有一种不完美的解决办法就是修改程序的manifest,把supportedOS里的Win10去掉,但是这样不能从根本上解决异常问题。
直到有个大神debug了核显驱动OpenGL的DLL,然后写了个patch,解决了这个问题。

pacther文件下载:InteHDGraphicsOpenGLPatcher.zip

打上这个patch之后,基本上一切问题都解决了。

但是还有一个小bug需要解决,因为这个pacther是一个32位程序,由于Windows的机制,32位程序没有经过处理直接打开c:windowssystem32的话,会被重定向到c:windowssyswow64。因此这个patcher并不能patch system32文件夹中的ig4icd64.dll。

因此,我们还需要把system32文件夹中的ig4icd64.dll剪切到syswow64中,然后用patcher,等它patch之后,再把patched的ig4icd64.dll剪切回system32下。

这样我们就可以在win10下正常使用核显得OpenGL功能了。

参考地址:https://github.com/LWJGL/lwjgl/issues/119,里面有详细的讨论以及patch的来源以及有网友po出patched的驱动dll