PDA

View Full Version : Possible to manually update OpenGL?



butterjunk
06-19-2016, 08:54 AM
Hi. I know that opengl drivers are tied to the graphics drivers for a system but I'm in a somewhat awkward position. I upgraded my Toshiba laptop from Windows 7 to Windows 10, however the laptop is circa 2010 and it's drivers haven't been updated in years. Windows installs it's own WHQL driver for the Intel express chipset and graphics, and it will not let me "update" them with either the drivers supplied by Toshiba (which were last updated in 2012) or Intel's generic drivers (last updated in 2013). It tells me when I try to update them manually that an update is not necessary because there's a newer version already installed.

However the WHQL driver only has OpenGL 1.1, and I need at least OpenGL 2 on the system. After some searching I found that the old drivers do indeed update OpenGL to version 2.1. Obviously though I'm stuck with 1.1 because I can't update the graphics drivers due to Windows not letting me. So I'm just wondering if there's a way I can manually install opengl myself? Like if I were to pull the opengl files from the intel driver package and put them in place of the existing opengl drivers windows has. Would that even work, and what are the file names (I'm assuming opengl32.dll is one of them, are there any others?).

GClements
06-19-2016, 10:57 AM
Intel's compatibilty matrix (http://www.intel.com/content/www/us/en/support/graphics-drivers/000005526.html) seems to suggest that there are no Windows 10 drivers for the Express chips.

You can't use Windows 7 drivers on Windows 10.

butterjunk
06-19-2016, 11:34 AM
OK. Let me rephrase my question then. Where are the files for OpenGL stored by Microsoft WDDM 1.1 drivers on Windows 10 and what are their file names? Thanks.

mhagain
06-19-2016, 01:13 PM
OK. Let me rephrase my question then. Where are the files for OpenGL stored by Microsoft WDDM 1.1 drivers on Windows 10 and what are their file names? Thanks.

The opengl32.dll in your Windows\System32 directory is absolutely nothing to do with the hardware-accelerated OpenGL provided by your GPU vendor.

Your GPU vendor's OpenGL driver could be stored anywhere and be called anything. It's name and location is really unimportant. What is important is that this name and location is stored in a registry key; when you make an OpenGL call in a program, first of all it's routed to Microsoft's own opengl32.dll; that then checks the registry key for a vendor-provided driver, and if one is found the call is re-routed to the vendor driver.

This process, and the location of the registry key, is documented here: https://msdn.microsoft.com/en-us/library/windows/hardware/ff568203(v=vs.85).aspx

What's important to understand, even if you do successfully manually copy over the vendor's driver file (which, remember, may be called anything so I can't advise on that) and if you do manage to manually set the registry key successfully, driver loading may still fail. There are version number checks and potentially other validation going on inside of D3DKMTQueryAdapterInfo that may cause this to not work. So in other words, nothing is guaranteed to work.

butterjunk
06-19-2016, 03:21 PM
Thanks for the response, that's the info I need. I know what the files are called in the Intel installation package so that won't be a problem for me, an dnow I know where to look in the registry I should be able to sort this out.

I know there's no guarantee it'll work but I can at least try. The alternative is downgrading back to windows 7 which, for a few reasons is going to be even more of a hassle than trying this driver swap bodge job. Anyway thanks.