One reason I think Linux (the kernel) would be a poor fit as a Windows replacement is the lack of a stable driver ABI. Linux is a monolithic kernel and all the drivers are expected to be part of it. It is a model that works because it fully embraces open source and community driven development. But not all manufacturers want that, first because they may not want to, open their code, or maybe they can't due to licensing arguments. It also means they need to invest significant resources into getting their code accepted by the community. The Windows driver model drove its rich hardware ecosystem. And if you think switching to a Linux driver model is going to be better, more free, think again, because we already have that with Android. Manufacturers fork the kernel and don't give much back to the community, just having them comply with the GPL is a struggle, and hardware support besides what is built into the phone is extremely limited, and because they don't work with the community, support for what's in the phone isn't carried on for more than a couple of years.
And Windows really strong point is backwards compatibility. For example, I still use the "free" Photoshop CS2, 20 years later, works perfectly fine as a binary, I can run stuff that dates back from the 3.11 era, though as I understand it, it is mostly emulation at this point. This is part of the reason people use Windows. Microsoft tried to start clean with Windows RT, it was a failure. Apple can get away with it because they have complete control over their ecosystem, not Microsoft.
Also, games.
On Windows, you sometimes cannot even install the OS without hunting down the right drivers for some piece of hardware like the RAID controller, if you can even find them. Most drivers are authored by the hardware vendors whose main competency may not be writing kernel code, so driver quality tends to be extremely variable. The result is often drivers that just don't work well (which can look like a hardware issue, e.g. lack of performance) or crash the whole system.
Not all Linux drivers are bug-free or feature-complete of course, but they tend to be reasonable or high quality due to the fact that they are written by and/or reviewed by the kernel community. Since all the drivers come with the kernel, the user generally has to do nothing to make their hardware work, it just does right out of the box.
(Notable exceptions here are vendors of certain video cards and wifi chips who refuse to either write Linux drivers or supply the information needed to write them. So you do have to be somewhat careful to avoid those vendors when purchasing hardware.)
I'm not a heavy gamer but my understanding is that a surprising number of popular games run just fine on Linux, thanks in part to the WINE community and the efforts of Valve.
This sounds like an experience from 2007.
For the past 5 years, every piece of hardware I have ever bought, even from aliexpress, either works automatically or downloads a driver from windows uodate automatically.
Coming back to linix, I want wifi 6 on my little linux server, and you have to hint down the few pieces of hardware that are compatiable.
I've also used a few other intel mini pcs, since the pricing for RPi went insane from limited availability... 8gb RPi 4's were going for close to or over $180, adding in a case, drive, power and the intel mini pc options were about the same price, coming with storage, ram, case, etc.
The "notable exceptions" of video cards and WiFi (and Bluetooth) chips are huge ones. But I would also add fancy keyboards/mice, printers, RGB, VR, etc... There is a video by LinusTechTips where they try to do tasks like printing a document or streaming a video game that I find very interesting because I think it is representative of what the experience of an experienced Windows user coming to Linux would be, and it is painful. If I remember well, at one point they have to run a Windows VM to have some of their hardware work.
Sound cards tend to have pretty good support, but as often with Linux, it is all about the details. You will get sound, but maybe you won't be able to reassign your outputs, or that physical volume knob won't work. In my case, which is a somewhat complex setup, I sometimes get Pulseaudio crashes and sync issues I don't have on Windows. The setup itself was a pain on both OSes, on one side, a mess of drivers and broken Windows 10 UI, on the other, obscure text file configuration and Pulseaudio plugins.
True but at a loss of performance compared to running the game natively on Windows.
But my problem wouldn't be with games, it would be with software I either use professionally or out of personal interest. Visual Studio, Photoshop, Lightroom, 3D Max.
Windows' strong point is basically some large software vendors just don't support Linux (Photoshop, finance software, etc). And of course corporate. For the day to day 'casual' user Linux is every bit as good. But, much as we all had to 'learn' Windows when we started using it, so there will be at least a little learning required for Linux.
Will have to see which direction things head over time.
Did you know Win32 runs as a subsystem on top of NT, as there are several more such as a subsystem for Unix?
Then again maybe the modern NT no longer has that capability.
> Microsoft's first foray into achieving Unix-like compatibility on Windows began with the Microsoft POSIX Subsystem, superseded by Windows Services for UNIX via MKS/Interix, which was eventually deprecated with the release of Windows 8.1.
There was also the possibility to run Linux software under Windows using coLinux.
I have a device in our work environment which runs on kernel 2.6.32, last patch 2014. Can't update the machine because they do not update the drivers for that machine's hardware. The "open" (aka diy) driver runs on 4.9 at the latest and won't be updated any further despite the EOL being only this year.
It's all about money, they just want you to buy the new hardware and cough up some extra cash for them.
If they are USB they just work.
I imagine something that uses a serial port or the microphone jack to function as a joystick would need a special driver, yes.
If you're saying that games work better than windows that they do in Linux I'd have to say that this is changing very quickly.
The proton layer is really changing the game on that. And it seems like many companies like Google will be moving to running applications in that environment. I could see The day where this leads to companies developing native applications for Linux.
You can with emulation, compatibility layers, stuff like Wine and DXVK and using Linux drivers. Also lots of software ends up being written in top of Electron, so it makes easier.
Will it be a great user experience? Probably not, but that's not the point. If it will win Microsoft some money, that would be enough of a reason.
A better idea would be open sourcing Windows if that is legally possible for them to do.