How can you fix Windows 10 driver problems? Microsoft solves issue with this bizarre solution
To prevent a multitude of driver errors, Microsoft backdates all Windows drivers to 21 June 2006.
This might sound rather strange, but if you've ever taken a closer look at the Windows drivers on your PC, you might have noticed that they all seem to be set to the same date 10 years ago – 21 June 2006.
That's right, every single Windows driver says it was last updated on that fateful day, including drivers for Microsoft products that didn't even exist in 2006. So what's going on?
Veteran Microsoft engineer Raymond Chen says that there is in fact a method to the madness. Microsoft does continue to update all supported Windows drivers constantly, but while the version number changes, the timestamp of 21 June 2006 always stays the same.
This is apparently because when the Windows system is searching for the right driver to use for a particular piece of hardware, it is programmed to select the driver that mostly perfectly matches the hardware ID.
If there is only one driver that is a perfect match, then it is simple, but if more than one driver comes up in the search results, then the system then ranks the results by the most recent timestamp. Only if there is still too many perfect matches, will the system then consider the driver that has the highest file version number.
So for example, let's say there are two drivers at the top of the match results – a Windows driver and a custom driver provided by the PC manufacturer. The custom driver has one date, but when Windows updates the operating system, suddenly the Windows driver has a timestamp that is newer than the manufacturer's custom driver.
This is really bad, because if the Windows driver has a newer timestamp, suddenly all the custom drivers provided by the PC manufacturer get replaced (and if this sounds familiar, it's because this has been a huge issue plaguing consumers with the Windows 10 operating system since it launched in June 2015).
'A profound purpose'
"Intentionally backdating the drivers avoids this problem. It means that if you have a custom manufacturer-provided driver, it will retain priority over the Windows-provided driver. On the other hand, if your existing driver was the Windows-provided driver from an earlier build, then the third-level selection rule will choose the one with the higher version number, which is the one from the more recent build," Chen writes in a post on the Microsoft Developer blog.
"It all works out in the end, but it does look a bit funny. [My colleague] Zac told me, 'It's an awesome example of something that seems stupid and insignificant turning out to have a profound purpose.'"
The problem is, a lot of software developers are not impressed, and they definitely don't think that Microsoft's workaround is "profound".
"If it's stupid but it works, it's still stupid and you just got lucky," writes Hacker News user wyqydsyq, while the user virtualized says: "A typical Microsoft / cowboy programmer 'solution'. Ever wonder why Microsoft products are so buggy and unreliable in every possible way? That's because they are built from hacks upon hacks just like this one with no regard for the user experience."
"It's a profoundly bad hack. How can anyone justify this? Fix your driver negotiation mechanism. This is like a "Hm, well, I do like weekends and it's 4pm on a Friday..." solution," says user astrodust.
Other users have defended Microsoft, such as the user breischi, who points out that the computing giant has thousands of legacy Windows drivers, so it will be pretty expensive and difficult to retest, compile and distribute all them again.
"My first thought was 'how ridiculous', but then I started to think of all the times I've utilised 'hacks' like these to get projects working and it's humbling to see that even at the highest level sometimes we are in 'just make it work' mode," writes user 40acres.
So what else can Microsoft do, without backdating all its drivers?
User jewbacca suggests that the best thing for Microsoft to do would be to create separate directories for all the system and vendor drivers, and ensure that the system directory is given the lowest priority, while the user DashRattlesnake suggests that if you were to add metadata to the Windows drivers, so that the system knows that they are lower in priority than the manufacturer's drivers.
Another idea would be to sign Microsoft drivers with a special Microsoft key, and then to get the system to assign all Microsoft signed drivers a lower rank than other drivers.
User russellbeattie sums up the frustration over the continued Windows 10 updates that wipe out drivers perfectly: "Every Windows box is different from every other one. Some Windows drivers are way more stable, less-bloated or functional than the OEM's drivers (personal example: Realtek audio) on certain hardware, other times (as seen in this thread) it's the exact opposite. Managing and selecting which driver works well on your particular combo of hardware, and preventing auto updates from overriding your choices should be a top priority for Microsoft.
"They desperately want Windows to be as user-friendly as macOS in this area, but the reality is that Windows runs on heterogeneous hardware and in practical terms, it just doesn't work. Right now forcing one particular driver over another is an exercise in pain and uncertainty. You never know if tomorrow you'll wake up to your microphone not working (again) because of an overnight update. It's silly. Just give end users a friendly interface and stop the nightmares."
© Copyright IBTimes 2024. All rights reserved.