Microsoft: No Driver Updates Allowed for Win7 and Win8
osr.com
osr.com
Are there some number of important drivers that absolutely can't (rather than currently don't) pass WHQL/HLK tests? Sure, but I can't help but feel that the main "victims" of this will be shitty vendors with buggy drivers that have lagged in supporting newer Windows variants (and have thus kept their users stuck on older variants). Is OSR one of these shitty vendors? Maybe not, and they are a paragon of quality stuck in a rare corner case of WHQL/HLK compliance. But it does sound like they have spent the last year complaining about the policy change rather than working to meet WHQL/HLK compliance - I don't see any evidence in their post of working with MS to improve the WHQL/HLK tests.
So, its a big deal.
Once MS stops issuing updates, you don't have to worry about them reverting your changes.
You use the Studio/Controller UI to select and configure the tests and to find and select the driver on the remote server to be tested. Selecting tests is a bit odd on a software-only driver, but through trial-and-error and a lot of reading, I was able to find an appropriate set (it's a file system minifilter).
Once you start the tests, go find something else to do - the tests ran for about 12 hours in my case.
When you come back, you have to very carefully use the UI to collect the driver and the test results into a package file. You separately sign the package file with a cert that has been previously submitted to Msft (so they know who signed the package), then use the UI to upload the package to a Msft URL.
There's a website where you can view the signing process - it goes through several stages. In my case it took anywhere from 10 minutes to a few hours to get through all the stages. At the end, if all goes well, you'll be able to download a zip file that contains your driver signed by Msft. Once you have your driver, put it in an installer (we used WiX [0]) along with any other components (like a nice userspace tool for configuration, or to run as a service and load the driver to do useful things)
For a software only driver, it's a lot of busy work. I really don't think the HCK exercised my driver at all. Nevertheless, either me or the release engineer at work got through the process several times.
If your customers aren't willing to install unsigned drivers (and none of mine are), then the new driver will have to be put through the HLK tests and submitted to Msft for signing.
My issue isn't so much the testing/signing process, but that I've had an HCK test suite setup for the past 4 years that has worked just fine. It will have to be replaced w/an HLK test setup, the release engineer and I will have to learn a new process, and possibly get a new signing cert. It's not a trivial process, but one we can work through.
> the main "victims" of this will be shitty vendors with buggy drivers that lagged in supporting newer Windows variants
Some of us have to support customers who are running old versions of Windows, and sometimes we just need to add new features.
Think about what you're saying. There's no reason to denigrate vendors. Also, it's not always about bug fixes. A lot of us really care about the quality of our drivers and our customer's experience. It helps everyone stay in business.
Outside of a small set of drivers that WHQL/HLK testing may not work for, an unsigned driver means (1) the vendor doesn't care (i.e. "sold you expensive equipment and have you by the balls") and/or (2) the driver is a horrible buggy stability and security nightmare.
> A lot of us really care about the quality of our drivers and our customer's experience.
And for almost everyone, that means WHQL compliance.
A 95% solution which completely fails to account for the remaining 5% is an enormous problem. As the article explains, HLK testing isn't really designed for non-hardware drivers and the solutions are strange at best.
You're not actually improving quality in this case, you're just making us do convoluted busywork.
There's a lot common to driver development that's separate from purely interacting with hardware (memory management, filesystem interaction, security, etc), some of which the HLK covers. Plenty of non-hardware drivers are capable of bringing down the system or breaking things if they do something bad in kernel mode.
To be clear, the article is complaining about their specific case in which they claim to have a driver that explicitly violates nominal filesystem invariants and "cannot" pass HLK testing, not that HLK compliance is inherently a bad fit. Whether or not a different set of tests or a negotiated "Contingency" test filter are possible is a different question.
But, with all due respect, Mr. cpgxiii, you seem to not understand the vast extent of systems that use Windows.
It is simply NOT POSSIBLE to run the HLKs on certain hardware systems. Let me give you a few examples:
We write a driver for an unmanned aircraft. The driver runs on a custom processor box, with custom, on-board hardware, that's inside the aircraft. This custom system will not support the HLK client. Ever. The hardware for which we've written the driver cannot be separated from the custom system. This customer is now screwed.
We write a driver for a device that lives in a piece of industrial equipment. Even if we could pull the boards for which the driver was written, and stick them into a system that was capable of serving as an HLK client, the hardware is designed in such as a way that is designed to be never powered off. This device, therefore, does not support ANY non D0 power states. While it might be possible to get his device to pass the HLKs with a LOT of work, it's unlikely.
There are a lot of drivers/devices in the world that fall into similar categories to those above.
And, there is the case of File System Isolation Minifilters. Any such driver will never pass all 80,000 WLK tests (that's a real number, by the way) due to the way these tests are written. We have worked with MSFT for YEARS to try to get the Minifilter tests to treat Isolation Minifilters specially. MSFT simply does not have sufficient motivation to make this happen.
So, yeah, easy to say "just pass the HLKs" -- I wish it were that easy.
What kind of equipment is like this? Or is it common for factory equipment or something? And what would be the consequence of a total power outage (including generators failing, I guess)?
This isn't something I've heard of before, it's interesting.
There's "The system was powered off, soooo... we're going to let the glass furnace cool down, and in a few hours when it's sufficiently cool and everything else in the plant is ready, we're going to start up the process again."
Needless to say, this isn't the sort of behavior that'll pass the HLKs.
They seem to be a company doing many custom development and will have hundreds (thousands?) of separate projects. It seems reasonable they wouldn't try to pass HLK for everything just in case it needs work in the future.
My naive understanding is that drivers are low-level and thus malicious drivers would have more net negative impact on an unsuspecting non-technical user (relative to a piece of malicious non-driver code).
This is the same as stating that you prefer many orders of magnitude more users to have unstable or insecure systems because they use products by a negligent vendor or are conned. That's hardly “anti-user” by any metric which covers mainstream users.
To me, this is an argument that code signing systems need to be tightly regulated to prevent abusing the system for reasons other than quality testing and accurate labeling.
https://www.engadget.com/2008-03-27-nvidia-drivers-responsib...
Or maybe he just likes content without flashiness and annoying sidebars, etc
If you care at all, even the smallest amount, explore the alternatives.
Essentially you're arguing that it is Linux or nothing, but in a very roundabout way.
New details emerge about forced Windows 10 upgrade -- and how to block it https://www.computerworld.com/article/3029613/new-details-em...
Microsoft’s latest trick: Clicking ‘X’ to dismiss Windows 10 upgrade doesn’t stop install https://www.extremetech.com/extreme/229040-microsofts-latest...
Microsoft accused of Windows 10 upgrade 'nasty trick' https://www.bbc.com/news/technology-36367221
No, it's not. Many users had their Win 7 computer "upgraded" to Win 10 even when they expressly didn't want that to happen.
Microsoft might have tried to deceive or even coerce users of its older operating systems in order to get them to accept an upgrade. However, the upgrade was not forced, because you could (and some people did) avoid moving to the new version.
It does not usefully advance the discussion about Microsoft's behaviour to misrepresent what happened. There's plenty to criticise without the hyperbole, after all.
There are many documented cases of it happening against the users wishes.
That you're unwilling to even do a basic search online about this just means, you've already made up your mind. Even though the facts are completely the opposite to what you've decided to believe.
Now the reason I say semi-forced is that it was still possible to cancel it. The automatic process got paused at the EULA acceptance screen and if you chose not to accept the license terms then the installer would start a lengthy rollback process and eventually get you back to Windows 7.
On my own computer I never experienced this because I proactively chose hide update for any Windows 10 related patch.
I wouldn't do that if it weren't a personal machine, however, because the "official" upgrade process ended a long time ago. Even using it for a home office might put you into questionable legal territory, but it's still possible.
I do think your last statement is more accurate, though. It really feels that they're subversively pushing as many people away from Win7/8 as possible by unofficially allowing upgrades through existing channels. Maybe I'm wrong, but I don't find it especially nefarious.
I don't even use Windows (I have family that does). I'm a Linux user.
I did a clean install and entered the Win7 key. Hadn't actually thought much beyond that.
Drivers are a huge pain on both Windows as well as Linux. We're at 2020 now and still software development hasn't been able to separate drivers from the operating system, make them OS agnostic and easily updatable without all sorts of breakages.
I think the state of support for Linux and open source in general is much, much worse than for commercial software.
No one is maintaining >10 year old software. Especially not for free.
Do note that this is not a story about not being able to run Win 7 anymore - it's simply about having it more difficult to release and install new drivers on it.
I wouldn't say that is actively maintained or supported.
I say this as a happy Linux user at home. But I need to use Windows for work because of multiple programs that do not run on any other target. In school (this has changed a bit) I need to use Microsoft PowerPoint, Excel, and Word. At home I still have to dual boot Windows to play games with my friends.
There really isn't an alternative, even if you wanted to pay money for it.
If you want an example of this that I've been fighting for the last week, Steam doesn't launch after the first installation on my machine running Pop!_OS 20.04. There's a half dozen things I've tried to fix that, all the related issues are unresolved or partially resolved from comments on GitHub, and my current solution is to reboot and use Windows. Linux is not suitable for personal computing today.
> At home I still have to dual boot Windows to play games with my friends.
In most cases you may execute such programs & games under Linux via WINE (+ Mono, PlayOnLinux, Winetricks; if needed).[0]
> In school (this has changed a bit) I need to use Microsoft PowerPoint, Excel, and Word.
Use LibreOffice Impress, Calc, and Writer instead.[1]
> There really isn't an alternative, even if you wanted to pay money for it.
Scroll up and read again.
[0] https://www.gamingonlinux.com/wiki/Wine
[1] https://blog.documentfoundation.org/blog/2020/03/24/libreoff...
I do this for most games I want to play (and many are available natively on Linux these days!) but there are a few games with intrusive DRM that stop you from playing them on Linux.
I have an older laptop lying around running Windows that I use for those if they’re not too demanding. Otherwise I’ll buy them on a console, though I tend to only buy consoles after they’ve been out for several years these days.
Is it from Steam? (FTR, There is already Steam for Linux too)
BTW, report any issues with apps & games not working under WINE to WineHQ devs.[0]
And while LibreOffice isn't bad as an office suite in its own right, MS Office is the still de facto standard in many lines of work, and being 95% compatible when you export as an Excel spreadsheet or Word document just doesn't cut it for professional use.
Until not just Windows but also the major software packages that run on it are no longer the dominant standards, it's always going to be an uphill battle moving normal people onto an alternative platform like Linux, and one that often can't be won today.
Wine does not solve my problems, especially when DRM or anticheat is involved. It also doesn't work well on HDPI monitors. I have a few ancient Windows programs I've tried to use in Wine that are very hard to read on a 4K monitor, while on Windows they look fine. It would have been ok 10 years ago, but not for my eyes today
When I say "needed to use" it's not synonymous with "there was no other software with similar functionality." It means "I need to create and share documents or files with colleagues, fellow students, and professors, as well as work with them in the same room." LibreOffice is not the solution to this problem, GSuite is. Partially.
Before getting snarky, I encourage you to think a bit more critically about what it entails for non-power user to get up to speed on Linux. The command line is out of the question, reconfiguring a host of config files or buried options and googling through Ubuntu and stack overflow posts isn't a solution, and constantly tweaking things just to get to a point where "double click this icon" works isn't a solution when on windows and MacOS you don't have those issues.
That's what I mean by "there isn't an alternative."
This may have been true in 200x, but these days, both of those aren't so hot with respect to quality and just working.
I hope that will also be the case here.
Nothing is really changing on the user's side. They might not get new drivers going forward if the company doesn't want to or can't pass HKL, but Windows 7 is out of support at this point. Windows 8 is still supported, to be fair, but I don't know of many people who actually run it; it's either 7 or 10.
It seems to me that the developer experience, ecosystem and driver support is worse in literally every single way, not to mention you don't have control over the OS code.
We have to ship updates to our bootable Linux and BSD applications every six months just so customers don’t get stuck in text mode, or worse yet, without a frame buffer after BIOS posts. Never had that problem with WinPE (RIP).
I’m not talking about KMS, that’s another ballgame altogether. You ship a fixed image starting up on unknown hardware that could have any card from 1999 to 2020 in it. You can’t load all drivers at startup because a) that’s crazy talk, b) many can’t be loaded simultaneously anyway. You can manually identify the VID and PID and create a database but it’s a monumental task, and you’re bound to miss some (and what about new releases?). You don’t want to ship with every driver under the sun anyway, because that’s huge, there are licensing issues, and many are buggy or error prone on recent kernel releases. All you want is a basic driver to give you a software-accelerated framebuffer and use the generic VGA/SVGA/XVGA/whatever standards to init the hardware, give you a workable resolution for GUI mode applications, query the monitor and use the EDID database to select a resolution and refresh rate supported by both the hardware and the attached display device, use the correct aspect ratio, avoid overscan or unnecessary scaling, etc. and give you an abstraction supported by your desktop environment including the window manager and your applications, without needing to hack away at every program you ship with to get them to support the sw framebuffer.
Xfree86 was such an effort but a) it’s long dead, and b) never really got there.
Mostly it’s just that the video abstraction on Linux is driver-dependent (eg access to video device/fb is dependent on choice of driver) functioning at a lower level than the Windows equivalent.
I’m not sure if it’s true but I hear Wayland is throwing away all support for non-drm framebuffers?
Ah, but you don't buy this, you license it. That's where they get you. I agree it's very anti-consumer, but it's going to get worse.
> Imagine if you bought a car and then 5 years later company rep would come in and welded the wheels so that you wouldn't be able to upgrade your tires.
Did I mention it will get worse? Maybe not with the silly welding tires example, but we're basically there. John Deere, Tesla, Apple, and others are all deploying clever tactics to lock the consumer out of the things they buy so that they can rake in even more cash.
No you don't. You buy a limited license to use and replicate the binary for personal use.
You don't "buy" anything but the physical medium the binary code shipped on. Transferring ownership of a medium containing the binary code to a third party (bought or otherwise) ends your license to use the binary, no matter if you retain a physical copy.
You also don't have the right to use the binary in ways not covered by the license (e.g. reverse engineering outside of the given right to ensure compatibility). This may include executing a copy on more than one machine or by a third party.
Finally, there's also a difference between violating licensing terms and such violations being persecuted criminally.
An individual might get away with it, but as soon as either commercial activity is so much as suspected or a company does it, there will be legal consequences in Germany, too.
Source: first hand experience with licensing audits in several companies involving multiple software vendors (not just Microsoft)
reality says otherwise: https://www.dr-bahr.com/news/verkauf-eines-nicht-aktivierten...
Why is it that people still don't understand the difference between selling software licenses and using said licenses?
The decision was explicitly about non-activated licences and didn't include the right to continue using a license of a sold product.
EuGH C128/11 explicitly states that you have to delete/invalidate any copy of used software that you sell.
The Vergabekammer Münster Az. VK 1-2/16 doesn't disagree wih that ruling either and neither do BGH Rs. I ZR 129/08 and Az. I ZR 8/13, which simply state that reselling volume licences is allowed.
Nowhere was a ruling made that didn't require uninstalling and deleting existing installations after resale.
And you might want to read EuGH Rs. C-128/11.
Nowhere does it allow reselling used software that is still activated. It only concerns the right to make copies for personal use (well, duh), and reselling non-activated keys as well as software packages associated with it.
The license terms concerning the use (e.g. activation) are NOT subject of the ruling. Why is that so hard to understand? Copying software and the license to USE said software legally are two different issues.
It's akin to the difference between property and possession. Being in possession of and selling a (digital) copy of a piece of software doesn't imply ownership of said software and the license involved.
But please feel free to provide me with a ruling that says otherwise.
You won't get support from Microsoft in doing so, but you'll be able to continue using Windows 7 and will have to find an alternative way of validating the drivers.
TLDR: You're screwed if you did nothing for 7 years that the redeem option is available.
[0] https://docs.microsoft.com/en-us/lifecycle/faq/windows#what-...