「稻草」Strawing

对方拒绝了你的代码并向你抛了一个异常

« 火车上的往返免费Wi-Fi不下App免认证登录方法GTA VC多核补丁 »

解决1代及2代Intel核显在Win10下无法使用OpenGL的问题

这个问题已经出现很久了,我的核显是2代酷睿的Intel HD3000,从2015年底开始,越来越多用OpenGL的程序开始工作不正常,如Virtualbox的3D加速,Sketchup等。
用AIDA64一看,是这种情况:


后来查阅资料得知,是因为Intel没有为HD3000/HD2000/HD Graphics这些一代及二代的老核显为Win10更新驱动,以至于程序在manifest文件中的supportedOS加上了Win10之后,OpenGL的DLL就无法被加载。这个问题从来没能得到解决,有一种不完美的解决办法就是修改程序的manifest,把supportedOS里的Win10去掉,但是这样治标不治本。
直到今天发现,去年年底有个大神debug了核显驱动OpenGL的DLL,然后写了个patch,解决了这个问题。
(见这里:https://github.com/LWJGL/lwjgl/issues/119,里面有详细的讨论以及patch的来源以及有网友po出patched的驱动dll)
打了patch之后,一切都解决了。
AIDA64已找到OpenGL:

SketchUp also works well:


值得一提的是,这个pacther也有个bug。因为它是一个32位程序,由于Windows的机制,32位程序没有经过处理直接打开c:\windows\system32的话,会被重定向到c:\windows\syswow64。因此这个patcher并不能patch system32文件夹中的ig4icd64.dll。
最简单的解决方法:把system32文件夹中的ig4icd64.dll剪切到syswow64中,然后用patcher,等它patch之后,再把patched的ig4icd64.dll剪切回system32下。
patch下载:InteHDGraphicsOpenGLPatcher.zip
(关于这个patcher,更多详细请见https://github.com/LWJGL/lwjgl/issues/119
关于patch之后Virtualbox虚拟机还是无法开启3D加速的原因见这里:https://www.liyanfeng.com/post/122.html
本文地址:https://www.liyanfeng.com/post/113.html(如转载,需注明本原文地址)

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

搜索

网站分类

最近发表

推广内容

标签(Tags)

最新评论及回复

文章归档

Powered By Z-Blog 1.8 Walle Build 100427 Designed by Han'space

Blog by Yanfeng Lee(liyafe1997)@Daocao .[Archiver].

本博客采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可,转载本站内容即代表您同意了本协议,必须署名-非商业使用-禁止演绎。