![]() So here is the issue, if any modern application that declares Windows 10 compatibility in the manifest tries to load the Intel OpenGL DLL it will fail to load. if it wasn’t zero this time either return with error, this happens on Win10.if it wasn’t zero subtract one, if it’s now zero go to Vista, 7, 8, 8.1 path.subtract 5 from it, if it’s now zero assume Windows XP etc.get the major version number from Windows API.The Intel DLLs check the Windows version number like this in assembly: But an application that doesn’t declare itself Windows 10 compatible could load the same DLL and have the function return 6.3 on Windows 10. This presents the problem, when a newer application that declared Windows 10 compatibility loads an older DLL, if the DLL calls this WinAPI function it will get version 10.0 back. However to maintain backward compatibility GetVersionExA still returned 6.3 unless the application explicitly declared itself Windows 10 compatible in the application manifest. With Windows 10, Microsoft changed the version number to 10.0. It gets the version number via a GetVersionExA WinAPI call. If it’s any other number it returns with an error. The driver checks the major version number, but only checks if it’s 5 or 6. Windows used to have version 5.0 for Windows 2000, 5.1 for XP, 6.0 for Vista, 6.1 for Windows 7, 6.2 for Windows 8, 6.3 for Windows 8.1. ![]() ![]() The Intel OpenGL driver in ig4icd64.dll or ig4icd32.dll tries to check the Windows OS version and refuses to work if it finds a version number that it doesn’t expect. The main takeaway is that Microsoft and Intel are both somewhat responsible for this. Is a bunch of info about the HD 3000 and other older Intel iGPUs and OpenGL support at this link. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |