Modifying Drivers to get Newer Ones Working on LTSB 2015

Discussion in 'Windows 10' started by Omicron16, Apr 8, 2018.

  1. Omicron16

    Omicron16 MDL Novice

    Jul 1, 2016
    23
    12
    0
    As Windows 7 is about to come to an end in terms of general support (such as drivers and programs,) I'm a bit forced to move to Windows 10 to even run it on newer hardware.

    However, I'm not at all interested in constantly having to completely update the OS every 6 months and come up with new procedures for blocking all of that obnoxious telemetry and such - hence this research.

    It appears that Windows 10 drivers are segregated in terms of build numbers, which means if you are running an older version of Windows 10 (such as LTSB 2015,) you cannot normally install the drivers as the .inf file will manually specify sections like "NTamd64.10.0...14393," which something like LTSB 2015 will require "NTamd64.10.0."

    These sections can easily be modified so that Windows 10 will let you pick up the driver and even begin the install process provided you turned off driver signing... but not always.

    I tried this with the HD 630 drivers by modifying both the "%Intel%" section at the top, and the "IntelGfx.NTamd64" section below it so that the .inf has "NTamd64.10.0" over the 14393 build requirement, and sure enough, LTSB will find the driver and let me start the process. However, even with this modification, I'm being hit with the dreaded "The driver selected for this device does not support this version of windows."

    Now, I'm trying to figure out why this happens. I followed the "iKBLD_w10_DS" to the section below and found something called "FeatureScore=D1," but LTSB 2015 and 14393 both use D1 - so that can't be the issue. And I don't see anything else in the .inf which would cause this problem either (except possibly failure to start messages from services?)

    Could it be that the driver itself (igdkmd64.sys) actually has a section in it which would halt the install due to an older Windows version? Could this possibly be related to the driver having a newer WDDM than LTSB 2015?

    To be honest, I'm not really looking forward to the future of Windows if this is indicative of future work that I have to do with it. What happened to just getting an OS and using it for 5 years or so all computers?
     
  2. Omicron16

    Omicron16 MDL Novice

    Jul 1, 2016
    23
    12
    0
    Two other things:

    1. Yeah, LTSB 2015 is old - I would likely be using LTSB/LTSC 2019 when it comes out, and it would probably be fine with drivers until 2021/2022 - but I'm trying to figure out how I can keep using it until at least 2025. This incremental driver model is a major barrier to this.

    2. Yes, there are HD 630 drivers that work on it no issue (you can even get them working on Windows 7,) but for the reason above (understanding how Windows sees the driver version and how to bypass this,) I am using the newer version of the driver for testing.
     
  3. mikeypsquared

    mikeypsquared MDL Novice

    Nov 4, 2009
    15
    1
    0
    Honestly I won't be able to help you with drivers, as it's usually only recommended to tamper with the inf if your sure you device is identical to the .sys you're installing and just need to refreshed the DEVICE ID in the inf, that's only been my experience.
    Most drivers are binary like exe's and modifying them requires so heavy reverse engineering, and even if you do find a way, what then if you get a driver update? you really want to be modifying a driver every update


    Why not use 2016 LTSB? It's based off 1607 and not 2015 LTSB 1507 (windows 10 Original RTM)
    Is it because of your license? Kaby lake came out in 2016, and thats right about 1607

    Because you mention Intel hd 630, i assuming you're using a Kaby Lake processor, Intel does list older drivers, alltho i think Kaby lake came out after 2015, so I would suggest trying to oldest driver for the hd 630 you can find on intels website., and modify there.
     
  4. Omicron16

    Omicron16 MDL Novice

    Jul 1, 2016
    23
    12
    0
    Right...

    That's what I am trying to figure out for future reference, is the version check that Windows is citing just from something it is reading out of the .inf, or is this from machine code it is reading out of the .sys directly. I am wanting to learn more about how Windows works with its drivers, and to what limit I can push in terms of reverse compatibility.

    I am wanting to know how to do this in the future (years down the line) so that when I have 2019 LTSC, I can continue using it in 2022 or beyond as I am almost certain Microsoft is going to twerp with the "required version" for drivers preventing me from actually using 2019 LTSC on a computer in 2023 (as there may not be drivers available for 2019's build number.) However, there is still a major chance the drivers are still mostly compatible and technically, it should work with 2019 LTSC preventing me from having to go through the procedures of re-customizing yet another Windows install.

    I'd go to a board that deals with this niche more directly, but MDL seems to be the best place for this question.

    I really don't want to spend the time migrating my stuff to Linux, but if Microsoft is going to pull the "upgrade your OS completely" every 2-3 years, I might have to consider it.
     
  5. Omicron16

    Omicron16 MDL Novice

    Jul 1, 2016
    23
    12
    0
    Yes, this is manually selecting the exact driver with the device ID in my modified driver package/.inf - it loads, shows the unsigned driver, let's me install it with a warning, and then fails with the "not supported for this version." This is not using the "autoscan," the driver would not even show up then as it is not technically signed per how this is configured.

    It's less about 2015 LTSB and the HD 630, and more about trying to figure out a way to pick a version of Windows to use for 5-6 years that is homogeneous across all of my computers I purchase in that time frame. I am simply wondering how this message is appearing - the inf is modified, and Windows 10 attempts to install it - but somehow it still knows that the driver is not for its version. Aka, is this actually in the .sys file, or just something I overlooked in the .inf when modifying it. If this is compiled in, I know I'm probably at a dead end, that's why I am doing some research on this.

    As a clarification, the HD 630 graphics chip definitely works with 2015 LTSB (Win 10 RTM,) as well as even Windows 7. You just use the other driver built for the RTM Windows 10. What I am just doing is some trial and error to understand how far I can modify drivers without having to have access to the source code. Just looking for someone on here with more knowledge who might have gone about this same path before, and what they figured out.

    Aka, I'm looking for an expert on this topic (or at least someone who has tried something like this before.)
     
  6. ChaserLee

    ChaserLee MDL Senior Member

    Oct 7, 2014
    437
    93
    10
    #7 ChaserLee, Apr 9, 2018
    Last edited: Apr 9, 2018
    I'm by no means an expert, but I do run LTSB and have faced driver issues in the past. For me, the total and complete answer to my driver issues was the use of the SDI program. Have you tried Snappy Driver Installer yet, because if not, it just might be the answer you are looking for.

    If you feel like giving it a try, I recommend just downloading the Lite version, and run that. It does not require installation, and will only fetch and install the drivers you select. When you first run the program, only download the indexes. The program will then provide you with a list of drivers that will be compatible with your system. Hover your pointer over any given driver for some very detailed information, including Device ID, Vendor ID, and so on.

    Hope this helps.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. Omicron16

    Omicron16 MDL Novice

    Jul 1, 2016
    23
    12
    0
    Just doing some research, only want to figure out what causes the "driver is incompatible due to it being a different version" message under any version of Windows even after editing the .inf file. Aka, is this check coming from Windows interacting with the .sys, or is there something when editing the .inf itself.

    In the past, you easily could force install a driver onto any device (it might cause a BSOD because it's definitely not compatible, but at least it would install.) Now, it halts, I want to see how to bypass this halt even if it just results in the system crashing. Aka, what causes the version check.

    Ignore the prior framework of the thread, looking for this info only.
     
  8. whitestar_999

    whitestar_999 MDL Addicted

    Dec 9, 2011
    739
    334
    30
    I think it may be related to wdm functionality in win 10 which will not let a newer driver install on an older wdm version in win 10 by crosschecking some hard coded parameters in driver files itself.
     
  9. Omicron16

    Omicron16 MDL Novice

    Jul 1, 2016
    23
    12
    0
    Alright, there we go, that's what I'm looking for. It also seems to apply to Windows 7 as well. I wonder if anyone has investigated as to whether or not you can override the check similar to how the WUFUC hook/patch works...

    Might result in a world of BSODs and crashes if the drivers could be used, but still worth investigating.
     
  10. whitestar_999

    whitestar_999 MDL Addicted

    Dec 9, 2011
    739
    334
    30
    #11 whitestar_999, Apr 15, 2018
    Last edited: Apr 16, 2018
    I don't have much knowledge about this but my guess is it is not possible otherwise someone would have done it by now.It probably requires reverse engineering of driver files & assembly language knowledge to bypass these hard coded checks which is not worth it.A lot of ppl want to run newest amd/nvidia gfx drivers on ltsb 2016 & even they are unable to do so as wdm version on ltsb 2016 is older than the one that comes with RS3 & which the latest drivers are based upon.

    https://forums.mydigitallife.net/th...3-1-pc-rs4_release.76728/page-97#post-1427006
    new updated link to above:
    https://forums.mydigitallife.net/th...3-1-pc-rs4_release.76728/page-96#post-1427006
     
  11. Omicron16

    Omicron16 MDL Novice

    Jul 1, 2016
    23
    12
    0
    Okay, yeah I figured - that's incredibly annoying and not at all where I want things to head. At least I got an answer.
     
  12. whitestar_999

    whitestar_999 MDL Addicted

    Dec 9, 2011
    739
    334
    30
  13. jeff69dini

    jeff69dini MDL Expert

    Nov 22, 2008
    1,023
    236
    60
    nvidia drivers are compatible on way back to ltsb 2015 as well, cause I use it, latest nvidia drivers, no problems at all!
     
  14. Omicron16

    Omicron16 MDL Novice

    Jul 1, 2016
    23
    12
    0
    It's great when the manufacturer does this, but not all are going to do it. That's the issue - one example might be that Intel will only release a driver for the latest Windows 10 for some mundane HD graphics. You have no choice but to use the latest version again...