Because Windows gets direct support from most HW vendors, it's generic drivers don't have to be as good as Linux's in general, but still they work fine.
Printers are very special case. They are a shitshow in different ways between Windows and Linux.
Windows printer support is from like 1920s or some shit and they can't change it and it's just bad. BUT, if you have weird ass Xerox or HP with crazy features like a printer that will print, stable, copy, re-copy, and then automatically shred the documents and their copies is likely to only ever be controllable through some HP software from 2006 that hasn't been updated since then but somehow still works on Windows.
On linux, you get much better printing service and generic support, but depending on the popularity of your office printer and the popularity of particular feature you're trying to use, it might not be in the drivers.
> The first phase targets legacy drivers that have newer replacements already on Windows Update.
Closed-source bobs are closely tied to the kernel version, since the kernel’s internal ABI and API is constantly changing. There is some documentation on why here: https://github.com/torvalds/linux/blob/master/Documentation/...
But also because NT interface is mostly stable unlike linux. last really major version was 20 years ago and there Microsoft doesn't need to maintain 3rd party drivers in-tree. Also, the licensing and distribution mechanism and vehicles make certain things too complex.
Also plenty of people don't like these linux kernel images and build stripped down ones.
As the kernel is maintained, polished, and updated, all drivers are maintained as well.
Proprietary blobs otoh, will break quickly, and have to constantly keep up with new kernel releases.
> Linux Delivering Driver Fix For 30 Year Old Creative SoundBlaster AWE32 ISA Sound Card
Linux is more likely to have a driver for some obscure hardware, because no one has actually been comfortable removing it in the past decade, but it's also not actually tested on actual hardware. Unless it's an Itanium CPU, in which case the code is gone.
We had the same story regarding file systems last year. Technically Linux had a driver for an old Unix filesystem, but it had only been tested on filesystems made with the same driver/filesystem-code, not on actual disks with the original filesystem.
The Linux advantage is that if you really need that hardware to work, you might get lucky, and if not, you're not starting from scratch.